Até 06/set, tudo que era estrangeiro virava um rótulo só: [DOC_ESTRANGEIRO_1].
Servia para esconder, mas não dizia nada — e quem revisa o documento anonimizado
precisa saber se aquilo era um CPF italiano ou um número de banco. Agora cada
documento tem nome próprio: codice fiscale vira [CF_IT_1],
o NIF português vira [NIF_PT_1], o PESEL polonês vira
[PESEL_PL_1].
Quem está na lista
América Latina: Argentina, Uruguai, Chile, Peru, Paraguai, Equador,
Colômbia, Venezuela, Panamá, Costa Rica, México, República Dominicana,
Nicarágua.
Europa: Espanha, Portugal, Itália, França, Alemanha, Holanda, Bélgica,
Polônia, Hungria, República Checa, Romênia, Bulgária, Eslovênia.
Anglosfera e outros: Reino Unido, Estados Unidos, Canadá, Austrália,
Nova Zelândia, África do Sul.
O Brasil continua na régua própria, intacto.
Nem todo documento tem dígito para conferir — e a página diz qual
Dos 240 tipos, 92 têm dígito verificador de verdade (mod 11, mod 97, Luhn…) e saem marcados como dígito conferido. Ao todo 100 têm algum validador: outros 8 têm validador só de faixa ou prefixo (o SSN americano, o EIN, o NINO britânico) — filtro de plausibilidade, não prova — e 140 não têm dígito verificador publicado (o DNI argentino, cédulas, a CIE italiana, o RFC mexicano, placas, códigos postais); esses saem como formato reconhecido. A diferença aparece na cor da marcação, não só aqui: o produto nunca chama de certeza o que é só formato.
Por que o grupo "Brasil" mostra 15 e a medição fala em 25 tipos
São contas diferentes, e vale explicar porque confunde. O grupo Brasil no seletor lista os 15 documentos nacionais (CPF, CNPJ, CEP, processo CNJ, cartão SUS, OAB…). Nome, endereço, e-mail, telefone, empresa e cartão de crédito ficam no grupo Internacionais, porque valem para qualquer país — mas são dados brasileiros quando o documento é brasileiro. Somados, dão os 25 tipos que a medição de 19/ago cobre.
Por que isto não enche o texto de falso positivo
É o problema difícil: 111222333 pode ser um BSN holandês, um telefone ou um número de pedido. A régua responde em duas camadas.
1. Formato que se identifica sozinho. Documento com letra, pontuação
própria ou prefixo fixo (DNI espanhol 12345678Z, codice fiscale de
16 caracteres, IBAN, RIF venezuelano) casa direto — e ainda assim só é aceito
se o dígito verificador bater.
2. Número pelado exige a palavra do documento. Um número só de dígitos (PESEL, BSN, TAJ, NIF) não é marcado sozinho: precisa da palavra por perto ("NIF 123456789", "PESEL 44051401359") e do dígito batendo. É o mesmo tratamento que o RG brasileiro sempre teve. Sem isso, todo CEP viraria documento estrangeiro.
E há uma honestidade a mais: "DNI 12345678" solto não diz se é Argentina ou
Peru; "cédula 4.567.890" não diz se é Colômbia ou Paraguai. Esses casos caem
em tipos compartilhados (DNI, CEDULA) — mascaram
igual, sem fingir uma precisão de país que o texto não dá.
Como sabemos que os validadores estão certos
Um validador errado é pior que nenhum: recusaria documento real em silêncio.
Por isso cada algoritmo foi conferido contra número de teste publicado
pela própria fonte oficial — o vetor do BZSt alemão (86095742719),
os BSN de teste do governo holandês (111222333), o exemplo da AMA
portuguesa (00000000 0 ZZ4), os NHI oficiais da Health NZ. São
32 provas no portão do deploy, uma por país, cada uma atravessando o
/anonimizar de verdade e conferindo que o valor não sobrou no
texto. Nenhum número de pessoa real entrou em teste nem em documentação.
Funciona com o motor fora do ar
Esta camada é determinística: não depende do modelo. Se o sidecar cair, a
página inteira recusa em vez de vazar (é o fail-closed da v74, descrito
em docs/RESILIENCIA-MOTOR-PII.md), mas na
ponte e no WikiSecret a régua continua reconhecendo documento por conta
própria — é a diferença entre "achamos que é um nome" e "este dígito fecha".