O que está implementado
Isolamento entre clínicas
Toda consulta ao banco exige a identificação da clínica. Não é convenção de escrita: os serviços são exercitados nos testes com o escopo de outra clínica justamente para provar que recusam a operação.
Permissão verificada no servidor
Quatro perfis: proprietário, administrador, recepção e profissional. A tela esconde o que a pessoa não pode fazer, e o servidor recusa a ação mesmo que alguém chegue nela por outro caminho.
Autenticação e sessão
Senhas armazenadas com bcrypt e 12 rounds. Sessões persistidas e revogáveis na hora, com validade de 30 dias e expiração por inatividade em 12 horas. Um notebook esquecido na recepção não fica com prontuários abertos por um mês.
Trilha de auditoria
Operações críticas registram quem executou, o que havia antes e o que passou a valer. É o que responde “quem cancelou essa consulta?” sem depender da memória de ninguém.
Transporte e cabeçalhos
HTTPS obrigatório com HSTS. Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy e Permissions-Policy aplicados em todas as respostas. O painel não pode ser embutido em iframe de terceiro.
Integridade das integrações
A assinatura dos webhooks recebidos da Meta é verificada em tempo constante antes de qualquer processamento, e cada mensagem tem identificador externo para evitar processamento duplicado.
Backup
Backup diário automatizado dos bancos de dados, com retenção em janela móvel. Restauração testada a partir dos próprios arquivos gerados.
Segredos e configuração
Credenciais vivem apenas em variáveis de ambiente do servidor, nunca no código nem no navegador. A aplicação falha na inicialização se uma variável obrigatória estiver ausente ou fraca.