Torna al blog
Conformità·25 maggio 2026·7 min di lettura

Conformità RGPD per gli LLM in Francia — pseudonimizzazione, DPA e sovranità

Checklist completa per distribuire Claude / Gemini / GPT in conformità al RGPD: codice per la pseudonimizzazione dei dati personali, con chi firmare un DPA ai sensi dell’articolo 28, Zero Data Retention direttamente con Anthropic e Google, la questione Mistral e la sovranità dell’IA, hosting dei log e informazione degli interessati.

Implementare un LLM (Claude, Gemini, GPT) conforme al RGPD per un'azienda francese: la checklist completa: pseudonimizzazione dei dati, accordo sul trattamento (DPA), Zero Data Retention, hosting dei log e la questione Mistral / sovranità.

Il minimo richiesto dalla normativa

  1. Pseudonimizzazione dei dati personali prima di qualsiasi chiamata a un LLM esterno
  2. DPA ai sensi dell'articolo 28 del RGPD firmato con ogni sub-responsabile che tratta i dati. Kunavo non ne offre uno: se il tuo trattamento lo richiede, stipula un contratto direttamente con il provider del modello
  3. Registro dei trattamenti aggiornato, inclusa la finalità di ogni chiamata al LLM
  4. Informazione degli interessati: la tua informativa sulla privacy deve menzionare l'uso dell'IA

1) Pseudonimizzazione — codice pronto all'uso

Prima che il prompt lasci il tuo backend, sostituiamo gli identificativi diretti con token. La tabella di corrispondenza rimane locale:

pseudonymiser.py
# 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, mapping

Il LLM vede "[EMAIL_0_42] ha ordinato [IBAN_FR_3_158]" invece degli identificativi reali. Se la risposta deve reinserire i valori (per esempio per un'e-mail di conferma), eseguiamo la sostituzione inversa successivamente, mai nella chiamata API.

2) DPA — chi deve firmare cosa

  • Tu ↔ Kunavo: Kunavo non offre un DPA ai sensi dell'articolo 28 del RGPD. Le tue richieste vengono elaborate negli Stati Uniti e trasmesse a provider upstream, ai cui contenuti si applicano le rispettive politiche di privacy e conservazione dei dati
  • Tu ↔ provider del modello: se il tuo trattamento richiede un DPA, firmalo direttamente con Anthropic, OpenAI o Google secondo i rispettivi termini enterprise
  • Clausole contrattuali tipo (CCT): per i trasferimenti verso gli Stati Uniti (Anthropic, OpenAI), verifica che le CCT approvate dalla Commissione europea siano incluse nel DPA che firmi con il provider

3) Zero Data Retention (ZDR): direttamente con il provider

Per impostazione predefinita, Anthropic e Google conservano i log dei prompt per 30 giorni (Anthropic) / 60 giorni (Google) ai fini del monitoraggio degli abusi. Per carichi di lavoro sensibili ai sensi del RGPD:

  • Kunavo: nessuna ZDR. Le richieste passano dal nostro gateway negli Stati Uniti e poi dai provider upstream, ai quali si applicano le rispettive politiche di conservazione
  • Anthropic ZDR: offerta da Anthropic ai propri clienti enterprise, con contratto diretto con Anthropic
  • Google Vertex AI EU: con un contratto diretto con Google Cloud, è possibile usare il routing verso europe-west1 (Belgio) o europe-west4 (Paesi Bassi): i dati non lasciano l'UE. Kunavo non offre alcuna regione UE
  • OpenAI: ZDR nel tier Enterprise, con contratto diretto con OpenAI

La questione Mistral e la sovranità

Molti team francesi vogliono ridurre la dipendenza dagli operatori statunitensi. Ci sono tre aspetti da considerare:

  • Mistral tramite Kunavo: no. Nel catalogo non è presente alcun modello Mistral né alcun altro fornitore europeo e non esiste un routing limitato ai fornitori europei
  • Mistral direttamente: per i casi realmente sensibili (settore pubblico, sanità), Mistral offre un'implementazione on-premise. Kunavo non sostituisce questa esigenza
  • Combinare le due opzioni: Mistral direttamente per i casi sensibili, Claude tramite Kunavo per il ragionamento avanzato. Sono due fornitori e due chiavi, e spetta al tuo codice scegliere dove inviare ogni chiamata

Hosting dei log e localizzazione dei dati

  • Routing Kunavo: all'interno del gateway, in un'unica regione (US-East, Ashburn). Solo l'edge anycast posto davanti termina il TLS vicino a te
  • Persistenza dell'account e fatturazione: un unico database primario in US-East, con snapshot giornalieri crittografati del volume. Né routing solo UE né archiviazione in una regione UE, nemmeno su richiesta
  • I tuoi log applicativi: devi ospitarli tu nell'UE (OVH, Scaleway, Hetzner). Non essere l'anello debole

Informazione degli interessati — cosa comunicare

Se fai trattare dati personali da un LLM, devi menzionarlo nell'informativa sulla privacy. Modello minimo:

Utilizziamo modelli di intelligenza artificiale (Anthropic Claude, Google Gemini, OpenAI GPT) come sub-responsabili tramite Kunavo (https://kunavo.com), per le seguenti finalità: [classificazione, riepilogo, generazione di risposte, ecc.]. I dati personali vengono pseudonimizzati prima della trasmissione. Kunavo non utilizza questi dati per addestrare modelli; ogni provider del modello li tratta secondo le proprie politiche di privacy e conservazione. Hai diritto di accesso, rettifica, opposizione e cancellazione ai sensi degli articoli da 15 a 21 del RGPD.

Cosa verificare prima della messa in produzione

  • DPA firmato con ogni sub-responsabile (direttamente con il provider del modello: Kunavo non ne offre uno)
  • Registro dei trattamenti aggiornato
  • Pseudonimizzazione testata su un campione reale (tasso di fuga < 0,1 %)
  • Log in una regione UE
  • Procedura per rispondere alle richieste ai sensi dell'articolo 17 (diritto alla cancellazione)
  • Informativa sulla privacy aggiornata e accessibile
  • DPO consultato in caso di trattamento su larga scala o sensibile

Pronto per iniziare? Registrazione gratuita, poi ricarica a partire da 10 $.