O que é este projeto
Privacy Shield BR é uma biblioteca PHP focada em detecção e anonimização de dados pessoais (PII) em textos, formulários, logs e bases de dados. Ela foi criada para ajudar empresas brasileiras a cumprir a LGPD sem reescrever seus sistemas do zero.
A abordagem é simples: você passa um texto ou array de dados, a biblioteca identifica automaticamente os campos sensíveis e retorna uma versão anonimizada preservando o formato original. Funciona com CPF, CNPJ, chaves PIX, e-mail, telefone, cartão de crédito e nomes próprios.
Detecção automática
O motor de detecção combina expressões regulares otimizadas com validação algorítmica. Não basta o formato parecer um CPF — a biblioteca valida o dígito verificador antes de classificar como dado pessoal.
- CPF — formato XXX.XXX.XXX-XX com validação de dígitos verificadores
- CNPJ — formato XX.XXX.XXX/XXXX-XX com validação completa
- Chaves PIX — CPF, CNPJ, e-mail, telefone e chave aleatória
- E-mail — detecção RFC 5322 com domínios válidos
- Telefone — fixo e celular com DDD, formatos brasileiro e internacional
- Cartão de crédito — Visa, Mastercard, Elo e Amex com validação Luhn
Exemplo: Padrões de detecção
Anonimização
A anonimização preserva o formato original do dado, mantendo a estrutura legível mas tornando impossível recuperar a informação real. Isso é essencial para logs de auditoria, relatórios e ambientes de homologação.
- Mascaramento parcial —
123.456.789-09vira123.***.***-09 - Substituição completa —
joao@email.comvira***@***.com - Tokenização — substitui por token reversível (para casos que exigem recuperação)
- Hash determinístico — mesmo dado gera mesmo hash (útil para joins em bases anonimizadas)
Exemplo: Uso da biblioteca
Conformidade LGPD
A biblioteca foi projetada para atender diretamente aos requisitos da Lei Geral de Proteção de Dados (Lei 13.709/2018). Cada funcionalidade mapeia para artigos específicos da lei:
- Art. 5o (Definições) — a detecção classifica corretamente o que é dado pessoal, dado pessoal sensível e dado anonimizado, conforme os incisos I, II e III
- Art. 6o (Princípios) — o método
redact()implementa o princípio da necessidade (inciso III), garantindo que apenas os dados estritamente necessários sejam mantidos - Art. 18 (Direitos do titular) — o módulo de tokenização permite atender ao direito de eliminação (inciso VI) e ao direito de anonimização (inciso IV) sem quebrar a integridade referencial do banco de dados
- Art. 46 (Segurança) — a anonimização em logs e relatórios atende à obrigação de adotar medidas técnicas para proteger dados pessoais
- Art. 48 (Incidentes) — dados já anonimizados reduzem drasticamente o impacto de vazamentos, simplificando a comunicação à ANPD
Integração
A instalação é via Composer e a integração com qualquer projeto PHP leva menos de 5 minutos. Para Laravel, incluímos um middleware pronto que anonimiza automaticamente dados sensíveis nos logs da aplicação.
Instalação via Composer
Middleware para Laravel
Performance
A detecção é otimizada para processar grandes volumes de texto sem impacto perceptível na aplicação. Benchmarks em um servidor com 2 vCPUs e 4GB de RAM:
- 1.000 registros — 45ms (detecção + anonimização completa)
- 10.000 registros — 380ms com cache de padrões compilados
- 100.000 registros — 3.2s usando processamento em batch
As técnicas de otimização incluem:
- Regex compilado — padrões são pré-compilados e cacheados na inicialização
- Early exit — se o texto não contém dígitos, pula validação de CPF/CNPJ/cartão
- Batch processing — método
scanBatch()processa arrays em uma única passada - Lazy detection — modo que para no primeiro match (útil para validação rápida)
Como usar
Instale o pacote, configure as regras de detecção e integre no fluxo da sua aplicação. Cada projeto pode customizar quais tipos de dados detectar e qual estratégia de anonimização aplicar.
composer.json— dependência do pacoteconfig/privacy-shield.php— tipos habilitados, estratégia de mascaramento, exceçõesDetector— classe principal de detecção de PIIAnonymizer— classe de anonimização com múltiplas estratégiasMiddleware— integração automática com Laravel (opcional)