ingest
→ validate source
→ normalize
→ classify sensitivity
→ attach metadata/ACL
→ chunk
→ index
→ retrieve with authorization
→ rerank
→ context policy
→ generate
→ preserve evidence
- não indexar secrets, credenciais ou dumps sem necessidade explícita;
- registrar provenance/source;
- associar tenant/owner/ACL antes do documento entrar no índice;
- versionar documentos mutáveis;
- retirar documentos deletados de todas as camadas de cache/índice.
O filtro de autorização deve acontecer antes de o conteúdo chegar ao modelo.
identity + tenant + permissions
↓
authorized candidate set
↓
semantic/vector retrieval
↓
rerank
↓
model context
Evite recuperar globalmente e pedir ao modelo que "ignore" documentos sem permissão.
Separar:
Contexto temporário da conversa/run.
Fatos persistidos para reutilização futura.
Para memória persistente, definir:
- quem pode escrever;
- o que pode ser lembrado;
- provenance;
- TTL/retenção;
- correção e deleção;
- isolamento por usuário/tenant;
- critérios para não salvar informação.
Memória e RAG podem informar o agente, mas não concedem permissão para uma ação.
- usuário A não recupera conteúdo do usuário B;
- tenant A não recupera conteúdo do tenant B;
- exclusão remove conteúdo do retrieval;
- alteração de ACL tem efeito no índice;
- documento contendo prompt injection não muda policy;
- memória maliciosa não autoriza tool crítica;
- logs de retrieval não expõem conteúdo sensível desnecessariamente.