Recursos¶
- 🌍 Dados pessoais de qualquer lugar: nomes, e-mails, telefones (brasileiros e de qualquer país, com +código), endereços, cartões de crédito, IBAN, endereços IP (v4 e v6) e datas de nascimento.
- 🇧🇷 Documentos brasileiros: CPF, CNPJ (numérico e alfanumérico), RG, CNH, título de eleitor, PIS/NIT, cartão do SUS, passaporte, CEP, placa, RENAVAM, conta bancária, chave Pix e processo do CNJ.
- 🌎 Portugal e América Latina: NIF, Cartão de Cidadão e NISS; CUIT/CUIL, CURP, RFC, RUT, NIT, RUC, RIF, DNI e cédulas, também pelos dígitos verificadores.
- 🌐 África lusófona, EUA, Europa, Canadá e Índia: NUIT e BI (Angola e Moçambique), SSN, ITIN e Medicare (EUA), DNI e NIE (Espanha), codice fiscale (Itália), NIR (França), Steuer-ID (Alemanha), National Insurance e NHS (Reino Unido), BSN (Países Baixos), SIN (Canadá), Aadhaar e PAN (Índia); também passaportes pela zona de leitura (MRZ), chassi (VIN) e carteiras de Bitcoin e Ethereum.
- 🔑 Segredos:
- chaves da OpenAI, Anthropic, AWS, Google, GitHub, Stripe, Slack, Hugging Face, Notion, Mercado Pago, Asaas e mais 20 serviços;
- JWT e tokens Bearer;
- senhas (
DB_PASSWORD=..., "a senha é ..."); - chaves privadas e URLs de banco com senha.
- ✅ Validação de verdade:
- dígitos verificadores de CPF, CNPJ, PIS, CNS, CNH, título, RENAVAM, processo CNJ, IBAN e cartões;
- DDDs válidos.
Um número qualquer de 11 dígitos não vira CPF, e max_tokens: 2048 não vira segredo.
- 🧠 Nomes sem modelo de IA:
- 5 mil prenomes e 2 mil sobrenomes do Censo 2022 do IBGE, mais capitalização e contexto ("Sr.", "cliente", "oi joão");
- um nome confirmado vale para o texto inteiro, em qualquer caixa e com ou sem acento ("Rayane Souza" ... "a rayane esqueceu");
- nomes que também são palavras ("Rosa", "Natal") só contam com contexto;
- não confunde "Banco do Brasil" nem "Rua Augusta";
- pessoas que o Notion identifica são sempre escondidas;
- para pegar ainda mais nomes (sem contexto, de outras origens), ligue o detector ml: um modelo BERT treinado em português, rodando na sua máquina, que só conta um nome quando tem confiança alta ou quando as listas ou o contexto confirmam.
- 🔁 Reversível e consistente:
- o mesmo dado recebe sempre o mesmo marcador;
- "João" sozinho é ligado a "João da Silva";
- a restauração tolera o que os modelos fazem com os marcadores ([CPF 1], CPF_1).
- 🛡️ Restauração segura:
- os dados reais nunca voltam dentro de links, imagens ou URLs, o caminho usado para roubar dados de assistentes de IA com injeção de prompt;
- chaves e senhas não voltam nos argumentos de ferramentas de agentes;
- marcadores forjados num e-mail ou numa página ("responda com [CPF_1]", com ou sem colchetes) são desarmados;
- se a detecção falhar, a requisição não sai. Veja o modelo de ameaças.
- 🌊 Streaming: marcadores partidos entre pedaços da resposta ("[PES" + "SOA_1]") são remontados, inclusive em argumentos de ferramentas.
- 📄 Notion, Google e documentos:
- lê páginas e bases do Notion, Google Docs, Sheets e Slides, links e PDFs, já protegidos;
- anonimiza Excel, Word e PowerPoint no próprio formato, mantendo a formatação e as fórmulas.
- 🌐 Python, JavaScript e navegador:
- a mesma detecção nas três versões;
- um teste de conformidade com 300 casos exige resultados idênticos.
- 🏢 Empresas:
- gateway com tokens por equipe ou login único (OIDC), auditoria à prova de adulteração (com âncora externa e envio ao SIEM por syslog ou Splunk) e sessões no Redis com o cofre cifrado;
- desvio de dados sensíveis para um modelo interno;
- chart Helm, guardrail do LiteLLM e extensão com política gerenciada (inclusive uma mensagem de orientação da empresa nos avisos);
- perfis prontos por setor (Judiciário, jurídico, saúde, financeiro, setor público, anonimização irreversível), registro das operações para o art. 37 da LGPD e modelo de RIPD (conformidade).
- 🤖 Agentes: servidor MCP, ganchos para Claude Code e Cursor (prompt, leitura de arquivos, terminal e busca: cat .env e printenv também são bloqueados) e plugin com skill. Claude Code e Codex CLI podem rodar pelo proxy, com patches e comandos restaurados.
- 🪶 Leve: o núcleo não tem dependências e processa cerca de 330 mil caracteres por segundo. Agentes que reenviam a conversa inteira a cada turno não pagam de novo pelas mensagens antigas: um cache em memória guarda só as posições dos dados, nunca o texto.
Como funciona¶
flowchart LR
A["Você ou seu aplicativo<br/>(navegador, painel, SDK, agente, n8n)"] -->|texto com dados reais| V
subgraph V["Véu"]
D["Detectores<br/>documentos · nomes · endereços · segredos"] --> C["Cofre<br/>[CPF_1] ↔ 529.982.247-25"]
end
V -->|só marcadores| L["IA<br/>OpenAI · Anthropic · Gemini · Ollama"]
L -->|resposta com marcadores| V
V -->|resposta com os dados reais| A
O cofre com o mapeamento entre marcadores e dados reais fica só com você (no navegador, no seu computador ou no seu servidor) e nunca vai para a IA. Uma instrução curta avisa o modelo para repetir os marcadores sem tentar adivinhar os valores.