A cena é comum: o pedido não fecha, o dev copia o payload inteiro do var/log/ e cola numa IA pedindo ajuda. Funciona, resolve rápido, e ninguém pensa duas vezes. O problema é o que foi junto no meio do JSON.
Não estou falando de teoria de compliance. Estou falando do que está literalmente dentro da tabela sales_order da sua loja.
O que vai junto num pedido do Magento
A tabela sales_order tem mais de 150 colunas. Estas aqui são dado pessoal de gente real:
customer_email,customer_firstname,customer_lastname;customer_taxvat— é aqui que o CPF costuma morar nas lojas brasileiras;customer_dobecustomer_gender;remote_ipex_forwarded_for.
E a sales_order_address, que vem colada em qualquer dump de pedido, tem street, city, postcode, telephone e vat_id. Endereço residencial e telefone do comprador, inteirinhos.
Fora do banco, os mesmos dados aparecem em var/log/debug.log quando o módulo de pagamento loga requisição e resposta do gateway, e em var/report/, nos arquivos de exceção. São exatamente os arquivos que a gente copia quando algo quebra.
A LGPD define dado pessoal como informação relacionada a pessoa natural identificada ou identificável. E-mail, CPF, endereço e telefone entram sem discussão.
Um comando para limpar antes de colar
Esse aqui roda em qualquer Linux com GNU sed e resolve a maior parte dos casos:
sed -E \
-e 's/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/[EMAIL]/g' \
-e 's/[0-9]{3}\.[0-9]{3}\.[0-9]{3}-[0-9]{2}/[CPF]/g' \
-e 's/\(?[0-9]{2}\)? ?9?[0-9]{4}-[0-9]{4}/[FONE]/g' \
-e 's/\b([0-9]{1,3}\.){3}[0-9]{1,3}\b/[IP]/g' \
var/log/debug.log > /tmp/debug-anon.logA ordem importa: o CPF vem antes do IP, senão o padrão de números com ponto se confunde.
Agora o que ele não pega, e você precisa saber:
- nome próprio. Regex não distingue
MariadeProduto. Nome sai na mão. - CPF sem pontuação, tipo
52998224725. - telefone sem hífen.
- número de cartão. Se apareceu cartão no seu log, o problema é bem maior que a IA.
Depois de rodar, leia o arquivo antes de colar. Sempre. Leva dez segundos e é o que separa cuidado de teatro.
Se a ideia é automatizar isso dentro de um módulo ou de um pipeline, existe a biblioteca PHP magebitcom/pii-redactor, que detecta e mascara e-mail, telefone, cartão, IBAN e IP com validação de checksum. É bem mais completa que quatro regex.
O que a lei diz, sem juridiquês
Três artigos da Lei 13.709/2018 dão a régua prática.
Artigo 12. Os dados anonimizados não serão considerados dados pessoais para os fins desta Lei, salvo se a anonimização puder ser revertida com esforço razoável. É por isso que anonimizar não é frescura: é o que tira o seu log do escopo da lei.
Artigo 6º, inciso III. O princípio da necessidade manda limitar o tratamento ao mínimo necessário para a realização de suas finalidades. Traduzindo para o dia a dia: cole o stack trace, não o pedido inteiro. Se a pergunta é sobre um erro de serialização, o nome do cliente não ajuda em nada.
Artigo 33. Transferência internacional de dados pessoais só é permitida em hipóteses específicas. Mandar o payload para um provedor de IA hospedado fora do Brasil é transferência internacional — e vale a pena saber disso antes, não depois.
Uma última coisa, sobre a ferramenta: a política de uso de dados da API da OpenAI diz que, desde 1º de março de 2023, o que é enviado pela API não é usado para treinar os modelos, a menos que você opte por isso. Mas a API é um produto e a janela do chat que você abre no navegador é outro, com política e configuração próprias. Vá ler a da ferramenta que você realmente usa, no plano que você realmente tem.
Perguntas rápidas
Usar IA com dado de cliente é proibido pela LGPD?
Não é proibido. A lei exige base legal, finalidade definida e o mínimo de dado necessário, e trata transferência internacional em artigo próprio. O caminho seguro na prática é anonimizar antes, porque dado anonimizado sai do escopo da lei.
E se eu usar uma IA rodando no meu próprio servidor?
Muda bastante, porque acaba a transferência para terceiro e a transferência internacional. Continuam valendo as outras obrigações: finalidade, necessidade e segurança do ambiente onde o modelo roda.
Preciso anonimizar também quando abro chamado com fornecedor de módulo?
Mesma lógica. Anexar log cru num chamado é compartilhar dado pessoal com outra empresa. Anonimize igual, e se o fornecedor precisar do dado real, isso tem que estar previsto em contrato.
Pra conferir na fonte
- Lei nº 13.709, de 14 de agosto de 2018 (LGPD) — Presidência da República
- Your data (OpenAI API) — OpenAI
- magebitcom/pii-redactor — Packagist