Contexte et nature de l’outil
Ce que cette application accompagne n’est pas un logiciel de détection mais un prompt d’audit : un protocole en texte brut ou Markdown, versionné et accompagné de son empreinte SHA-256. L’utilisateur le copie lui-même dans son propre compte, sans infrastructure intermédiaire et donc sans transfert supplémentaire. L’objectif : tester, à partir des activités de questionnement récentes, ce qui persiste et reste accessible dans la mémoire du service, à l’insu de la conscience de l’utilisateur.
Format et diffusion recommandés
- Un fichier .md ou .txt que l’utilisateur copie lui-même dans son propre compte : aucune infrastructure intermédiaire, aucun transfert supplémentaire.
- Un dépôt public versionné (avec changelog et signature des releases) : les utilisateurs peuvent lire le prompt avant de l’exécuter, ce qui est essentiel pour un outil de confiance.
- Une page de documentation qui explique le protocole, la lecture des résultats et ses limites.
- Des variantes par fournisseur, car les mécanismes de mémoire diffèrent (fonction « mémoire » persistante, historique de conversations, projets, etc.).
Évitez de le diffuser comme assistant personnalisé hébergé chez un tiers : l’utilisateur ne maîtrise alors plus le contexte, et le test lui-même passerait par un intermédiaire.
Structure de protocole fiable
- Canaris : l’utilisateur injecte d’abord dans une session des chaînes fictives uniques (par exemple un faux nom de projet et un code aléatoire), jamais de vraies données sensibles. Le test génère lui-même de la rétention.
- Témoins négatifs : le prompt demande aussi le rappel de chaînes jamais fournies, pour mesurer le taux d’hallucination de base.
- Nouvelle session : le rappel se teste dans une conversation vierge, avec mémoire activée puis désactivée, pour isoler la source.
- Grille de lecture : rappel exact, rappel partiel, absent, hallucination. Le prompt demande au modèle de distinguer ce qu’il « sait » de ce qu’il « suppose ».
- Recoupement hors LLM : paramètres de mémoire et d’historique du compte, export de données, et demande d’accès (RGPD art. 15, nLPD art. 25) pour obtenir la réponse faisant autorité sur la rétention réelle.
Précautions
- Le prompt doit rester limité au compte de l’utilisateur : l’audit de ses propres données, sans tentative d’extraire des instructions système ou des données d’autres personnes.
- Les canaris doivent être choisis pour ne rien révéler, y compris s’ils sont conservés.
- Indiquez clairement qu’un résultat négatif ne prouve pas l’absence de rétention côté fournisseur.
Étape 0 : préparation (réglages)
Dans Paramètres → Personnalisation → Mémoire, notez l’état des deux options : souvenirs enregistrés et référence à l’historique des discussions. Le test se répète dans chaque configuration (voir l’onglet Résultats). Notez aussi l’état de l’option d’amélioration du modèle dans Contrôle des données.
Liste de contrôle
Étape 1 : semis des canaris (discussion A)
L’utilisateur génère lui-même 3 chaînes fictives (canaris) et les note à part. Le générateur ci-dessous les tire au hasard dans votre navigateur (crypto.getRandomValues), ainsi que 3 leurres jamais fournis pour l’étape 3. Ils ne contiennent aucune donnée réelle.
Message à envoyer dans la discussion A
Étape 2 : le prompt d’audit (nouvelle discussion B, vierge)
Étape 3 : test à choix forcé (même discussion B, après l’étape 2)
L’utilisateur soumet une liste mélangeant ses 3 vrais canaris et 3 leurres (témoins négatifs) jamais fournis. Les leurres mesurent le biais de complaisance : si le modèle valide les leurres, ses réponses positives ne prouvent rien.
Clé de lecture (à ne pas montrer au modèle)
| N° | Élément | Nature |
|---|
Grille de lecture
| Résultat | Interprétation |
|---|---|
| Canaris restitués exactement, leurres rejetés | Persistance réelle accessible dans le contexte |
| Canaris restitués, leurres aussi validés | Résultat non fiable (complaisance) |
| Rappel partiel ou approximatif | Incohérent : reproduire le test |
| Aucun rappel, leurres rejetés | Rien d’accessible dans cette configuration |
| Éléments cités jamais fournis | Hallucination, à consigner |
Matrice de configuration à tester
- Mémoire et historique activés.
- Historique désactivé, souvenirs enregistrés seuls.
- Les deux désactivés.
- Un chat temporaire, qui sert de témoin négatif.
Comparer les résultats permet d’isoler la source de la persistance.
Ce que ce protocole ne prouve pas
- Un résultat négatif n’écarte pas une rétention côté serveur (journaux, sauvegardes, délais de suppression). Seule une demande d’accès (RGPD art. 15, nLPD art. 25) et l’export de données du compte font autorité.
- Le modèle peut mal identifier la source d’un souvenir (étape b) : traitez cette information comme indicative.
- Le comportement varie selon la version du produit et l’offre du compte (gratuite, Plus, Team, Entreprise).
Saisie des résultats par configuration
Pour chaque configuration, saisissez le rappel libre (étape 2) puis les réponses du modèle à la liste de l’étape 3. L’interprétation suit la grille de lecture. Générez d’abord les canaris (étape 1) pour que la clé soit définie. Les témoins négatifs (leurres) servent à juger la fiabilité des réponses.
Manuel du grand débutant
Guide pas à pas de cette application. Chaque mot souligné en pointillés ouvre sa définition dans le glossaire ; le bouton « Retour à l’écran précédent » vous ramène où vous étiez. Sommaire : Avant de commencer · Guide clic par clic · Problèmes fréquents.
Avant de commencer
- N’écrivez jamais de vraie donnée sensible (mot de passe, adresse, numéro) dans les tests : seuls les canaris fictifs générés par l’application sont autorisés.
- Testez uniquement votre compte. Ne demandez jamais d’instructions système ni d’informations sur d’autres personnes.
- Un résultat « rien trouvé » ne prouve pas que rien n’est conservé : voir côté serveur.
Il vous faut : un navigateur récent (Chrome, Firefox, Edge, Safari), un compte ChatGPT, le fichier de l’application enregistré sur votre ordinateur, et un peu de temps car il y a une attente de 24 à 48 heures.
Guide clic par clic
Partie A — Ouvrir l’application
- Double-cliquez sur
audit-memoire-chatgpt.html. Produit : votre navigateur ouvre la page avec une barre d’onglets en haut (Cadre, Étape 0, etc.). Pourquoi : l’application est un fichier HTML autonome ; le navigateur est le seul programme nécessaire, rien n’est installé et rien n’est envoyé sur Internet. - Cliquez sur l’onglet « Cadre » et lisez-le. Produit : vous voyez le contexte, la limite de conception et les précautions. Pourquoi : avant de tester, il faut comprendre que le test mesure ce que le modèle voit dans son contexte, pas ce que le fournisseur garde en coulisses. C’est ce qui évite de mal interpréter ensuite un résultat.
Partie B — Onglet « Étape 0 » : relever vos réglages
- Dans un autre onglet du navigateur, ouvrez ChatGPT, puis Paramètres → Personnalisation → Mémoire. Produit : vous voyez si les souvenirs enregistrés et la référence à l’historique sont activés. Pourquoi : ces deux options décident ce que ChatGPT peut « réinjecter » dans une nouvelle discussion. Sans les connaître, impossible d’expliquer un résultat. Les intitulés peuvent avoir changé : cherchez le sens, pas le mot exact.
- Revenez à l’application, onglet « Étape 0 ». Dans chaque liste déroulante (Souvenirs enregistrés, Référence à l’historique, Amélioration du modèle, Offre du compte), choisissez la valeur observée. Produit : vos choix sont mémorisés dans le stockage local du navigateur et réapparaissent à la prochaine ouverture ; ils figureront dans le rapport final. Pourquoi : un audit sans réglages notés n’est pas reproductible. L’amélioration du modèle (dans Contrôle des données) est notée car elle concerne l’usage de vos conversations.
- Cochez les cases de la liste de contrôle au fur et à mesure du protocole. Produit : une trace de votre avancement, conservée même si vous fermez la page. Pourquoi : le protocole s’étale sur plusieurs jours ; la liste évite d’oublier une étape ou d’en répéter une.
Partie C — Onglet « Étape 1 : canaris »
- Cliquez sur « Générer canaris et leurres ». Produit : 3 canaris (un nom de projet du type PROJET-XXXXXX, un code de 6 caractères, un lieu inventé) et 3 leurres du même format apparaissent. Pourquoi : voir aussi canari (bons et mauvais exemples). Les valeurs sont tirées par un tirage aléatoire de qualité : personne ne peut les deviner et elles ne correspondent à rien de réel. Si ChatGPT les retrouve plus tard, ce ne peut venir que de votre envoi. Les leurres, eux, ne seront jamais envoyés : ils servent de témoins négatifs (exemples chiffrés dans le glossaire).
- Notez les canaris et leurres sur papier ou dans un gestionnaire de mots de passe. Produit : une copie indépendante de l’application. Pourquoi : si vous cliquez à nouveau sur Générer (l’application demande confirmation) ou effacez les données, les valeurs sont perdues et le test devient inexploitable.
- Cliquez sur « Copier » sous « Message à envoyer dans la discussion A ». Produit : le message est placé dans le presse-papiers ; un bandeau « Copié » s’affiche brièvement. Pourquoi : copier-coller évite toute faute de frappe : un canari mal recopié fausserait la comparaison exacte plus tard.
- Dans ChatGPT, ouvrez une nouvelle discussion (la discussion A), collez (Ctrl+V ou Cmd+V) et envoyez. ChatGPT doit répondre « Noté ». Produit : les 3 canaris entrent dans votre compte, créant volontairement une « rétention » à rechercher. Pourquoi : c’est le principe du canari : on plante soi-même une information traçable plutôt que de chercher des données réelles inconnues. La demande « retiens » vise la mémoire ; le mot « fictifs » protège votre vie privée.
- Cochez les cases de l’Étape 1 dans « Étape 0 », puis attendez 24 à 48 heures. Pourquoi : voir attente : certains mécanismes de mémoire se mettent à jour avec retard ; tester trop tôt donnerait un faux « rien ».
Partie D — Onglet « Étape 2 : audit »
- Dans ChatGPT, ouvrez une nouvelle discussion vierge (la discussion B). Dans l’application, cliquez sur « Copier le prompt d’audit », collez dans la discussion B et envoyez. Produit : ChatGPT répond en trois modules : liste brute de vos souvenirs, rappel libre (avec citation exacte, source probable et certitude), puis bilan. Pourquoi : une discussion vierge garantit que le modèle ne peut pas lire les canaris dans la conversation en cours ; s’il les cite, ils viennent de la mémoire. Le prompt d’audit impose « n’invente rien » pour limiter l’hallucination et interdit toute extraction d’instructions système.
- Lisez la réponse sans la corriger ni l’aider. Notez : rappel exact, partiel ou aucun ; et si ChatGPT cite des éléments que vous n’avez jamais fournis. Pourquoi : donner un indice (« c’était un code ») rendrait le rappel libre impossible à interpréter.
Partie E — Onglet « Étape 3 : choix forcé »
- Cliquez sur « Copier », collez dans la même discussion B, envoyez. Produit : ChatGPT répond « vu auparavant », « jamais vu » ou « incertain » pour 6 éléments mélangés (3 canaris, 3 leurres). Pourquoi : un modèle tend à dire oui (complaisance). Avec 3 leurres jamais fournis, on voit s’il valide aussi le faux : alors un « oui » sur un canari ne prouve rien. C’est un choix forcé.
- Si besoin, cliquez sur « Remélanger l’ordre » avant d’envoyer. Pourquoi : varier l’ordre empêche le modèle de deviner par position. Après un remélange, les réponses déjà saisies sont effacées (ordre changé).
- Gardez le tableau « Clé de lecture » pour vous. Pourquoi : il indique canari ou leurre ; le montrer à ChatGPT ruinerait le test.
Partie F — Onglet « Résultats »
- Pour la configuration 1 (mémoire et historique activés), choisissez la date, le rappel libre, cochez « hallucination » si besoin, puis les 6 réponses. Produit : un encadré coloré donne l’interprétation selon la grille de lecture, avec le nombre de canaris vus et de leurres validés. Pourquoi : l’interprétation est calculée par règles fixes, ce qui évite l’auto-persuasion. Vert : rien d’accessible ; orange : persistance ou incohérence ; rouge : non fiable.
- Répétez le protocole (étapes 1 à 3, avec de nouveaux canaris) pour les configurations 2, 3 et 4, après avoir changé vos réglages ChatGPT. Pourquoi : la matrice compare les configurations pour trouver la source de la persistance. Le chat temporaire sert de référence négative. Nouveaux canaris à chaque fois : sinon un souvenir d’un test précédent contaminerait le suivant.
Partie G — Onglet « Export et hash »
- Remplissez Version (ex. 1.0.0), Date et Changelog, puis cliquez sur « Construire le rapport ». Produit : un rapport Markdown complet et son SHA-256 s’affichent. Pourquoi : la version et le changelog rendent le protocole traçable ; l’empreinte prouve qu’il n’a pas été modifié.
- Cliquez sur « Télécharger .md » ou « Copier ». Pourquoi : conserver le rapport hors du navigateur, où le stockage local peut être vidé. Attention : le rapport contient la clé des canaris ; ne le partagez que si c’est voulu.
- « Effacer toutes les données locales » : seulement en fin de projet. Pourquoi : supprime réglages, canaris et résultats. Irréversible ; téléchargez le rapport d’abord.
Partie H — Recoupement hors ChatGPT
- Dans ChatGPT, exportez vos données (Contrôle des données) et, si nécessaire, adressez une demande d’accès (RGPD art. 15, nLPD art. 25). Pourquoi : seules ces démarches font autorité sur la conservation réelle (journaux, sauvegardes). Voir export.
Problèmes fréquents
- Le bouton Copier ne marche pas : sélectionnez le texte à la souris et copiez avec Ctrl+C.
- « indisponible » à la place du hash : le navigateur bloque le calcul hors contexte sécurisé ; servez le fichier via un serveur local ou utilisez un autre navigateur.
- Tout est vide à la réouverture : navigation privée ou stockage bloqué ; téléchargez le rapport.
- ChatGPT cite des éléments inconnus : cochez « hallucination » ; c’est un résultat utile, pas une erreur de votre part.
Glossaire
- Amélioration du modèle
- Réglage (ChatGPT → Contrôle des données) qui autorise ou non le fournisseur à utiliser vos conversations pour entraîner ses modèles. On le note pour savoir dans quel cadre le test a lieu. Écran : Étape 0.
- Attente de 24 à 48 heures
- Délai conseillé entre l’envoi des canaris et l’audit : la mémoire de ChatGPT peut ne s’actualiser qu’avec retard. Sans cette attente, un « rien trouvé » serait peu fiable. Écran : Étape 1.
- Aléatoire (tirage)
- Choix imprévisible. L’application utilise la fonction du navigateur
crypto.getRandomValues, conçue pour la sécurité, afin que les canaris ne puissent pas être devinés ni coïncider avec une vraie donnée. Écran : Étape 1. - Audit
- Vérification méthodique et documentée. Ici : contrôler ce que ChatGPT restitue de vos données, sans rien supposer.
- Canari
- Définition. Information fictive et unique que vous inventez et plantez vous-même dans une discussion, pour voir si elle ressurgit plus tard. Le nom vient du canari des mineurs : l’oiseau réagissait au gaz avant les hommes ; ici, le canari réagit à une persistance avant que vous ne puissiez la voir autrement.
Les trois canaris de l’application (exemples fictifs) : un nom de projetPROJET-K7M2QX, un code de 6 caractèresR4T9XN, un lieu inventéValdorine. Chaque nouveau jeu est tiré au hasard.
Un bon canari est : inventé (aucune réalité derrière), unique (ne se trouve nulle part sur Internet), neutre (aucun lien avec vous), noté à part, et renouvelé à chaque configuration testée.
Mauvais canaris, à ne jamais utiliser : votre vrai prénom, votre ville, « 123456 » ou « Paris » (trop courants : le modèle les connaît déjà), une date de naissance, un mot de passe, le nom d’un vrai projet. Même effacés plus tard, ils auraient pu être conservés.
Comment on l’exploite. 1) On l’envoie dans la discussion A. 2) Après l’attente, on interroge une discussion B vierge. 3) On compare caractère par caractère :R4T9XNretrouvé tel quel = rappel exact ;R4T9XM= rappel partiel, donc incohérent, à refaire.
Ce que cela prouve et ne prouve pas. Canari retrouvé (et témoins négatifs rejetés) : la persistance existe dans le contexte du modèle. Canari non retrouvé : rien d’accessible dans cette configuration, mais ce n’exclut pas une conservation côté serveur.
Sécurité. Il est choisi pour ne rien révéler : s’il est conservé pour toujours, aucune information réelle n’est exposée. Écrans : Étape 1, Étape 3 (clé), Résultats, Grille de lecture. - Certitude (niveau de)
- Auto-évaluation du modèle : certain, probable ou incertain. Indicative seulement : un modèle peut être sûr de lui et se tromper. Écran : Étape 2.
- Changelog
- Journal des modifications du protocole, une ligne par changement. Permet de savoir quelle version a produit quel résultat. Écran : Export.
- ChatGPT
- Assistant conversationnel d’OpenAI, fondé sur un LLM. C’est le service audité ; l’application, elle, n’est pas reliée à lui.
- Chat temporaire
- Mode de ChatGPT où la discussion n’alimente pas la mémoire. Sert de témoin négatif : on s’attend à ne rien retrouver. Écran : Résultats (config. 4).
- Choix forcé
- Test où le modèle doit répondre par une option imposée (« vu auparavant », « jamais vu », « incertain ») : impossible de broder. Écran : Étape 3.
- Complaisance (biais de)
- Tendance d’un modèle à approuver ce qu’on lui présente. Si ChatGPT dit « vu » pour des leurres, ses « oui » n’ont aucune valeur. Écran : Étape 3, Résultats.
- Configuration
- Combinaison de réglages ChatGPT lors d’un test (ex. mémoire activée, historique désactivé). Il y en a quatre. Écran : Résultats.
- Contexte
- Tout ce que le modèle « a sous les yeux » pour répondre : vos messages, les souvenirs et références injectés. Ce qui n’y est pas lui est inaccessible, donc non testable.
- Discussion (session)
- Une conversation dans ChatGPT. La A reçoit les canaris ; la B, vierge, sert à l’audit.
- Export de données
- Fonction de ChatGPT qui vous envoie une copie de vos données. Source hors LLM, bien plus fiable qu’une réponse du modèle.
- Souvenirs enregistrés (mémoire)
- Faits que ChatGPT retient à votre sujet et réinjecte dans de nouvelles discussions. Consultables et supprimables dans les réglages. Écran : Étape 0, Étape 2.
- Fichier HTML autonome
- Page web contenue dans un seul fichier, ouverte par le navigateur. Elle fonctionne sans Internet et sans installation.
- Grille de lecture
- Tableau reliant un résultat observé à son interprétation (persistance réelle, complaisance, incohérent, rien d’accessible, hallucination). Écran : Grille de lecture, Résultats.
- Hallucination
- Réponse inventée mais présentée comme vraie. À consigner : elle mesure la fiabilité de base du modèle. Écran : Résultats.
- Historique des discussions (référence à l’)
- Option permettant à ChatGPT de s’appuyer sur vos anciennes discussions, au-delà des souvenirs enregistrés. Écran : Étape 0.
- Journaux et sauvegardes
- Copies techniques conservées par le fournisseur (traces, archives). Un LLM ne peut pas les voir ; seule une demande d’accès les concerne.
- Leurre
- Chaîne fictive jamais envoyée à ChatGPT, glissée dans la liste de l’étape 3. C’est un témoin négatif : si le modèle la reconnaît, c’est un faux positif. Écran : Étape 1, 3.
- LLM (grand modèle de langage)
- Programme d’IA qui produit du texte probable. Il ne « consulte » pas de base de données : il répond selon son contexte, d’où le risque d’hallucination.
- Markdown (.md)
- Format de texte simple (titres, listes) lisible partout. Le rapport est exporté ainsi. Écran : Export.
- Matrice de configuration
- Plan de test croisant les quatre configurations pour comparer les résultats et isoler la source de la persistance. Écran : Grille de lecture.
- Gestionnaire de mots de passe
- Logiciel qui stocke de façon chiffrée des secrets ; ici, un endroit sûr pour noter les canaris.
- Témoin négatif
- Définition. Élément pour lequel la bonne réponse est « non » : il n’a jamais été fourni, donc le modèle ne devrait pas le reconnaître. Comme le « blanc » d’un laboratoire ou le groupe sans médicament d’une étude, il mesure le bruit de fond : ce que le modèle répondrait même sans rien avoir retenu.
Pourquoi c’est indispensable. Un modèle peut dire « oui, je m’en souviens » par complaisance ou par invention (complaisance, hallucination). Sans témoin, un « oui » sur un canari est invérifiable. Avec témoins, on sait si ce « oui » a une valeur.
Les deux témoins de l’application. (1) Les leurres : 3 chaînes jamais envoyées, de même format que les canaris (sinon le modèle les distinguerait à leur seule apparence), mélangées aux vrais à l’étape 3. (2) Le chat temporaire (configuration 4), où l’on s’attend à ne rien retrouver. S’ajoute le rappel libre de l’étape 2 : sans indice, tout élément cité qui n’a jamais été fourni est une hallucination à consigner.
Exemples chiffrés. ChatGPT dit « vu auparavant » pour 3 canaris et 0 leurre : résultat crédible, persistance réelle. « Vu » pour 3 canaris et 2 leurres : non fiable, le modèle valide tout. « Vu » pour 0 canari et 1 leurre : non fiable aussi. En chat temporaire, un canari retrouvé alors que rien ne devrait persister : suspect, vérifiez que vous étiez bien en chat temporaire et que les canaris ne figuraient pas dans la discussion.
Limite. Un témoin négatif bien rejeté renforce la confiance, il ne prouve pas l’absence de conservation côté fournisseur. Écrans : Étape 1, Étape 3, Résultats, Grille de lecture. - Faux positif
- Le modèle déclare « vu » alors que l’élément n’a jamais été fourni. Les témoins négatifs servent à les détecter. Exemple : un leurre validé. Écran : Résultats.
- Bruit de fond (taux d’hallucination de base)
- Fréquence à laquelle le modèle affirme à tort. Elle se mesure avec les témoins négatifs : plus ils sont validés, moins les « oui » sur les canaris comptent. Écran : Étape 3.
- nLPD art. 25
- Droit d’accès prévu par la nouvelle loi suisse sur la protection des données : obtenir les données qu’une entité détient sur vous.
- Presse-papiers
- Mémoire temporaire de l’ordinateur où va le texte copié, avant le collage.
- Prompt
- Texte que vous donnez à une IA pour obtenir une réponse.
- Prompt d’audit
- Prompt de l’étape 2 : borné à votre compte, il exige de ne répondre qu’avec ce qui est visible et de distinguer ce que le modèle sait de ce qu’il suppose. Écran : Étape 2.
- Rappel (libre, exact, partiel)
- Libre : sans indice. Exact : identique au canari. Partiel : proche mais altéré, donc incohérent, à refaire. Écran : Résultats.
- RGPD art. 15
- Droit d’accès européen : demander à un organisme copie de vos données personnelles et leur usage.
- Donnée sensible
- Information dont la fuite nuirait (mot de passe, santé, identité). Jamais dans ce test.
- Côté serveur (rétention)
- Ce que le fournisseur garde sur ses machines, invisible pour le modèle. Un résultat négatif ne l’exclut pas. Écran : Cadre, Grille.
- SHA-256 (hash, empreinte)
- Calcul qui transforme un texte en code de 64 caractères. Le moindre changement du texte change totalement le code : preuve d’intégrité. Écran : Export.
- Source probable
- Origine que le modèle attribue à un souvenir (souvenir enregistré, historique, autre). Peu fiable : indicatif.
- Stockage local (localStorage)
- Petit espace du navigateur où l’application garde vos saisies sur votre ordinateur seulement. Effaçable par le navigateur.
- Instructions système
- Consignes cachées du service. Ne pas chercher à les extraire.
- Version
- Numéro (ex. 1.0.0) identifiant l’état du protocole. Écran : Export.
Autres éléments d’écran : « Offre du compte » = formule d’abonnement (gratuite, Plus, Team, Entreprise), car les comportements varient.