By · Last updated 2026-03-03

Voltar ao BlogGDPR & Conformidade

Por que sua ferramenta de detecção de PII é apenas...

Um Steuer-ID alemão, NIR francês e Personnummer sueco exigem diferentes lógicas de detecção.

March 3, 202610 min de leitura
multilingualGDPRNLPPII detectionEuropean compliancespaCyXLM-RoBERTa

Detecção Multilíngue de Dados Pessoais para o RGPD

Atualizado para 2026

A Lacuna Oculta do RGPD

O RGPD não tem preferência linguística. O artigo 4(1) define "dados pessoais" sem mencionar o idioma em que aparecem. Um Steuer-ID alemão é tão protegido quanto um número de seguridade social americano. Um NIR francês é tão regulado quanto um número de seguro nacional britânico.

A maioria das ferramentas de detecção de dados pessoais foi criada apenas para o inglês.

Pesquisas da ACL 2024 mostram que ferramentas NLP híbridas atingem pontuações F1 de 0,60 a 0,83 para locais europeus. Ferramentas apenas em inglês obtêm pontuações próximas de zero para formatos de ID nacionais não ingleses. A lacuna é grave. Uma ferramenta pode detectar 95 % dos dados pessoais em inglês. Mas deixa passar 40 a 60 % dos dados pessoais em alemão, francês, polonês ou holandês no mesmo arquivo. É um problema sério. Isso expõe as empresas a riscos.

Esta é uma lacuna real do RGPD. Ela afeta quase todas as empresas globais que usam ferramentas de redação centradas no inglês. Consulte nosso guia do RGPD para saber mais.

Por que os Dados Pessoais são Específicos do Local

A detecção de dados pessoais tem duas partes.

A primeira é a detecção baseada em padrões. Ela cobre IDs estruturados como números fiscais e formatos de telefone.

A segunda é a detecção baseada em NER. Ela cobre entidades contextuais como nomes e endereços.

Ambas as partes dependem do locale.

IDs Estruturados Diferem por País

PaísID FiscalFormatoValidação
AlemanhaSteuer-ID11 dígitosMódulo-11
FrançaNIR15 dígitos + chave de 2 dígitosINSEE
SuéciaPersonnummer10 dígitosLuhn
PolôniaPESEL11 dígitosMódulo-10
Países BaixosBSN9 dígitosElfproef
EspanhaDNI/NIE8 dígitos + letraMódulo-23
ItáliaCodice Fiscale16 caracteresSoma de verificação

Um regex apenas em inglês para SSNs (NNN-NN-NNNN) não corresponderá a nenhum desses formatos. Cada um precisa do seu próprio regex. Cada um também precisa da sua própria lógica de soma de verificação.

A NER Precisa de Modelos Nativos

Nomes alemães diferem dos ingleses. "Hans-Dieter Müller" é claro para um modelo nativo alemão. Um modelo treinado em inglês frequentemente os ignora.

Falsos positivos também são um problema. O rastreador de issues do Microsoft Presidio mostra palavras alemãs classificadas incorretamente como dados pessoais em inglês. A palavra "Null" (zero em alemão) é um exemplo. Ela dispara detecções falsas de nomes em modelos treinados em inglês. Em produção, as taxas de erro chegam a 3 falsos positivos por entidade real (Alvaro et al., 2024).

Risco Regulatório

As autoridades europeias de proteção de dados estão cientes desse problema. Várias APDs nacionais emitiram orientações.

BfDI alemão: O artigo 5(1)(f) do RGPD se aplica a todos os registros. Cobre dados não ingleses processados por ferramentas de terceiros.

CNIL francesa: O relatório anual 2024 da CNIL expressou preocupações. Destacou ferramentas de IA que processam dados em francês sem detecção de dados pessoais em francês.

APDs europeias em geral: O artigo 25 do RGPD (Privacidade desde a concepção) exige salvaguardas adequadas para os dados realmente processados. Isso inclui dados pessoais não ingleses em implantações globais.

O risco é claro. Uma empresa pode mostrar 95 % de detecção de dados pessoais em conteúdo inglês durante uma auditoria do RGPD. Mas se também lidar com registros alemães, franceses e poloneses com a mesma ferramenta, lacunas aparecerão. Auditores percebem. Multas podem seguir. Consulte nossa página de segurança para saber como lidamos com isso.

Arquitetura de Três Níveis

A pesquisa e a prática concordam que um design híbrido de três níveis é a melhor abordagem.

Nível 1: Modelos spaCy Nativos

O spaCy fornece modelos treinados para 25 locais. Esses incluem alemão, francês, espanhol, português, italiano, holandês, russo, chinês, japonês, coreano e polonês. Cada modelo é treinado em texto nativo. Eles aprendem a sintaxe e os padrões de entidades de cada locale. Isso importa. Treinamento nativo significa melhor recall e menos falsos positivos.

Para alemão: de_core_news_lg lida com substantivos compostos e padrões de nomes alemães. Para francês: fr_core_news_lg lida com entidades francesas, títulos, nomes de lugares e organizações.

Modelos nativos superam modelos multilíngues na detecção de nomes em locais de alta disponibilidade.

Nível 2: Stanza para Mais Locais

A biblioteca Stanza da Stanford cobre locais não incluídos no spaCy. Esses incluem croata, esloveno e ucraniano. Isso amplia o alcance para grupos de falantes da UE que o spaCy não cobre. O Stanza é gratuito e de código aberto. Integra-se bem ao restante da pilha.

Nível 3: XLM-RoBERTa para Amplo Alcance

Para locais onde spaCy e Stanza não têm modelos NER, o XLM-RoBERTa preenche a lacuna. É treinado em texto Common Crawl de 100 locais. Alcança 91,4 % de F1 multilíngue para detecção de dados pessoais (HuggingFace 2024). Lida bem com code-switching. Essa é uma característica-chave. Importa quando um documento contém texto em vários locais de uma vez.

Visite nossos docs do sistema de tokens para ver como as chamadas de API escalam com volume multilíngue.

Tipos de Entidades Específicos do Local

Modelos sozinhos não são suficientes. A conformidade com o RGPD também exige cobertura de tipos de entidades para IDs nacionais.

IDs Nacionais da UE por País:

  • DE: Steuer-ID, Sozialversicherungsnummer, Personalausweisnummer
  • FR: NIR, SIREN, SIRET
  • PL: PESEL, NIP, REGON
  • NL: BSN
  • SE: Personnummer, Samordningsnummer
  • ES: DNI, NIE, NIF, CIF
  • IT: Codice Fiscale, Partita IVA

Formatos de telefone: Cada país da UE tem estruturas de prefixo únicas. +49, +33 e +48 têm cada um a sua própria lógica de validação.

Formatos de endereço: CEPs variam muito. O PLZ alemão usa 5 dígitos. Os códigos franceses usam 5 dígitos (faixa 01–99). Os códigos postais do Reino Unido são alfanuméricos. Os códigos espanhóis usam 5 dígitos (01000–52999).

Caso Real: Empresa Farmacêutica Suíça

Uma empresa suíça processa contratos de trabalho. Cada contrato mistura texto em alemão, francês e inglês. A Suíça tem quatro idiomas oficiais. A ferramenta deles estava configurada apenas para alemão. Deixava passar todo o PII das seções em francês.

Um contrato para um funcionário baseado em Genebra incluía um número AVS francês (13 dígitos), um IBAN de banco suíço e um nome no formato francês. A ferramenta apenas para alemão ignorou o nome no formato francês. Não encontrou o número AVS francês. O formato AHV-Nummer alemão é diferente. Detectou apenas parcialmente o IBAN.

A abordagem de três níveis processa todo o documento. Detecta o locale por segmento de texto. Aplica o modelo NER correto para cada parte. Valida cada ID nacional com a lógica correta do país.

Documentos com Locais Mistos

O caso mais difícil é a mistura de locais dentro de um documento. Exemplos:

  • O contrato em inglês de uma empresa alemã com registros de funcionários alemães (nomes, IDs fiscais)
  • Um formulário de consentimento RGPD em francês com um trecho de política de privacidade em inglês
  • Um chat onde o agente responde em inglês e o cliente escreve em árabe

O XLM-RoBERTa lida com isso nativamente. Não precisa de declarações de locale explícitas. Processa texto com locais mistos sem segmentação prévia. Isso economiza tempo. Também evita erros por divisões incorretas.

Para uso em produção, combinar a detecção automática de locale (no nível da frase) com a inferência XLM-RoBERTa fornece tratamento robusto de documentos com locais mistos.

Etapas Práticas

Audite o alcance da sua ferramenta. Peça ao seu fornecedor de redação pontuações F1 para seus locais específicos. "Suporta 20 idiomas" frequentemente significa que a ferramenta primeiro traduz o texto automaticamente. Isso não é detecção nativa.

Mapeie seus registros por locale. Faça um inventário de registros que inclua a distribuição por locale. Uma empresa global com 70 % em inglês, 20 % em alemão e 10 % em francês enfrenta riscos diferentes. Aquela com 95 % em inglês está em uma posição diferente.

Teste com amostras de IDs nacionais. Crie um conjunto de testes com 10 exemplos de cada ID nacional em suas operações: Steuer-ID, NIR, PESEL, BSN e outros. Verifique as taxas de detecção. É mais rápido do que um teste F1 completo.

Revise seus RIPDs. Verifique se o alcance por locale está incluído. Um RIPD incompleto assumindo registros apenas em inglês pode precisar de uma atualização. Aja agora. Não espere por uma auditoria para descobrir a lacuna.

Para definições completas de tipos de entidades, consulte a referência de entidades e as perguntas frequentes. Para planos e tarifas de chamadas de API, visite preços.


O motor de detecção PII do anonym.legal usa uma abordagem multilíngue de três níveis. Cobre 25 locais de alta disponibilidade com modelos spaCy nativos. O Stanza adiciona alcance de locale extra. Os transformadores multilíngues XLM-RoBERTa estendem o alcance para 48 locais. Tipos de entidades específicos de cada país para todos os estados membros da UE estão incluídos.

Fontes

Pronto para proteger seus dados?

Comece a anonimizar PII com mais de 285 tipos de entidades em 48 idiomas.

About this page

We update this page when our platform or the law changes.

Read our founder note for how we work.

Each change shows up in the timestamp at the top.

Related reading

We follow these rules

  • GDPR (EU 2016/679).
  • ISO/IEC 27001:2022.
  • NIS2 (EU 2022/2555).
  • HIPAA safe harbor under 45 CFR § 164.514(b)(2).

Our promise

We do not sell your data.

We do not train models on your text.

We store your files in Germany.

You can delete your account at any time.

You own your work.

Where we run

Our servers live in Falkenstein, Germany.

We use Hetzner. They hold ISO 27001 certification.

All data stays in the EU.

Backups run every day.

Need help?

Email support@anonym.legal.

We reply within one business day.

How we test

We run a full check suite on every release.

Each surface gets its own sweep script and report.

Human reviewers spot-check the output each week.

We track recall and precision on a labelled set.

Bad runs block the deploy.

What we never do

  • We never sell your information to third parties.
  • We never train models on what you upload.
  • We never keep your work after you delete it.
  • We never share keys with any outside firm.
  • We never run ads inside the product.

Plans in plain words

We sell credits, not seats.

One credit covers one short job.

Long jobs use a few credits each.

You can top up at any time.

Unused credits roll over each month.

Read the plans page for current rates.

Who built this

A small team of engineers and lawyers built this.

We ship from Europe and work in the open.

Our founder note spells out why we started.

Where to start

How the parts fit

A browser add-on cleans text inside Chrome.

A Word plug-in handles drafts in Office.

A small desktop tool works on whole folders.

An agent protocol link feeds large models safely.

All four share one core engine and one rule set.

Words from our team

We started this work after a lunch about cookies.

One friend kept getting odd ads on her phone.

We asked why a court file leaked through a draft.

We sketched the first build on a napkin that week.

By month three we had a tiny demo for a friend.

She used it on her first case the next day.

Common questions we hear

Can the tool read scanned PDFs? Yes, with OCR.

Does it work on long files? Yes, in small chunks.

Can I roll my own rule set? Yes, save it as a preset.

Does it run offline? The desktop build runs offline.

Do you keep my files? No, the cloud build wipes after each run.

Will it learn from my work? No, we never train on inputs.

A short tour of the workflow

Upload a file or paste a snippet of prose.

Pick the entities you want gone from the draft.

Choose a method: replace, mask, hash, encrypt, or redact.

Press run and watch the side panel show each hit.

Skim the result and tweak any rule that misfired.

Save the cleaned file or send it to a teammate.