Proteger dados sensíveis em logs é uma prática essencial para garantir a segurança e a conformidade com a LGPD. Mascarar CPFs em arquivos de log evita exposição desnecessária de informações pessoais, mantendo a integridade dos dados para auditoria e análise. Este método utiliza expressões regulares e substituição programática, garantindo precisão e automação.
O script abaixo lê um arquivo de log, identifica todos os CPFs no formato 000.000.000-00 e os substitui por XXX.XXX.XXX-XX, preservando o restante do conteúdo.
import re
def mascarar_cpf_em_log(arquivo_entrada, arquivo_saida):
padrao_cpf = r'\b\d{3}\.\d{3}\.\d{3}-\d{2}\b'
with open(arquivo_entrada, 'r') as f:
conteudo = f.read()
conteudo_mascarado = re.sub(padrao_cpf, 'XXX.XXX.XXX-XX', conteudo)
with open(arquivo_saida, 'w') as f:
f.write(conteudo_mascarado)
# Exemplo de uso
mascarar_cpf_em_log('log_original.txt', 'log_mascarado.txt')
Salve o código em um arquivo chamado mascarar_cpf.py e execute-o no terminal, substituindo os nomes dos arquivos conforme necessário.
python mascarar_cpf.py
Para automatizar o mascaramento sempre que um novo log for gerado, crie um script shell que chama o Python automaticamente.
#!/bin/bash
ARQUIVO_LOG=$1
ARQUIVO_SAIDA="${ARQUIVO_LOG%.txt}_mascarado.txt"
python mascarar_cpf.py "$ARQUIVO_LOG" "$ARQUIVO_SAIDA"
| Conteúdo Original do Log | Conteúdo Após Mascaramento |
|---|---|
| Usuário 12345 acessou em 01/01/2024. CPF: 123.456.789-00 | Usuário 12345 acessou em 01/01/2024. CPF: XXX.XXX.XXX-XX |
| Erro no login: CPF 987.654.321-00 inválido | Erro no login: CPF XXX.XXX.XXX-XX inválido |
Com este método, você automatiza o mascaramento de CPFs em logs de sistema em segundos, evitando exposição de dados sensíveis e garantindo conformidade com normas de privacidade. A abordagem é escalável e pode ser adaptada para outros formatos de dados pessoais conforme necessário.