IA & Automação

Colar log de pedido do Magento no ChatGPT esbarra na LGPD

Não sou advogado, e essa dica não é parecer jurídico. É o que eu faço na prática antes de jogar qualquer coisa da loja de um cliente dentro de uma IA.

Por Roger Takemiya · Publicado em · 5 min de leitura

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_dob e customer_gender;
  • remote_ip e x_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.log

A 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 Maria de Produto. 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

  1. Lei nº 13.709, de 14 de agosto de 2018 (LGPD) — Presidência da República
  2. Your data (OpenAI API) — OpenAI
  3. magebitcom/pii-redactor — Packagist

lgpd ia privacidade

Precisa de um orçamento? Ficarei feliz em ajudar. Clique Aqui