Sigilo por construção. A coluna sensível está ausente, não trancada.
A identificação é descartada na porta sem termo, ou vai ao cofre isolado. Quem reabre é o servidor do app — nunca o modelo — nominal por apólice e sempre registrado. Minimização acontece na entrada, não na saída.
Com termo, a identificação vai ao cofre. Sem termo, é descartada na porta.
A trava vive no cofre, não no chamador — mesmo o agente chamando direto é barrado. Vestir “médico” não cria termo: o termo é nominal, por 12 meses, com o hash do PDF assinado (o PDF não sobe ao servidor — o navegador calcula o SHA-256).
Persona = uma região em N × C × escopo. Não é uma view filtrada: é um mart físico por nível — o dado que a persona não pode ver não existe na camada que ela consulta.
Não existe caminho para nome ou CPF que não passe por esse log: quem, quando, qual beneficiário e com que finalidade. Registro ilustrativo.
O modelo nunca vê identidade — só hash e agregado cruzam a fronteira.
O app orquestra agentes especialistas que propõem consultas somente-leitura, filtradas por um validador e pelo teto da persona. O que sai da infraestrutura health[ops] para o provedor do modelo é dado desidentificado mais o dicionário de schema. Nome e CPF nunca entram no prompt.
- 80% gold · Postgres (RLS, cofre isolado)
- 20% raw · warehouse, por intenção
- pack regulatório · pack atuarial · dicionário de schema
agregado→resposta + tool calls
Quatro pilares — e uma lista do que não existe aqui.
Toda flag de visibilidade nasce falsa. Um bug que fecha demais é um chamado de suporte; um que abre demais é um incidente. Escolhemos o primeiro.
Tudo que sai para a corretora vem em grupos de pelo menos 5 vidas, e diagnóstico nunca aparece por pessoa. A identidade, quando autorizada, é aberta pelo servidor da aplicação — nunca pelo modelo de IA.
Allowlist por pessoa (quem pode) é independente do SSO (como entra). Nunca autorizamos por domínio de e-mail.
RLS multi-tenant desde a primeira migration. Agente com whitelist deny-by-default. Tenant A não vê linha de B — testado antes de cada entrega, não só prometido.
- Chave que ignore o isolamento entre clientes. Não existe no projeto. Se um dia for inevitável, é decisão do CTO, em cofre de segredos, restrita a um endpoint.
- Autorização por domínio de e-mail. Liberar um domínio libera a corretora inteira quando só duas pessoas deveriam entrar. A allowlist é por pessoa.
- Senha das bases do cliente guardada na plataforma. Registramos apenas onde a credencial vive.
- CID individual na saída. Sempre agregado. Persona de saúde enxerga CID; a corretora recebe sigilo fechado. O agente aponta divergência e cita a norma — não conclui nexo causal.
- Dado identificado no prompt do modelo. Nome e CPF não cruzam a fronteira. Quem abre o cofre é o servidor do app, com termo, e fica registrado.
Veja o que o health[ops] encontraria na sua carteira.
30 minutos, com a sua carteira e a série da ANS na mesa. Você sai com 3 achados prioritários — número, evidência e fonte — e decide se quer ver o resto.