Tous les articles Sécurité & RGPD

RGPD et IA générative : le guide de conformité de vos projets RAG

L'équipe RagNight · 18 min de lecture · 10 février 2026

Le guide de conformité RGPD pour vos projets RAG : base légale, minimisation, données personnelles dans les embeddings et les prompts, droit à l'effacement qui cascade jusqu'aux vecteurs, sous-traitants et articulation avec l'AI Act.

Brancher un assistant RAG sur la documentation interne d'une entreprise, c'est presque toujours brasser des données personnelles : noms dans des comptes-rendus, coordonnées de clients dans des tickets, identités dans des contrats, signatures au bas des e-mails. Le RGPD ne s'arrête pas à la porte de votre projet d'IA — au contraire, l'IA générative en amplifie les enjeux, parce qu'elle duplique, vectorise et parfois exfiltre ces données vers des modèles externes. La bonne nouvelle : un RAG bien conçu est aussi un RAG conforme. La conformité n'est pas une couche juridique bolté après coup, c'est une propriété d'architecture qui se décide à l'ingestion, pas au moment du contrôle de la CNIL.

Ce guide déroule, point par point, la mise en conformité RGPD d'un projet RAG — du choix de la base légale jusqu'à l'effacement qui cascade dans les embeddings, en passant par l'AIPD, le registre des sous-traitants et l'articulation avec l'EU AI Act. L'objectif n'est pas de vous transformer en juriste, mais de vous donner les décisions d'ingénierie qui rendent un système défendable.

Quelles données personnelles dans un RAG ?

Premier réflexe : cartographier où vivent les données personnelles dans votre pipeline. Elles sont partout, souvent là où on ne les attend pas :

  • dans les documents ingérés (comptes-rendus de réunion, contrats, e-mails, tickets support, fiches RH) ;
  • dans les embeddings — un vecteur dérive du texte source ; il n'est pas « anonyme » par magie ;
  • dans les prompts envoyés au modèle, qui contiennent les questions des utilisateurs et le contexte récupéré ;
  • dans les journaux (historiques de conversation, logs de requêtes, traces d'observabilité) ;
  • dans les métadonnées attachées aux chunks (auteur du document, date, service émetteur) ;
  • dans les données de l'utilisateur lui-même (qui pose quelles questions, et quand).

Prenez un cas concret. Une entreprise indexe ses comptes-rendus d'entretiens annuels pour qu'un assistant aide les managers à préparer leurs revues. Chaque document contient le nom du salarié, des appréciations, parfois des informations de santé (un arrêt mentionné), des éléments de rémunération. À l'ingestion, ce document devient une trentaine de chunks, chacun vectorisé en un embedding de 1536 ou 3072 dimensions, stocké dans un index. La question d'un manager (« Quels étaient les axes de progrès de Jean Dupont l'an dernier ? ») devient un prompt qui contient le nom et rapatrie les passages les plus sensibles du dossier. On a là, sur une seule requête, du traitement de données potentiellement sensibles, une diffusion à un modèle, et une trace persistante. Si ce modèle est une API hors UE, la donnée a voyagé.

Une erreur classique : croire que vectoriser « anonymise » les données. Un embedding est une transformation du contenu, pas une suppression. Des travaux de recherche ont montré qu'on peut reconstruire une partie substantielle du texte d'origine à partir de ses seuls vecteurs (attaques d'inversion d'embeddings). S'il dérive de données personnelles, l'embedding reste soumis au RGPD.

Tant que cette cartographie n'est pas faite, tout le reste est de l'aveuglement. C'est aussi elle qui alimentera votre registre des traitements et, le cas échéant, votre AIPD.

La base légale : le point de départ obligatoire

Aucun traitement de données personnelles n'est licite sans base légale. C'est l'article 6 du RGPD, et il n'admet pas d'exception : pas de base légale, pas de traitement. Pour un RAG d'entreprise, les bases pertinentes sont en pratique au nombre de trois ou quatre.

L'intérêt légitime, et son test de mise en balance

C'est la base la plus souvent retenue pour un outil interne de productivité. Mais l'intérêt légitime n'est pas un blanc-seing : il impose un test de mise en balance (balancing test) en trois temps, qu'il faut documenter par écrit.

  1. Le test de finalité : l'intérêt poursuivi est-il légitime ? « Améliorer la productivité des équipes en rendant la connaissance interne facilement interrogeable » est un intérêt légitime recevable.
  2. Le test de nécessité : le traitement est-il nécessaire à cette finalité ? Indexer l'intégralité des dossiers RH pour répondre à des questions sur les procédures internes ne l'est pas — il existe des moyens moins intrusifs. C'est ici que la minimisation rejoint la base légale.
  3. La mise en balance proprement dite : les intérêts de l'entreprise priment-ils sur les droits et libertés des personnes concernées ? On pèse les attentes raisonnables des personnes, l'existence de garanties (pseudonymisation, restriction d'accès, droit d'opposition), et la sensibilité des données.

Concrètement : un assistant qui interroge la base documentaire technique et les procédures internes passe facilement le test. Un assistant qui aspire les e-mails personnels de l'ensemble des salariés pour « tout savoir » échoue à la mise en balance — l'attente raisonnable d'un salarié n'est pas que ses échanges soient vectorisés et exposés à des collègues via un chatbot.

Le cas particulier de l'employé

Le consentement est tentant mais piégeux en contexte employé. Le lien de subordination fragilise sa validité : un salarié n'est pas en position de refuser librement quand l'employeur le sollicite. La CNIL et le CEPD sont constants là-dessus. Pour un outil interne, on retiendra donc plutôt l'intérêt légitime (pour un outil de confort) ou l'exécution du contrat de travail / l'obligation légale (pour un traitement réellement nécessaire à la relation de travail). Réservez le consentement aux cas où il est réellement libre et révocable sans conséquence.

L'exécution d'un contrat et l'obligation légale

Un assistant qui traite les données strictement nécessaires à la fourniture d'un service contractuel (par exemple répondre aux clients à partir de leurs propres dossiers) peut s'appuyer sur l'exécution du contrat. L'obligation légale couvre des cas plus rares (conservation de documents comptables, par exemple).

Identifiez la base légale pour chaque catégorie de données ingérée, pas pour « le projet RAG » en bloc. La documentation technique relève souvent de l'intérêt légitime ; les dossiers clients, de l'exécution du contrat ; les données RH sensibles peuvent exiger une base distincte, voire être exclues du corpus. C'est la fondation : tout le reste en découle.

La minimisation : moins, c'est mieux

Le principe de minimisation (article 5.1.c) est aussi une bonne pratique d'ingénierie. N'ingérez que les documents réellement utiles à l'usage visé. Un corpus pléthorique :

  • augmente la surface de risque (plus de données personnelles exposées, plus de cibles en cas de fuite) ;
  • dégrade souvent la pertinence (bruit, doublons, contradictions, documents obsolètes qui remontent dans les résultats) ;
  • alourdit la conformité (plus à documenter, plus à protéger, plus à effacer).

En pratique, la minimisation se décline en plusieurs leviers concrets :

  • Filtrage à la source : exclure d'emblée les espaces qui n'ont rien à faire dans un assistant (dossiers RH, juridique sensible, boîtes mail personnelles). Une liste d'inclusion explicite vaut mieux qu'une liste d'exclusion.
  • Suppression de colonnes / champs inutiles : si vous indexez des tickets, avez-vous besoin du numéro de téléphone du client dans le chunk, ou seulement de la description du problème ?
  • Caviardage à l'ingestion : retirer ou masquer les identifiants directs qui ne servent pas à la finalité (voir la pseudonymisation, plus bas).
  • Fraîcheur : ne pas indexer des versions périmées qui multiplient les copies de données personnelles obsolètes.

Minimiser sert deux maîtres à la fois : la conformité RGPD et la qualité du RAG. Un corpus resserré et pertinent est plus sûr et plus performant. Le bruit que vous retirez pour la conformité est aussi le bruit qui dégradait vos résultats de récupération.

Le droit à l'effacement : la cascade jusqu'aux embeddings

C'est l'exigence la plus souvent ratée techniquement. Quand une personne exerce son droit à l'effacement (article 17), supprimer le document source ne suffit pas. L'information vit aussi dans :

  • les chunks dérivés du document ;
  • les embeddings de ces chunks ;
  • les index vectoriels (qui peuvent garder une référence même après suppression de la ligne) ;
  • les éventuelles copies : caches de résultats, sauvegardes, journaux de conversation qui ont rapatrié le passage.

Un modèle de données qui rend l'effacement possible

La condition technique de l'effacement, c'est la traçabilité de la filiation : chaque embedding doit savoir de quel chunk il vient, et chaque chunk de quel document. Un schéma relationnel simple suffit, à condition que les clés étrangères soient posées dès le départ. Avec PostgreSQL et pgvector, cela ressemble à :

CREATE TABLE documents (
  id           BIGSERIAL PRIMARY KEY,
  source_ref   TEXT NOT NULL,        -- identifiant côté source (GED, ticket…)
  subject_id   TEXT,                 -- personne concernée, si identifiable
  created_at   TIMESTAMPTZ DEFAULT now()
);

CREATE TABLE document_chunks (
  id           BIGSERIAL PRIMARY KEY,
  document_id  BIGINT NOT NULL REFERENCES documents(id) ON DELETE CASCADE,
  content      TEXT NOT NULL,
  embedding    vector(1536)          -- index HNSW par-dessus
);

CREATE INDEX ON document_chunks USING hnsw (embedding vector_cosine_ops);

Le ON DELETE CASCADE est ici le détail qui change tout : supprimer une ligne documents purge automatiquement ses chunks et leurs embeddings, et l'index HNSW est mis à jour en conséquence. L'effacement d'une personne concernée devient alors une requête déterministe :

-- Effacement de tous les documents rattachés à une personne
DELETE FROM documents WHERE subject_id = $1;
-- chunks + embeddings supprimés en cascade, index nettoyé

Si vous stockez vos vecteurs dans une base séparée (moteur vectoriel dédié) plutôt que dans PostgreSQL, vous perdez le CASCADE gratuit : il faut alors propager la suppression vous-même, par identifiant de document, et vous assurer que le moteur supprime réellement le vecteur de l'index (et pas seulement le marque comme supprimé en attendant un compactage). C'est l'un des arguments en faveur d'un stockage vectoriel dans la base transactionnelle.

La preuve de l'effacement

Le RGPD vous demande non seulement d'effacer, mais de pouvoir le prouver (principe d'accountability, article 5.2). Tracez chaque effacement dans un journal dédié : qui a demandé, quand, sur quel subject_id, combien de documents/chunks supprimés, et la confirmation de purge des caches et sauvegardes. Attention au paradoxe : ce journal de preuve ne doit pas lui-même réintroduire les données effacées — on y consigne des identifiants techniques et un horodatage, pas le contenu supprimé.

N'oubliez pas les angles morts : les sauvegardes (définissez une politique de réécrasement plutôt que de conserver éternellement des backups contenant des données effacées), les caches de réponses, et les historiques de conversation où un extrait du document a pu être restitué à un utilisateur.

Effacement demandé
   ─► supprimer le document source
   ─► supprimer les chunks rattachés (CASCADE)
   ─► supprimer les embeddings correspondants + index
   ─► purger caches de réponses et résultats mémorisés
   ─► planifier l'expiration dans les sauvegardes
   ─► tracer l'opération dans le journal de preuve

Concevez l'effacement dès le départ. Rattraper a posteriori une architecture où les embeddings ne sont pas reliés à leur source est douloureux — il faut parfois re-vectoriser tout le corpus pour reconstruire la filiation — et expose à des manquements coûteux.

Les données personnelles dans les prompts

Chaque requête envoie au modèle la question de l'utilisateur et le contexte récupéré, qui peut contenir des données personnelles. Si le modèle est une API hors UE, ces données sortent de votre périmètre au moment précis de l'inférence — c'est le point de fuite le plus fréquent et le plus sous-estimé. Deux parades complémentaires.

Détection et pseudonymisation avant l'envoi

Avant d'envoyer le contexte à un modèle externe, on détecte les entités personnelles (noms, e-mails, numéros, IBAN…) et on les remplace par des jetons stables. « Stable » est le mot important : le même nom doit donner le même jeton dans tout le prompt, sinon le modèle perd le fil. Exemple :

Prompt brut :
« Jean Dupont (jean.dupont@acme.fr) a signalé un bug le 12/03.
  Relance demandée par Marie Durand. »

Prompt pseudonymisé envoyé au modèle :
« [PERSONNE_1] ([EMAIL_1]) a signalé un bug le 12/03.
  Relance demandée par [PERSONNE_2]. »

À la réception, on re-substitue les jetons par les vraies valeurs avant d'afficher la réponse à l'utilisateur autorisé. Le modèle externe, lui, n'a jamais vu les identités. On garde une table de correspondance jeton → valeur côté UE, en mémoire de session, jamais persistée chez le sous-traitant.

Cette technique a ses limites : elle ne rend pas les données anonymes au sens du RGPD (le RAG reste capable de ré-identifier, donc on est dans la pseudonymisation, qui demeure un traitement de données personnelles), elle peut échouer sur des entités mal détectées ou des données indirectement identifiantes (« le directeur financier de la filiale de Lyon »), et elle dégrade parfois la qualité de la réponse. Mais elle réduit fortement l'exposition au point de fuite le plus courant.

Routage par sensibilité

Toutes les requêtes ne se valent pas. Mettez en place un routage : les requêtes dont le contexte contient des données sensibles (santé, opinions, données RH) sont traitées par un modèle EU ou auto-hébergé (Mistral sur La Plateforme EU, un modèle ouvert type Llama 4 ou Mistral Small 3 sur OVHcloud ou Scaleway) ; les requêtes anodines peuvent aller vers une API externe plus performante. Le routage repose sur la classification du contexte récupéré, pas seulement de la question — c'est le contexte qui porte le risque.

Sous-traitants et transferts hors UE

Chaque fournisseur qui traite vos données pour votre compte est un sous-traitant au sens du RGPD (article 28). Le périmètre est plus large qu'on ne le croit.

Cartographier toute la chaîne

Le réflexe est de ne penser qu'au LLM. Or la chaîne complète d'un RAG inclut souvent :

  • le fournisseur du modèle de génération (OpenAI, Anthropic, Mistral, Google…) ;
  • le fournisseur des embeddings (qui voit vos textes au moment de la vectorisation) ;
  • l'hébergement de la base vectorielle et de l'application ;
  • l'outil d'observabilité / tracing (qui peut journaliser des prompts entiers, donc des données personnelles) ;
  • les services de détection / OCR / parsing de documents en amont.

Chacun doit figurer dans votre registre des sous-traitants, avec sa localisation, la nature des données traitées, et le DPA (Data Processing Agreement) signé. Un outil d'observabilité qui capture les prompts en clair et les stocke aux États-Unis est un transfert hors UE que beaucoup d'équipes oublient.

Encadrer les transferts hors UE

Pour tout transfert hors de l'Espace économique européen, il faut une garantie appropriée (chapitre V du RGPD) :

  • une décision d'adéquation (par exemple le EU-US Data Privacy Framework pour les fournisseurs américains qui y sont certifiés — vérifiez la certification, elle n'est pas automatique) ;
  • à défaut, les clauses contractuelles types (CCT / SCC) de la Commission européenne, complétées par une analyse d'impact des transferts (TIA) post-arrêt Schrems II évaluant si le droit du pays de destination offre une protection équivalente, et des mesures supplémentaires (chiffrement, pseudonymisation) si nécessaire.

Vérifiez aussi les engagements de non-rétention et de non-réutilisation pour l'entraînement : la plupart des offres « entreprise » des grands fournisseurs s'engagent à ne pas entraîner sur vos données et à ne pas les conserver au-delà d'un court délai anti-abus, mais ce n'est pas le cas des offres grand public. La frontière entre les deux est une source classique de fuite.

Le fournisseur de votre modèle, de votre hébergement vectoriel, de votre outil d'observabilité, de votre OCR : tous peuvent être des sous-traitants. Cartographiez la chaîne complète, pas seulement le LLM, et tenez le registre à jour à chaque nouvel outil branché sur le pipeline.

L'AIPD : quand et comment

L'analyse d'impact relative à la protection des données (AIPD, ou DPIA en anglais — article 35) est obligatoire lorsqu'un traitement est susceptible d'engendrer un risque élevé pour les droits et libertés des personnes.

Quand est-elle requise ?

Le RGPD et les lignes directrices du CEPD posent des critères. Une AIPD est requise notamment en cas d'évaluation/scoring à grande échelle, de traitement à grande échelle de données sensibles, de surveillance systématique, ou de combinaison de jeux de données. La CNIL publie en outre une liste de traitements qui imposent une AIPD. Pour un RAG, plusieurs situations la déclenchent typiquement :

  • indexation à grande échelle de données RH, de santé ou d'autres données sensibles ;
  • assistant qui produit une forme d'évaluation des personnes (résumés de performance, scoring de candidats) ;
  • recoupement de plusieurs sources qui, combinées, deviennent fortement identifiantes.

À l'inverse, un assistant interrogeant uniquement de la documentation technique sans données personnelles significatives ne déclenche en général pas d'AIPD — mais documentez ce raisonnement (le « pourquoi pas » fait partie de l'accountability).

Ce qu'elle contient

Une AIPD bien faite décrit :

  1. Le traitement : finalités, catégories de données, flux (ingestion → vectorisation → récupération → génération → logs), sous-traitants et transferts.
  2. La nécessité et la proportionnalité : base légale, minimisation, durées de conservation, information des personnes.
  3. Les risques pour les personnes : accès non autorisé, ré-identification via les embeddings, fuite via le modèle externe, restitution de données à un utilisateur non habilité (un RAG sans contrôle d'accès au niveau du chunk peut « répondre » avec des données qu'un utilisateur ne devrait pas voir).
  4. Les mesures : pseudonymisation, routage par sensibilité, contrôle d'accès aux chunks, effacement en cascade, chiffrement, journalisation.

L'AIPD est un document vivant : on la met à jour quand l'architecture change (nouveau modèle, nouvelle source de données, nouveau sous-traitant). C'est aussi votre meilleur outil de dialogue avec le DPO.

La durée de conservation

Les journaux de conversation et les historiques de requêtes contiennent des données personnelles (la question elle-même, le contexte rapatrié, parfois l'identité de l'utilisateur) et ne doivent pas s'accumuler indéfiniment (article 5.1.e). Définissez et appliquez des politiques de rétention concrètes. Quelques ordres de grandeur raisonnables, à adapter à votre contexte :

  • Historiques de conversation utilisateur : conservation courte (par exemple 30 à 90 jours) pour le confort d'usage, puis purge ou anonymisation automatique.
  • Logs techniques / traces d'observabilité contenant des prompts : rétention minimale, idéalement avec pseudonymisation des prompts dès la capture, et purge sous quelques semaines.
  • Documents indexés : durée alignée sur la durée de conservation du document source dans son système d'origine — un document supprimé à la source doit l'être dans le RAG.
  • Sauvegardes : rotation avec expiration, pour qu'une donnée effacée ne survive pas indéfiniment dans un backup.

La mise en œuvre passe par des purges automatiques (tâches planifiées) plutôt que par des suppressions manuelles qu'on oublie. Une donnée qu'on ne conserve plus est une donnée qu'on n'a plus à protéger, plus à effacer sur demande, et qui ne fuitera pas.

L'articulation avec l'EU AI Act

Le RGPD et l'EU AI Act se cumulent : ils ne se substituent pas l'un à l'autre. Le premier protège les données personnelles (base légale, minimisation, droits des personnes, AIPD) ; le second encadre le système d'IA lui-même (classification par niveau de risque, documentation technique, transparence, supervision humaine).

Pour situer le calendrier : l'AI Act est entré en vigueur le 1er août 2024 ; les pratiques interdites et les obligations de littératie IA s'appliquent depuis février 2025 ; les obligations des modèles d'usage général (GPAI) depuis août 2025 ; le gros des obligations pour les systèmes à haut risque s'applique en août 2026, et certaines en 2027. L'approche est par niveaux de risque : inacceptable, élevé, limité (transparence), minimal.

La plupart des assistants RAG internes relèvent du niveau transparence limitée : il faut alors informer les utilisateurs qu'ils interagissent avec une IA et, le cas échéant, marquer les contenus générés. Mais un RAG qui interviendrait dans une décision à haut risque (tri de candidatures, évaluation d'accès à un service essentiel) bascule dans la catégorie « haut risque » et hérite d'obligations bien plus lourdes : gestion des risques, qualité des données, documentation technique, journalisation, supervision humaine.

En pratique, les deux régimes se nourrissent l'un l'autre. La cartographie des données de votre AIPD alimente la documentation technique de l'AI Act ; l'analyse de risque de l'AI Act recoupe l'analyse des risques pour les personnes de l'AIPD. Mais une conformité ne vaut pas l'autre : avoir fait une AIPD ne vous exempte pas des obligations de transparence de l'AI Act, et inversement.

Checklist de conformité RAG

  • [ ] Cartographie des données personnelles dans tout le pipeline (docs, chunks, métadonnées, embeddings, prompts, logs, données utilisateur)
  • [ ] Base légale identifiée et documentée pour chaque catégorie de données ingérée ; test de mise en balance écrit si intérêt légitime
  • [ ] Consentement employé évité au profit de l'intérêt légitime ou de l'exécution du contrat
  • [ ] Minimisation : liste d'inclusion explicite, exclusion des espaces sensibles, caviardage à l'ingestion
  • [ ] Effacement en cascade : embeddings rattachés à leur source (ON DELETE CASCADE ou propagation explicite), purge des index et caches
  • [ ] Preuve de l'effacement : journal dédié, prise en compte des sauvegardes et historiques
  • [ ] Pseudonymisation des données personnelles avant tout envoi à un modèle externe (jetons stables, re-substitution côté UE)
  • [ ] Routage par sensibilité vers un modèle EU / auto-hébergé pour les requêtes sensibles
  • [ ] Contrôle d'accès au niveau du chunk : un utilisateur ne récupère que ce qu'il a le droit de voir
  • [ ] Registre des sous-traitants complet (modèle, embeddings, hébergement, observabilité, OCR) avec DPA signés
  • [ ] Transferts hors UE encadrés (adéquation / CCT + TIA + mesures supplémentaires) ; engagements de non-rétention et non-entraînement vérifiés
  • [ ] Durées de conservation définies et appliquées par purge automatique (historiques, logs, sauvegardes)
  • [ ] AIPD réalisée si le traitement le requiert, et tenue à jour
  • [ ] Transparence AI Act : information des utilisateurs, marquage des contenus générés ; classification du niveau de risque
  • [ ] Traçabilité : journalisation des accès et des traitements

Conclusion

La conformité RGPD d'un RAG n'est pas une couche juridique posée à la fin du projet : c'est une série de décisions d'architecture, de l'ingestion à l'inférence. Identifier sa base légale et écrire son test de mise en balance, minimiser le corpus, relier chaque embedding à sa source pour permettre l'effacement et le prouver, pseudonymiser ce qui sort et router selon la sensibilité, cartographier et encadrer ses sous-traitants, réaliser une AIPD quand le risque l'exige, articuler le tout avec l'AI Act : chacun de ces choix protège vos utilisateurs et renforce votre système. Le secret le moins partagé du RGPD, c'est qu'une architecture conforme est presque toujours une meilleure architecture — plus maîtrisée, plus traçable, plus digne de confiance. La conformité n'est pas le prix de l'IA en entreprise : c'est sa condition de durabilité.

Pour aller plus loin

  • EU AI Act : calendrier des obligations 2025-2027 et checklist entreprise
  • Anonymisation avant vectorisation : techniques, limites et bons réflexes
  • Souveraineté de l'IA pour l'entreprise européenne : le guide stratégique 2026

Prêt à brancher vos agents sur vos données ?

Démarrez gratuitement. Premier audit Knowledge Pulse en 60 secondes.

Démarrer gratuitement