Construir sistemas resilientes não significa apenas programar para o cenário ideal; significa, primordialmente, projetar como o sistema irá se comportar quando o inevitável acontecer: a falha. Mecanismos básicos como blocos try..catch funcionam de maneira análoga às estruturas condicionais if..then..else, mas com o propósito explícito de tratar erros de forma elegante, impedindo o colapso imediato da aplicação.
No entanto, quando subimos um degrau na arquitetura de segurança e design de produtos, nos deparamos com termos frequentemente confundidos, mas que ditam a sobrevivência do negócio, dos dados e das pessoas: fail-soft, fail-secure, fail-safe, fail-open e fail-closed. A grande confusão geralmente ocorre porque o significado desses conceitos muda drasticamente dependendo do contexto: se estamos falando do mundo físico ou do ambiente digital?
O Mundo Físico vs. O Mundo Digital
No design de segurança, a prioridade máxima dita o comportamento da falha:
- No mundo físico: As entidades priorizam quase sempre a proteção da vida humana e das pessoas.
- No mundo digital: O foco está na proteção de ativos digitais, guiado pelos pilares da Tríade CIA (Confidencialidade, Integridade e Disponibilidade).
O Conceito de Fail-Soft
Se uma falha total não é uma opção aceitável, o arquiteto de softwares precisa projetar um comportamento de degradação graciosa. Entrar em modo Fail-Soft significa permitir que o sistema continue operando mesmo após a falha de um componente específico. É a alternativa direta a deixar que um erro localizado derrube toda a infraestrutura.
Exemplo: Um sistema operacional multitarefa moderno que suporta dezenas de aplicações simultâneas. Se um único aplicativo falhar ou travar, os outros continuam operando normalmente, isolados do erro original.
Fail-Safe (Físico)
Quando a segurança humana é a prioridade, chamamos o comportamento de fail-safe. Em caso de pane, o dispositivo reverte para um estado que protege a saúde e a vida das pessoas. Por exemplo, uma porta eletrônica fail-safe se destranca automaticamente se faltar energia elétrica, permitindo que as pessoas evacuem o prédio em uma emergência, mesmo que isso signifique expor temporariamente os bens materiais do local.
Fail-Secure / Fail-Closed (Físico)
Existem cenários físicos onde os ativos guardados possuem prioridade crítica (ex: cofres bancários, laboratórios de segurança biológica ou data centers). Nesses casos, o sistema adota o modo fail-secure: se faltar energia, a porta permanece trancada, sacrificando o fluxo de pessoas para blindar o ativo.
A Perspectiva Digital: Fail-Open vs. Fail-Closed
Quando migramos exclusivamente para a engenharia de software e redes, os termos ganham uma tradução direta baseada nos requisitos de negócio:
- Fail-Open (Prioridade: Disponibilidade): Se o mecanismo de segurança falhar, o fluxo ou a comunicação é permitido. Pense em um firewall de borda que, ao travar por sobrecarga, decide deixar todo o tráfego passar sem filtragem. A disponibilidade do serviço é mantida, mas a confidencialidade e a integridade são sacrificadas.
- Fail-Closed / Fail-Secure (Prioridade: Confidencialidade e Integridade): Se o componente falhar, o acesso é completamente cortado. Usando o mesmo exemplo do firewall: se ele falhar em modo fail-closed, toda a rede perde o acesso à internet. O ativo deixa de funcionar (sacrifica-se a disponibilidade), mas nenhum pacote malicioso ou não autorizado entra na rede.

Referencias
CHAPPLE, Mike; STEWART, James Michael; GIBSON, Darril. ISC2 CISSP Certified Information Systems Security Professional Official Study Guide. 10. ed.: John Wiley & Sons, 2024.