Implantar um LLM (Claude, Gemini, GPT) em conformidade com o RGPD para uma empresa francesa — o checklist completo: pseudonimização de dados, acordo de tratamento (DPA), Zero Data Retention, hospedagem de logs e a questão do Mistral / soberania.
O mínimo regulatório
- Pseudonimização de PII antes de qualquer chamada externa a um LLM
- DPA do Artigo 28 do RGPD assinado com cada subcontratado que trata os dados. A Kunavo não oferece um: se o seu tratamento exigir isso, celebre o contrato diretamente com o fornecedor do modelo
- Registro das atividades de tratamento atualizado, incluindo a finalidade de cada chamada ao LLM
- Informação dos titulares: sua política de privacidade deve mencionar o uso de IA
1) Pseudonimização — código pronto para uso
Antes que o prompt saia do seu backend, substituímos os identificadores diretos por tokens. A tabela de correspondência permanece local:
# Pseudonymiser les données personnelles avant l'appel LLM
import re
from openai import OpenAI
PATTERNS = [
(re.compile(r"[\w.+-]+@[\w-]+\.[\w.-]+"), "<EMAIL>"),
(re.compile(r"\b(?:\+33|0)\s*[1-9](?:\s*\d{2}){4}\b"), "<PHONE_FR>"),
# Numéro de sécurité sociale français (15 chiffres)
(re.compile(r"\b[12]\d{2}(?:0[1-9]|1[012])(?:\d{2})(?:\d{3})(?:\d{3})(?:\d{2})\b"), "<NIR>"),
# IBAN FR
(re.compile(r"\bFR\d{2}\s?(?:\d{4}\s?){5}\d{3}\b"), "<IBAN_FR>"),
]
def pseudonymiser(texte: str) -> tuple[str, dict]:
masque = texte
mapping = {}
for i, (pat, tag) in enumerate(PATTERNS):
for m in pat.finditer(texte):
cle = f"{tag}_{i}_{m.start()}"
mapping[cle] = m.group(0)
masque = masque.replace(m.group(0), f"[{cle}]")
return masque, mappingO LLM vê "[EMAIL_0_42] fez um pedido de [IBAN_FR_3_158]" em vez dos identificadores reais. Se a resposta precisar reinserir os valores (por exemplo, em um e-mail de confirmação), fazemos a substituição inversa depois, nunca na chamada à API.
2) DPA — quem deve assinar o quê
- Você ↔ Kunavo: a Kunavo não oferece um DPA do Artigo 28 do RGPD. Suas solicitações são processadas nos Estados Unidos e transmitidas a fornecedores upstream, cujas próprias políticas de privacidade e retenção de dados se aplicam ao conteúdo
- Você ↔ fornecedor do modelo: se o seu tratamento exigir um DPA, assine-o diretamente com Anthropic, OpenAI ou Google, no âmbito das condições empresariais deles
- Cláusulas contratuais-tipo (CCT): para transferências para os EUA (Anthropic, OpenAI), verifique se as CCT aprovadas pela Comissão Europeia constam do DPA que você assina com o fornecedor
3) Retenção Zero de Dados (ZDR): diretamente com o fornecedor
Por padrão, Anthropic e Google mantêm os logs dos prompts por 30 dias (Anthropic) / 60 dias (Google) para monitoramento de abuso. Para cargas de trabalho sensíveis ao RGPD:
- Kunavo: não oferece ZDR. As solicitações passam pelo nosso gateway nos Estados Unidos e depois por fornecedores upstream, cujas próprias políticas de retenção se aplicam
- Anthropic ZDR: oferecido pela Anthropic aos seus clientes empresariais, mediante contrato direto com a Anthropic
- Google Vertex AI EU: mediante contrato direto com o Google Cloud, é possível usar o roteamento para europe-west1 (Bélgica) ou europe-west4 (Países Baixos) — os dados não saem da UE. A Kunavo não oferece nenhuma região da UE
- OpenAI: ZDR no nível Enterprise, mediante contrato direto com a OpenAI
A questão do Mistral e da soberania
Muitas equipes francesas querem reduzir a dependência de empresas americanas. Há três ângulos a considerar:
- Mistral pela Kunavo: não. Nenhum modelo Mistral nem outro fornecedor europeu está no catálogo, e não existe roteamento restrito a fornecedores europeus
- Mistral diretamente: para casos realmente sensíveis (setor público, saúde), o Mistral oferece implantação on-prem. A Kunavo não substitui essa necessidade
- Combinar os dois: Mistral diretamente para casos sensíveis, Claude pela Kunavo para raciocínio avançado. São dois fornecedores e duas chaves, e seu código escolhe para onde cada chamada vai
Hospedagem de logs e residência de dados
- Roteamento da Kunavo: no gateway, em uma única região (US-East, Ashburn). Apenas o edge anycast à frente termina o TLS perto de você
- Persistência da conta e cobrança: um único banco de dados primário em US-East, com snapshots diários criptografados do volume. Não há roteamento exclusivamente pela UE nem armazenamento em uma região da UE, inclusive mediante solicitação
- Seus logs da aplicação: cabe a você hospedá-los na UE (OVH, Scaleway, Hetzner). Não seja o elo mais fraco
Informação dos titulares — o que dizer
Se você fizer dados pessoais serem tratados por um LLM, a política de privacidade deverá mencioná-lo. Modelo mínimo:
Usamos modelos de inteligência artificial (Anthropic Claude, Google Gemini, OpenAI GPT) como subcontratados por meio da Kunavo (https://kunavo.com), para as seguintes finalidades: [classificação, resumo, geração de resposta etc.]. Os dados pessoais são pseudonimizados antes da transmissão. A Kunavo não usa esses dados para treinar modelos; cada fornecedor de modelo os processa de acordo com suas próprias políticas de privacidade e retenção. Você tem direito de acesso, retificação, oposição e apagamento de acordo com os artigos 15 a 21 do RGPD.
O que verificar antes de entrar em produção
- DPA assinado com cada subcontratado (diretamente com o fornecedor do modelo: a Kunavo não oferece um)
- Registro das atividades de tratamento atualizado
- Pseudonimização testada em uma amostra real (taxa de vazamento < 0,1 %)
- Logs em uma região da UE
- Procedimento para responder a solicitações do Artigo 17 (direito à eliminação)
- Política de privacidade atualizada e acessível
- DPO consultado em caso de tratamento em grande escala ou sensível
Pronto para começar? Inscreva-se gratuitamente e depois recarregue a partir de 10 $.