Regras determinísticas
O motor rules-v1 percorre valores de texto em objetos e arrays JSON. Expressões regulares identificam e-mail, telefone, endereço e identificadores com contexto. Chaves de objetos e valores numéricos não são examinados como texto.
CPF e CNPJ numérico passam por módulo 11, comparação dos dois dígitos verificadores e rejeição de sequências repetidas. Isso verifica a estrutura, sem consultar cadastro ou comprovar titularidade. CNPJ alfanumérico não é coberto por esse detector.
CNS, CRM, prontuário, convênio e datas clínicas usam padrões e palavras de contexto; não recebem a mesma validação matemática de CPF/CNPJ. Nomes na base determinística dependem de uma lista configurada, sem reconhecimento geral de pessoas.
Políticas com efeito definido
placeholder substitui ocorrências por marcadores e reaproveita o marcador de um valor normalizado na mesma categoria e requisição. O mapa é efêmero, sem tabela persistente de restauração.
redact troca o trecho por [REMOVIDO]. Em /v1/privacy/clean, block interrompe a limpeza com HTTP 422 quando encontra dados pessoais, sem devolver o texto bloqueado.
Na API de inferência, monitor observa e registra ocorrências, mas preserva o texto. O endpoint de limpeza não aceita essa política. A organização limita as opções permitidas; instruções dentro do texto não alteram a autorização.
Como calculamos os dígitos verificadores?
Após remover a pontuação, CPF exige 11 dígitos e CNPJ numérico exige 14. Para cada dígito verificador, calculamos a soma ponderada, seu resto por 11 e o dígito esperado. O segundo cálculo inclui o primeiro dígito calculado.
CPF DV1: [10, 9, 8, 7, 6, 5, 4, 3, 2]
CPF DV2: [11, 10, 9, 8, 7, 6, 5, 4, 3, 2]
CNPJ DV1: [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
CNPJ DV2: [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
r = sum(digit[i] * weight[i]) % 11
dv = r < 2 ? 0 : 11 - r
Uma sequência rejeitada pelo checksum ainda pode coincidir com outro padrão, como telefone. A classificação é por categoria, não uma garantia de que todo número inválido permanecerá intacto.
Stack e fronteiras de dados
Gateway em TypeScript sobre Cloudflare Workers; páginas estáticas; D1 para metadados e R2 para o arquivo de auditoria. O fluxo de mídia extrai ou transcreve o conteúdo antes de aplicar a barreira textual. Erros de OCR ou transcrição podem reduzir a cobertura.
A auditoria usa AES-256-GCM, IV aleatório de 96 bits e dados associados autenticados. Quando habilitada, pode reter o conteúdo original e tratado de forma cifrada, com acesso restrito e expiração. Os logs operacionais não devem conter o texto bruto. Criptografia protege o arquivo; não corrige uma falha de detecção.
NIST SP 800-38D — fundamento do GCM