Journaliser les interactions avec l’IA sans créer une nouvelle base de données personnelles

Par Emmanuel Forgues - 1er mai 2026

Journaliser les interactions avec l'IA sans créer une nouvelle base de données personnelles.

Les systèmes d’intelligence artificielle (IA) collectent chaque jour des millions d’échanges texte, vocal ou visuel. Pour garantir la traçabilité, détecter les dérives et satisfaire les exigences réglementaires, les organisations doivent consigner ces interactions. Cependant, un enregistrement naïf aboutit rapidement à la constitution d’une base de données contenant des informations personnelles (PII), exposant l’entreprise à des risques juridiques et sécuritaires majeurs. Ce texte analyse la mise en place d'une journalisation fiable, exploitable et conforme sans transformer les logs en «<0xE2><0x80><0xAF>big‑data<0xE2><0x80><0xAF>» personnel. Sont détaillés les principes techniques – pseudonymisation, chiffrement, agrégation différentiellement privée – les architectures possibles (immutable log stores, chaînes de hachage, solutions cloud natives) ainsi que le cadre juridique applicable. Un cas d’usage concret (chatbot service client) illustre la conciliation entre observabilité, gouvernance et respect de la vie privée, suivi des limites, des points de vigilance et des décisions clés pour les DSI, RSSI et responsables data.

Introduction

Imaginez une grande banque qui déploie un assistant virtuel capable de répondre aux questions de ses clients 24<0xE2><0x80><0xAF>h/24. Chaque dialogue est potentiellement riche d’informations personnelles : nom, numéro de compte, historique de transaction, voire données biométriques issues de la reconnaissance vocale. Le service juridique réclame des traces pour prouver que le bot ne commet pas de faute (ex.<0xE2><0x80><0xAF>: diffusion d’une information erronée). L’équipe DevSecOps configure alors les logs du serveur d’inférence et constate rapidement que chaque ligne de journal contient l’intégralité de la requête utilisateur, créant ainsi une base de données personnelle.

Ce scénario, aujourd’hui répandu dans les entreprises qui intègrent des modèles génératifs (ChatGPT, Claude, Gemini) ou des IA décisionnelles, pose deux questions fondamentales<0xE2><0x80><0xAF>:

  • Comment garantir la traçabilité et l’auditabilité des interactions IA ?
  • **Comment éviter que le système de journalisation ne crée une nouvelle source de données à caractère personnel, soumise aux exigences du RGPD, de la loi française sur la protection des données ou d’autres cadres (CCPA, HIPAA…)<0xE2><0x80><0xAF>?

La réponse réside dans l’articulation d'un cadre juridique et de gouvernance clair, de principes techniques de minimisation et d’anonymisation, et d'une architecture d’observabilité sécurisée. Ce texte développe ces axes, propose des solutions concrètes et indique les compromis à accepter.

1️⃣ Contexte : l’explosion des interactions IA et la nécessité de les journaliser

FacteurImpact sur la journalisation
Adoption massive des LLM (Large Language Models)Multiplication des requêtes utilisateur, souvent contenant des données sensibles.
Obligations réglementaires (RGPD art. 30, NIS‑2, ISO 27001 A.12.4)Nécessité de disposer d’un registre d’activités de traitement et de preuves d’auditabilité.
Exigences opérationnelles (débogage, amélioration continue du modèle)Besoin d’informations détaillées sur les entrées/sorties pour identifier les biais ou les dérives.
Pression des parties prenantes (clients, autorités)Demande de transparence et de capacité à répondre rapidement aux incidents.

Sans journalisation fiable, l’entreprise s’expose à<0xE2><0x80><0xAF>:

  • Risques de non‑conformité – sanctions pouvant atteindre 4<0xE2><0x80><0xAF>% du chiffre d’affaires annuel mondial selon le RGPD.
  • Perte de confiance – les clients peuvent abandonner un service perçu comme opaque.
  • Incidents de sécurité – l’absence de traces complique la réponse aux compromissions.

2️⃣ Pourquoi la journalisation des IA diffère‑telle du logging traditionnel ?

  • Volume et diversité des données – Les prompts, les contextes de conversation (messages précédents) et les métadonnées (identifiants de session, horodatage, latence) forment un flux continu, souvent non structuré.
  • Sensibilité intrinsèque – Même une phrase anodine («<0xE2><0x80><0xAF>Je veux changer mon adresse<0xE2><0x80><0xAF>») peut révéler plusieurs attributs personnels lorsqu’elle est corrélée à d’autres logs.
  • Cycle de vie du modèle – Les modèles évoluent (fine‑tuning, mise à jour) ; les logs doivent rester compréhensibles malgré ces changements.
  • Exigences d’explicabilité – Pour répondre aux demandes d’accès ou de rectification (art.<0xE2><0x80><0xAF>15 RGPD), il faut pouvoir reconstituer le contexte décisionnel sans exposer la donnée brute.

Ces spécificités imposent une approche de journalisation «<0xE2><0x80><0xAF>privacy‑by‑design<0xE2><0x80><0xAF>», qui transforme les traces dès l’ingestion pour éliminer ou masquer les PII plutôt que de simplement les stocker.

3️⃣ Risques liés à la création d’une base de données personnelles via les logs

RisqueConséquenceExemple
Collecte excessive (principle of data minimisation)Violation du RGPD art. 5(1)(c)Enregistrement complet du texte utilisateur sans filtrage.
Ré‑identification via corrélation de logs multiplesPerte d’anonymat, responsabilité légaleAssociation d’un ID de session avec l’adresse IP et le numéro de compte.
Exposition à la compromission (attaque sur le système de log)Fuite massive de données sensiblesIntrusion dans un serveur Elasticsearch non chiffré.
Conservation indéfinieRisque de “data‑hoarding” et coûts d’infrastructureConservation des logs pendant 10 ans alors que la durée légale est de 2 ans.

Ces risques justifient l’adoption de mécanismes techniques de protection dès le point d’entrée du flux de log.

4️⃣ Principes techniques pour journaliser sans créer de PII

4.1 Minimisation et filtrage à la source

  • Whitelist de champs – Ne retenir que les métadonnées indispensables (timestamp, ID de session anonymisé, code d’erreur).
  • Pattern‑matching – Utiliser des expressions régulières ou des modèles de détection (ex.<0xE2><0x80><0xAF>: PII-Regex de l’ANSSI) pour éliminer noms, numéros de carte, adresses e‑mail avant la persistance.

4.2 Pseudonymisation & tokenisation

  • Pseudonymes à usage unique – Générer un identifiant aléatoire (UUID v4) lié à la session ; le mapping réel est stocké séparément dans un coffre fort (ex.<0xE2><0x80><0xAF>: HashiCorp Vault).
  • Tokenisation reversible uniquement pour les besoins légaux (ex.<0xE2><0x80><0xAF>: droit d’accès) ; sinon, appliquer une tokenisation non réversible.

4.3 Chiffrement en‑repos et en‑transit

  • Chiffrement symétrique AES‑256‑GCM au niveau du disque ou de l’objet stocké (S3 SSE‑KMS, Azure Blob encryption).
  • TLS<0xE2><0x80><0xAF>1.3 obligatoire pour tous les flux de logs (OpenTelemetry collector → backend).

4.4 Agrégation différentiellement privée

  • Differential Privacy (DP) – Ajouter du bruit calibré aux métriques agrégées (ex.<0xE2><0x80><0xAF>: comptage d’erreurs par catégorie) avant leur stockage dans un data‑lake analytique.
  • Bibliothèques de référence : Google DP, OpenDP.

4.5 Immutabilité et chaînes de hachage (hash‑chain)

  • Log immuable – Utiliser des systèmes append‑only comme Amazon QLDB, Azure Confidential Ledger ou un cluster Elasticsearch avec index en lecture‑seule après validation.
  • Hash‑chain – Chaque entrée inclut le hash de l’entrée précédente, garantissant l’intégrité et la non‑répudiation.

4.6 Gestion du cycle de vie (retention)

  • Policy‑as‑Code (ex.<0xE2><0x80><0xAF>: Open Policy Agent) pour automatiser la purge après X jours selon la finalité légale.
  • Archivage chiffré – Déplacer les logs au-delà de la période active vers un stockage à froid (Glacier, Azure Archive) avec clé de chiffrement séparée.

5️⃣ Architectures possibles

5.1 Architecture « Immutable Log Store + Secure Processing » (exemple)

  • OpenTelemetry Collector agit comme point d’entrée où les filtres de PII sont appliqués.
  • Kafka assure la résilience et le découplage ; chaque message est chiffré avec une clé rotative.
  • QLDB / Confidential Ledger garantit l’immuabilité grâce à un journal signé par AWS KMS.
  • SIEM consomme uniquement les métadonnées anonymisées pour la détection d’anomalies.
  • Data Lake reçoit des agrégats différentiellement privés pour le reporting business.

5.2 Variante « Serverless + Cloud‑Native Logging »

ComposantFonction
API Gateway (AWS API GW / Azure APIM)Authentification, génération d’UUID, masquage des headers.
Lambda / FunctionsApplication IA ; avant retour, appel à une fonction « sanitize‑log ».
Firehose → S3 (SSE‑KMS)Stockage brut chiffré, puis déclenchement d’une Lambda de nettoyage.
Amazon OpenSearch ServiceIndexation des logs anonymisés pour recherche et alerting.
AWS Glue + DP jobsAgrégation périodique avec bruit ajouté avant chargement dans Redshift ou Snowflake.

Cette approche minimise la surface d’attaque (pas de serveur persistant) mais nécessite une gouvernance stricte des fonctions serverless.

6️⃣ Cadre réglementaire et exigences de conformité

RéférenceObligation pertinenteImplication pour les logs IA
RGPD art. 30 (Registre des activités)Tenir un registre détaillé des traitements, incluant la journalisation.Les logs doivent être traçables, mais sans stocker de PII inutiles.
RGPD art. 25 (Privacy‑by‑Design)Intégrer les mesures de protection dès la conception.Filtrage à la source, pseudonymisation obligatoire.
eIDAS / NIS‑2Sécurité des systèmes d’information critiques.Immutabilité et chiffrement requis pour garantir l’intégrité.
ISO/IEC 27001 A.12.4Enregistrement des événements de sécurité.Les logs doivent être protégés contre la modification et les accès non autorisés.
ENISA “Guidelines on secure logging” (2022)Bonnes pratiques de journalisation sécurisée.Recommandations sur le format structuré (JSON), horodatage fiable, hash‑chain.
NIST SP 800‑122 (Guide sur la protection des PII)Techniques de minimisation et de chiffrement.Appliquer les contrôles NIST 3.1‑4 (masking, tokenization).

Chaque organisation doit réaliser une Analyse d’Impact relative à la Protection des Données (DPIA) dès le déploiement d’une IA générative pour identifier les flux de données sensibles et valider que les mécanismes ci‑dessus respectent les exigences légales.

7️⃣ Mise en œuvre opérationnelle : du code à l’observabilité

ÉtapeAction concrèteOutils / Exemple
1. Définir le schéma de logJSON structuré : {timestamp, session_id, request_hash, response_code, latency}OpenTelemetry SDK (Python, Java)
2. Implémenter le filtre PIIMiddleware qui applique les regex ANSSI et remplace les valeurs par ***pii-filter npm package, ou script Python custom
3. Générer l’UUID de sessionUUID v4 stocké dans un cookie httpOnly, mappé dans VaultHashiCorp Vault KV secret engine
4. Chiffrer les fluxTLS 1.3 + chiffrement côté producteur (AES‑GCM)Kafka SSL + client‑side encryption lib kafka-encrypt
5. Persister de façon immuableWrite‑once bucket ou QLDB ledgerAWS S3 Object Lock, Azure Immutable Blob
6. Alimenter le SIEMExport via Logstash → Elastic Stack (indices en lecture‑seule)Beats, Filebeat avec pipeline de décodage
7. Agréger et appliquer DPJob quotidien qui calcule les métriques (ex : taux d’erreur) + bruit LaplacienOpenDP Python library
8. Automatiser la rétentionPolicy‑as‑Code via OPA, déclencheur Lambda pour purgeOPA Rego rule allow_log_retention

L'intégration de ces étapes dans le pipeline CI/CD (GitLab<0xE2><0x80><0xAF>CI, GitHub<0xE2><0x80><0xAF>Actions) permet de valider chaque modification du code de logging avec des tests unitaires et des scans de conformité (e.g., Checkov, tfsec pour l’infrastructure).

8️⃣ Cas d’usage : journalisation d’un chatbot service client

Contexte

Une compagnie d’assurances déploie un assistant virtuel capable de :

  • Répondre aux questions sur les garanties.
  • Initier la création d’un sinistre (enregistrement d’une photo, description).

Chaque interaction est soumise aux exigences du RGPD (droit d’accès) et au besoin de détecter les réponses erronées qui pourraient entraîner des litiges.

Architecture mise en place

  • Entrée – Le bot reçoit le texte via un endpoint HTTPS protégé par OAuth<0xE2><0x80><0xAF>2.0.
  • Filtrage PII – Un middleware Node.js applique les regex ANSSI et remplace les numéros de police ([0-9]{10}) par ##########.
  • UUID Session – Génération d’un UUID v4, stocké dans un cookie HttpOnly; le mapping réel (numéro de contrat ↔ UUID) est enregistré dans Vault avec politique “only‑read‑by‑DPO”.
  • Export des logs – OpenTelemetry Collector envoie les logs vers un topic Kafka chiffré.
  • Immuable Store – Le topic alimente Amazon QLDB, chaque entrée contenant le hash du précédent (hash‑chain).
  • SIEM – Elastic Stack consomme uniquement les champs anonymisés (session_id, response_code, latency).
  • Analyse DP – Un job Spark lit les logs de QLDB, agrège le nombre de réponses par catégorie d’erreur et ajoute du bruit Laplacien (ε<0xE2><0x80><0xAF>=<0xE2><0x80><0xAF>0,5) avant de publier un tableau de bord PowerBI accessible aux managers.

Résultats obtenus

IndicateurAvant implémentationAprès implémentation
Temps moyen d’audit (recherche d’un incident)3 h15 min
Coût de stockage (logs PII)12 GB / mois €0,023 = €0,284 GB / mois (réduction 66 %)

| Conformité RGPD | Risque d’amende estimé à €150<0xE2><0x80><0xAF>k | DPIA validée, aucune remarque

Poursuivre le parcours : La preuve numérique immuableSolutionProduitDemander une démonstration

Retour au blog

StratoSentry - 125 boulevard Saint-Denis, 92400 Courbevoie, France - contact@stratosentry.com