Saltar para o conteúdo
Todos os artigos
text

Como anonimizar documentos: redação de dados pessoais bem feita

Guia prático para anonimizar documentos de texto: redija nomes, e-mails, telefones, NIF, IBAN e cartões com regex e checksums — de forma irreversível, não apenas visualmente.

Equipa Medianonymizer9 min de leitura

Os documentos são o lugar onde os dados pessoais se escondem à vista de todos. Um único contrato, fatura ou ticket de suporte exportado pode conter o nome completo de um cliente, e-mail, número de telefone, NIF, um IBAN e um número de cartão — distribuídos por páginas, misturados em texto livre e muitas vezes duplicados em cabeçalhos, rodapés e metadados. Redija de forma descuidada e estará a expor dados; redija apenas o que é visível e deixará cópias no ficheiro.

Este guia explica como anonimizar documentos de texto corretamente: o que significa realmente a redação ao nível dos bytes, por que o regex com validação por checksum supera o localizar-e-substituir ingénuo, e por que uma caixa preta desenhada sobre um PDF é um dos erros mais comuns — e mais perigosos — na proteção de dados.

Em resumo

  • Anonimizar um documento significa destruir os dados pessoais nele contidos — nomes, e-mails, telefones, NIFs, IBANs, cartões — e não escondê-los atrás de um bloco visual.
  • A abordagem fiável tem dois passos: localizar os valores sensíveis (IA mais regras de regex + checksum) e depois eliminá-los de forma determinista do conteúdo de texto.
  • Um retângulo preto sobre um PDF não é redação: o texto original permanece no fluxo de conteúdo do ficheiro e pode ser copiado ou extraído em segundos.
  • Pode anonimizar um documento agora mesmo sem conta — carregue, escolha o que redatar e transfira uma cópia limpa.

O que significa realmente "anonimizar um documento"

Anonimização não é desfocar, não é cobrir, não é "parecer redatado". Para um documento, anonimizar significa encontrar cada dado pessoal e eliminá-lo do conteúdo do ficheiro para que não possa ser recuperado por seleção, cópia, pesquisa ou extração.

Dentro desta definição estão dois trabalhos distintos:

  1. Localizar a informação sensível — saber quais os caracteres no documento que correspondem a um nome, um e-mail, um IBAN.
  2. Eliminá-la — apagar esses caracteres e substituí-los por uma etiqueta fixa (como [REDACTED]) ou um bloco opaco.

Confundir estes dois passos é a origem de quase todas as falhas de redação. A localização beneficia de IA e correspondência de padrões. A eliminação deve ser código determinista que opera sobre a camada de texto real — porque é isso que torna o resultado reproduzível, testável e irreversível.

A armadilha da redação visual: por que as caixas pretas expõem dados

O erro mais comum é tratar um documento como uma página impressa. Alguém desenha um retângulo preto sobre um nome num editor de PDF, exporta o ficheiro e considera o trabalho feito. Não está.

Um PDF não é uma imagem. É um ficheiro estruturado com um fluxo de conteúdo — os caracteres de texto reais, posicionados na página — por baixo de tudo o que se desenha em cima. Uma caixa preta é apenas mais um objeto colocado sobre esse fluxo. O texto original continua lá. Qualquer pessoa pode:

  • Selecionar e copiar o texto diretamente por baixo da caixa.
  • Executar uma ferramenta de extração de texto (pdftotext, uma biblioteca de análise ou o "guardar como texto" do browser) e ler tudo.
  • Remover a camada de anotação num editor para revelar o original.

Isto não é teórico. Peças judiciais, relatórios redatados e conjuntos de dados "anonimizados" expuseram nomes e valores precisamente porque a redação era cosmética. A mesma armadilha existe nos processadores de texto: mudar a cor do texto para branco, realçar a negro ou sobrepor uma forma deixa os caracteres completamente intactos no ficheiro.

A redação verdadeira deve destruir o texto, não enquadrá-lo visualmente. Os caracteres têm de ser eliminados do fluxo de conteúdo e substituídos — e a mesma lógica aplica-se às cópias desses dados ocultas nos metadados do documento, comentários, alterações registadas e miniaturas incorporadas.

Regex + checksum vs. localizar-e-substituir ingénuo

Depois de se comprometer a eliminar texto real, a questão seguinte é: como encontrar cada valor que vale a pena eliminar? Existem duas abordagens e a diferença é enorme.

Por que o localizar-e-substituir fica aquém

O localizar-e-substituir ingénuo só funciona com valores que já conhecemos. Escreve-se "João Silva" e substitui-se. Mas os documentos estão cheios de dados pessoais que nunca enumerámos: um número de telefone que nunca registámos, um IBAN pertencente a terceiros, um número de cartão que um cliente colou numa nota. O localizar-e-substituir não consegue detetar o que nunca lhe foi dito para procurar, e produz falsos positivos no momento em que um fragmento do termo de pesquisa aparece inocentemente noutro lugar.

Por que o regex com checksums vence

Os identificadores estruturados seguem formatos. As expressões regulares capturam esses formatos — e um checksum confirma que a correspondência é real e não uma cadeia de caracteres aleatória:

  • E-mails → correspondência de padrão na forma local@dominio.tld.
  • Números de telefone → padrões por país para formatos internacionais e nacionais.
  • Números de identificação → formato mais o algoritmo de dígito de controlo do país (por exemplo, a verificação por letra do NIF português).
  • IBANs → formato mais a verificação ISO 7064 mod-97: reorganizar, converter letras em dígitos e verificar se o resto é 1.
  • Cartões de pagamento → formato mais o algoritmo de Luhn, para que um cartão de 16 dígitos real seja redatado mas uma referência de encomenda aleatória de 16 dígitos seja ignorada.

O checksum é o que separa a redação cirúrgica do ruído. Sem ele, uma regex assinala todos os números de 16 dígitos; com ele, apenas os cartões genuínos são removidos. Essa precisão é o que torna a redação automatizada fiável em grande escala.

AbordagemDeteta valores desconhecidos?Falsos positivosIdeal para
Localizar e substituirNão — apenas cadeias conhecidasAlto (correspondências parciais)Remoção pontual de um nome específico conhecido
Regex apenasSim, por formatoModerado (qualquer cadeia que corresponda)Texto com estrutura solta onde os falsos positivos são toleráveis
Regex + checksumSim, por formato e validadeBaixoIBANs, cartões, NIFs — qualquer coisa com dígito de controlo
IA / NER (para nomes)Sim, por significadoDependente do contextoNomes, moradas, organizações sem formato fixo

A conclusão: use regex + checksum para identificadores estruturados e reconhecimento de entidades com IA para dados pessoais não estruturados como nomes e moradas. Juntos, cobrem tanto o previsível como o imprevisível.

Por que a IA deve localizar mas não eliminar

É tentador entregar o documento completo a um modelo de linguagem e pedir-lhe que "devolva a versão anonimizada". Não o faça. A edição generativa é não determinista — execute-a duas vezes e poderá obter dois resultados diferentes, sem garantia de que todos os identificadores foram removidos, e com o risco real de o modelo reescrever ou inventar silenciosamente texto circundante.

O padrão robusto separa responsabilidades:

  • A IA localiza — o reconhecimento de entidades nomeadas assinala nomes, moradas e organizações que não têm formato fixo.
  • O código determinista elimina — o regex + checksum e a edição direta de texto apagam os caracteres exatos e substituem-nos por uma etiqueta fixa.

É exatamente assim que a Medianonymizer aborda cada tipo de ficheiro: o modelo apenas aponta para os dados sensíveis; código simples e testável trata da destruição. O resultado é preciso, auditável e igual todas as vezes que é executado.

Não se esqueça dos metadados

Um documento é mais do que o seu corpo visível. Os dados pessoais escondem-se regularmente em lugares que uma leitura rápida nunca alcança:

  • Propriedades do documento — autor, última modificação por, empresa.
  • Alterações registadas e comentários — nomes e valores antigos preservados no histórico de revisões.
  • Conteúdo incorporado — miniaturas, ficheiros anexados, campos de formulário ocultos.
  • Cabeçalhos e rodapés — o mesmo nome ou referência repetido em cada página.

Remover estes elementos faz parte da anonimização verdadeira. Remover um nome da página três enquanto ele permanece no campo "Autor" do ficheiro invalida todo o exercício. O pós-processamento determinista deve limpar metadados e histórico de revisões em conjunto com o texto do corpo.

O texto anonimizado é verdadeiramente irreversível?

Sim — se eliminar os caracteres do fluxo de conteúdo e os substituir por uma etiqueta fixa ou bloco opaco, em vez de sobrepor um marcador visual. Não existe camada oculta para remover, nenhuma chave e nenhuma forma de reconstruir o valor eliminado.

Esta é a diferença entre anonimização e pseudonimização. A pseudonimização troca identificadores por tokens reversíveis; com a tabela de mapeamento, os dados podem ser restaurados. A anonimização remove os dados definitivamente — o que é o que coloca um documento fora do âmbito de regulamentos como o RGPD. Se precisar da distinção em detalhe, consulte anonimização vs. pseudonimização. Para organizações que normalizam isto em equipas, veja anonimização de documentos para o RGPD em empresas.

Uma lista de verificação prática

Antes de considerar um documento anonimizado, confirme:

  • Cada nome, e-mail, telefone, NIF, IBAN e cartão tem uma redação correspondente.
  • As redações eliminam os caracteres da camada de texto — não são caixas visuais desenhadas por cima.
  • Os identificadores estruturados foram validados com checksums (Luhn, mod-97) para evitar falsos positivos e omissões.
  • Os metadados, comentários e alterações registadas foram removidos, não apenas o corpo visível.
  • É possível extrair texto do resultado e não encontrar nenhum dos dados pessoais originais.
  • O resultado foi revisto — deteção automatizada mais uma verificação humana pontual.

Casos de uso comuns

  • Contratos e faturas — remover dados pessoais de contrapartes antes de partilhar ou arquivar.
  • Exportações de suporte e tickets — remover dados pessoais de clientes antes de análise ou dados de treino.
  • Divulgação legal — produzir documentos onde a redação resiste genuinamente à extração.
  • Arquivos de conformidade — guardar registos com dados pessoais removidos para satisfazer as regras de minimização e retenção. O mesmo princípio de irreversibilidade aplica-se a outros tipos de ficheiro — veja boas práticas para anonimização irreversível e auditável.

Anonimize o seu documento agora

Não precisa de construir este pipeline por conta própria. Carregue um documento, indique ao assistente o que remover e transfira uma cópia limpa onde cada nome, e-mail, telefone, NIF, IBAN e cartão é destruído no próprio texto — de forma irreversível, com os metadados removidos.

Anonimizar um documento →

Perguntas frequentes

Por que não basta desenhar uma caixa preta sobre o texto num PDF?
Um retângulo preto é apenas uma camada visual sobreposta à página. O texto por baixo continua no fluxo de conteúdo do PDF, pelo que qualquer pessoa pode selecioná-lo, copiá-lo ou extraí-lo com um script. A redação verdadeira elimina os caracteres subjacentes — não os cobre simplesmente.
Qual a diferença entre regex e localizar-e-substituir para redação?
O localizar-e-substituir só apanha os valores que já conhecemos. O regex com validação por checksum encontra dados pessoais estruturados que nunca vimos — cada IBAN, cartão ou número de identificação que corresponde ao formato e passa o seu dígito de controlo — para que detetemos os dados que não sabíamos que estavam lá.
O texto anonimizado é reversível?
Se eliminar os caracteres e os substituir por uma etiqueta fixa ou um bloco opaco, não. Não existe camada oculta nem chave. Essa irreversibilidade é o que coloca um documento fora do âmbito de regulamentos como o RGPD.
Mais sobre text

Artigos relacionados