Proteger dados sensíveis como o PIS (Programa de Integração Social) em relatórios de RH é uma obrigação legal e uma prática essencial de segurança da informação. Com um script simples, você pode mascarar automaticamente os números de PIS, substituindo os dígitos do meio por asteriscos, mantendo apenas os dois primeiros e os dois últimos dígitos visíveis. Este método é rápido, seguro e evita exposições desnecessárias de informações pessoais.
Este script lê um arquivo CSV, mascara os números de PIS e salva o resultado em um novo arquivo. Ele funciona tanto para números de 11 dígitos (formato padrão) quanto para números com máscara já existente.
import pandas as pd
def mascarar_pis(pis):
# Remove máscara existente (pontos e hífen)
pis_limpo = ''.join(filter(str.isdigit, str(pis)))
if len(pis_limpo) == 11:
# Mantém os 2 primeiros e 2 últimos dígitos, mascara o resto
return f"{pis_limpo[:2]}******{pis_limpo[-2:]}"
return pis # Retorna original se não for 11 dígitos
# Lê o arquivo CSV
df = pd.read_csv('relatorio_rh.csv')
# Aplica a máscara na coluna PIS
df['PIS'] = df['PIS'].apply(mascarar_pis)
# Salva em novo arquivo
df.to_csv('relatorio_rh_mascarado.csv', index=False)
print("Mascaramento concluído! Arquivo salvo como: relatorio_rh_mascarado.csv")
Se preferir uma solução sem dependências externas, use este script em Bash/Linux que processa o arquivo linha por linha:
#!/bin/bash
INPUT="relatorio_rh.csv"
OUTPUT="relatorio_rh_mascarado.csv"
echo "PIS,Nome,Departamento" > "$OUTPUT"
while IFS=, read -r pis nome departamento; do
# Remove máscara existente
pis_limpo=$(echo "$pis" | tr -dc '0-9')
if [ ${#pis_limpo} -eq 11 ]; then
# Aplica máscara
pis_mascarado="${pis_limpo:0:2}******${pis_limpo:9:2}"
echo "$pis_mascarado,$nome,$departamento" >> "$OUTPUT"
else
echo "$pis,$nome,$departamento" >> "$OUTPUT"
fi
done < <(tail -n +2 "$INPUT")
echo "Processamento concluído. Verifique o arquivo $OUTPUT"
Veja como os dados são transformados pelo script:
| PIS Original | PIS Mascarado |
|---|---|
| 12345678911 | 12******11 |
| 98765432100 | 98******00 |
| 12.3456.789-11 | 12******11 |
| 98.7654.321-00 | 98******00 |
Com este script, você automatiza o processo de mascaramento de PIS em relatórios de RH, garantindo conformidade com políticas de proteção de dados e reduzindo o risco de exposição de informações sensíveis. O método é simples, eficiente e pode ser adaptado para processar grandes volumes de dados em segundos.