Saltar para o conteúdo
Todos os guias de anonimização
Datasets, logs e exports

Retire os dados pessoais de um ficheiro de texto antes de o partilhar

Carregue um ficheiro de texto — um export CSV, um log, um lote de tickets de suporte ou um documento — escolha as categorias a remover, e cada trecho que seja um nome, email, telefone, número de cartão, IBAN ou documento é localizado e reescrito de forma determinista, para que o ficheiro entregue a um fornecedor, a um ambiente de testes ou a um processo de análise não contenha dados pessoais.

Medianonymizer Team1 de julho de 20265 min de leitura
Limpar um ficheiro de texto

Sem registo · Pague por utilização · Redação irreversível

Entregue um ficheiro a alguém que nunca deve ver os dados pessoais lá dentro — e garanta que não pode. Quando tira uma fatia de produção para um CSV para que um fornecedor reproduza um bug, ou encaminha um lote de tickets para uma equipa de análise externalizada, os nomes, os emails e os números de conta não estão em colunas arrumadas. Vivem dentro das linhas de log e dos corpos dos tickets como texto livre. Pode limpar um ficheiro de texto agora sem conta: carregue-o, marque as categorias a tirar e descarregue um .txt simples que pode comparar com o original.

Onde se escondem mesmo os dados pessoais

Numa folha de cálculo sabe que coluna tem o email. Num log ou num export de tickets não: o apelido do cliente aparece a meio da frase, o telefone está entalado numa stack trace, o número de cartão foi colado numa nota por um agente com pressa. É isto que torna o texto em massa tão permeável. Apagar os valores à mão em milhares de linhas é lento, e um falha é uma quebra — por isso o trabalho tem de ser mecânico.

Carregue o ficheiro e escolha entre as categorias que o pipeline sabe encontrar:

  • Nomes de pessoas, mesmo a meio de uma linha.
  • Emails e telefones, nas suas formas internacionais habituais.
  • Números de cartão (PAN), reconhecidos pela estrutura e verificados antes de remover.
  • IBAN e dados bancários, validados pelo seu dígito de controlo integrado.
  • Documentos de identidade — DNI, NIF, NIE, CIF e afins — detetados pelo seu caráter de controlo.
  • Moradas que prendem um registo a um lugar.

Tudo o que já conhece — um código interno de processo, o nome de um projeto, um handle específico — vai para uma deny-list e é removido na mesma passagem.

Remoção validada, não um palpite de sorte

As categorias que mais doeriam se um valor real escapasse são precisamente aquelas que o pipeline se recusa a adivinhar. Uma sequência de dezasseis dígitos só é tratada como cartão se satisfizer o algoritmo de Luhn, por isso uma PAN autêntica é removida enquanto um número de encomenda do mesmo comprimento fica intacto. Um IBAN só é reescrito se o seu resto mod-97 estiver correto. Os DNI/NIF/NIE/CIF espanhóis são validados pela sua letra de controlo, e os telefones pelo seu padrão nacional. Como estes testes são aritméticos, funcionam da mesma forma seja qual for a língua do texto à volta: a um identificador estruturado é indiferente que a frase à sua volta esteja em alemão ou em português.

Os IDs estruturados viajam entre línguas; os nomes não

O detetor de nomes apoia-se em modelos de espanhol e inglês, por isso os nomes de pessoas em texto alemão, francês e italiano só são encontrados em parte. Seja honesto quanto a isso: acrescente à deny-list os apelidos que conhece e releia esses ficheiros. Cartões, IBAN, emails, telefones e identificadores com dígito de controlo são independentes da língua e não precisam dessa ressalva.

Editar à mão contra uma passagem determinista

Apagar valores à mão
  • Um localizar-e-substituir falha a linha escrita de outra forma
  • Cada revisor tira um conjunto ligeiramente diferente
  • Nenhum registo do que foi tirado, nem de onde
  • Um único valor esquecido é uma fuga
Uma reescrita determinista
  • Cada trecho de uma categoria escolhida é encontrado numa passagem
  • A mesma entrada dá a mesma saída, passagem após passagem
  • Remover, mascarar com * ou substituir por <ENTITY> — decide você
  • A lista de auditoria guarda deslocamentos, nunca o valor

A saída é um .txt simples, por isso pode compará-la com a origem através de um diff e ver por si mesmo que cada trecho detetado desapareceu: removido até não deixar nada, mascarado com uma fila de asteriscos, ou substituído por um marcador tipado. O estilo que escolher é aplicado da mesma forma em todo o ficheiro. E o rasto de auditoria regista apenas onde um trecho estava — o seu início e o seu fim — nunca os caracteres que ali estavam, de modo que nem o próprio log consegue revelar o que removeu.

0contas necessárias para limpar um ficheiro
Luhnverificação antes de remover um número de cartão
.txtsaída simples para comparar com a origem

O artigo 5.º, n.º 1, alínea c do RGPD torna a minimização vinculativa: os dados pessoais devem limitar-se ao necessário. Um fornecedor que depura uma consulta, ou uma máquina de staging que corre uma suíte de testes, não precisa de identidades reais — por isso, pelo princípio, não as deveria receber. O artigo 4.º, n.º 5 traça a linha que realmente lhe importa: os registos pseudonimizados continuam rastreáveis, ao passo que remover os identificadores por completo empurra o ficheiro para a anonimização e para fora desse risco. Entregar um export em bruto a um terceiro, ou copiar dados vivos para um ambiente fora de produção, é exatamente onde os reguladores olham. Remover a PII primeiro é a forma mais barata de ficar do lado certo dessa linha — e esta ferramenta processa texto e devolve texto: não anota visualmente um PDF, não desfoca um rosto nem apita um ficheiro de áudio, que são trabalhos distintos com as suas próprias ferramentas.

Limpe um ficheiro agora

Carregue o .txt, .docx ou PDF, escolha as categorias e o estilo de reescrita, confirme o preço e descarregue a cópia limpa. A deteção encontra os trechos; o código determinista reescreve-os, por isso o resultado é idêntico em cada passagem. Sem conta, pague apenas pelo que limpa.

Quando precisa disto

Um engenheiro precisa de entregar um ficheiro a alguém que nunca deveria ver os dados pessoais lá dentro. Pode ser um export da base de dados de produção tirado para um CSV para que um fornecedor reproduza um bug, um lote de tickets de suporte que vai para uma equipa de análise externalizada, ou uma fatia de logs da aplicação que se vai tornar fixtures de teste de um ambiente de staging. O ficheiro é texto livre, por isso os nomes dos clientes, os emails, os telefones, os números de documento, os IBAN e um ou outro número de cartão não estão em colunas etiquetadas: estão espalhados pelas linhas de log e pelos corpos dos tickets. Apagá-los à mão em milhares de linhas é propenso a erros, e um valor esquecido é uma fuga. Carregue o ficheiro, escolha as categorias a remover, e cada trecho que seja um nome, um email, um telefone, um cartão, um IBAN ou um documento é localizado e reescrito de forma determinista, de modo que o .txt que entrega conserva a estrutura e nenhuma das pessoas.

O ângulo da conformidade

O artigo 5.º, n.º 1, alínea c do RGPD torna a minimização dos dados um princípio vinculativo: os dados pessoais devem limitar-se ao necessário, e um fornecedor que depura uma consulta ou uma máquina de staging que corre testes não precisa de identidades reais. O artigo 4.º, n.º 5 traça a linha que realmente lhe importa: a pseudonimização ainda permite reidentificar um registo, ao passo que remover os identificadores por completo leva o ficheiro para a anonimização e para fora desse risco. Partilhar um export em bruto com um terceiro ou copiar dados vivos para um ambiente fora de produção é precisamente onde os reguladores olham; remover a PII primeiro é a forma mais barata de ficar do lado certo dessa linha.

O que pode verificar

O resultado é um .txt simples que pode comparar com a origem através de um diff. Cada trecho detetado desaparece: removido até não deixar nada, mascarado com uma fila de asteriscos, ou substituído por um marcador tipado como <PERSON> ou <IBAN_CODE> — à sua escolha, aplicado da mesma forma em cada passagem. As categorias arriscadas são validadas, não adivinhadas: uma cadeia de dezasseis dígitos só é removida se passar no teste de Luhn, um IBAN só se o seu dígito de controlo mod-97 fechar, por isso os números de cartão reais saem e um número de encomenda qualquer fica. A lista de auditoria guarda apenas deslocamentos de caráter — início e fim — nunca o valor que ali estava.

Perguntas frequentes

Que tipos de ficheiro posso carregar, e o que recebo de volta?
Carregue um `.txt` de texto simples, um `.docx` do Word ou um PDF. O texto é extraído, as categorias que escolheu são localizadas e reescritas, e recebe um `.txt` limpo que pode comparar com a origem através de um diff. É um trabalho ficheiro-entra, ficheiro-sai: um único ficheiro de texto para todo o lote de linhas, não um formulário por registo.
Qual é a diferença entre remover, mascarar com asteriscos e substituir por <ENTITY>?
Remover apaga o trecho e não deixa nada onde estava o valor. Mascarar mantém o comprimento escrevendo uma fila de asteriscos por cima. Substituir coloca um marcador tipado como `<PERSON>` ou `<IBAN_CODE>`, que mantém a linha legível e mostra a quem revê que tipo de valor ali estava. Escolhe um estilo e ele é aplicado da mesma forma a cada trecho detetado do ficheiro.
Deteta de forma fiável números de cartão, IBAN e documentos — ou assinala dígitos ao acaso?
As categorias arriscadas são validadas, não adivinhadas. Uma cadeia de dezasseis dígitos só é tratada como cartão se passar no algoritmo de Luhn, por isso uma PAN real sai e um número de encomenda do mesmo comprimento fica. Um IBAN só é removido se o seu dígito de controlo mod-97 fechar, e os telefones são reconhecidos pelo seu padrão nacional. Como são verificações aritméticas, comportam-se da mesma forma seja qual for a língua à volta.
Funciona com texto em alemão, francês ou italiano, ou só em inglês e espanhol?
Os identificadores estruturados — cartões, IBAN, emails, telefones, documentos com dígito de controlo — são independentes da língua e funcionam em qualquer lado. Os nomes de pessoas são diferentes: o modelo de nomes apoia-se em espanhol e inglês, por isso os nomes em texto alemão, francês e italiano são detetados apenas em parte. Para esses ficheiros, acrescente à deny-list os apelidos que conhece e releia o resultado.
Uma vez removido um valor, é possível recuperar o texto original a partir do ficheiro de saída?
Não. Os caracteres detetados são reescritos para fora do próprio ficheiro — apagados, mascarados ou substituídos — e é escrito um `.txt` novo. Não há camada escondida por baixo nem metadados que guardem o texto anterior. A lista de auditoria mantém apenas deslocamentos de caráter, o início e o fim de cada trecho, nunca o valor que lá estava, de modo que nada na saída pode ser revertido ao original.

Anonimize o seu ficheiro agora

Carregue o seu texto, escolha o que remover e transfira uma cópia limpa — os dados pessoais são eliminados, não ocultados.

Sem registo · Pague por utilização · Redação irreversível

Passo 1 de 4
Carregue o seu ficheiro
Arraste qualquer ficheiro — detetamos o tipo automaticamente. É encriptado e enviado diretamente para armazenamento, nunca através de nós.

Guias relacionados