Perguntas frequentes
As sete perguntas que a sua área de segurança vai fazer.
Respostas curtas e autocontidas, prontas para serem copiadas para o formulário de
avaliação de fornecedor da sua instituição. Cada uma tem endereço próprio nesta página,
para você mandar o link direto de uma delas.
Como o Clarear Saúde impede que uma organização veja os dados de outra?
O isolamento é aplicado em duas camadas independentes. Na API, cada operação verifica
organização, unidade, papel e permissão antes de executar. No banco de dados PostgreSQL,
políticas de Row Level Security filtram as linhas por organização e por unidade. Uma
camada nunca substitui a outra, e a negação é exercitada por teste automatizado a cada
alteração.
A aplicação pode ignorar as políticas de segurança do banco?
Não. A aplicação conecta com um papel sem SUPERUSER e sem BYPASSRLS, então as políticas
valem também para ela. Além disso, a API informa ao banco apenas o identificador do
usuário autenticado: não informa a organização, não informa a unidade e não informa as
permissões. O banco deriva tudo isso sozinho.
Como é possível buscar por CPF sem guardar o número em texto claro?
A busca usa um código determinístico derivado do CPF por HMAC-SHA256 com um segredo do
servidor. O mesmo CPF gera sempre o mesmo código, o que permite localizar o cadastro, e
o código não permite voltar ao número original. Não existe índice sobre texto claro, e a
tela nunca exibe o documento completo.
Dado clínico ou credencial aparece em algum log?
Não. O registro técnico nunca recebe dado pessoal, dado clínico, token ou credencial: o
componente de log tem função de redação, e a auditoria recusa chaves sensíveis por
gatilho no próprio banco. A trilha de auditoria guarda a referência do que foi acessado
e por quem, e não o conteúdo do que foi lido.
A trilha de auditoria pode ser alterada ou apagada?
Não. A trilha é append-only: não aceita alteração nem remoção, e isso é garantido por
permissão do banco e por gatilho, não por disciplina de quem escreve o código. Toda ação
sensível gera registro na mesma transação da operação, o que impede que uma delas exista
sem a outra. A tentativa negada também é registrada.
O navegador conversa diretamente com o banco de dados?
Nunca. O navegador fala apenas com a API, e a API é a única camada autorizada a tocar
dado clínico. Chave de provedor de inteligência artificial, credencial de banco e
segredo de sessão existem somente no servidor. Um verificador roda no build e falha a
publicação se encontrar segredo, comentário ou endereço interno no que iria ao navegador.
Como uma mudança na estrutura do banco chega em produção?
Por arquivo de migração numerado e versionado, revisado antes de rodar e com plano de
volta escrito. Produção nunca é alterada à mão. As migrações são aplicadas
automaticamente na publicação, depois da verificação automatizada passar, e voltar a
versão da aplicação não desfaz migração: o schema só anda para frente.