Aller au contenu

Ce qu'on garde

Éditorial

Mesurer un corpus ne dit pas quoi en faire. Tout conserver et tout effacer sont deux manières de ne pas décider. Ce qui mérite d'être gardé est aussi ce qui expose le plus, et ce n'est pas une coïncidence.

Mis à jour le 2 août 2026~25 min de lecture12 sections

→ Lire l’explication complète de la marmotte

Mesurer un corpus ne suffit pas à décider quoi en faire. Mesurer est facile. Trois commandes, une demi-heure, un chiffre désagréable. Le tri est un problème d’une autre nature, et il ne se résout pas avec un script.

Il faut d’abord évacuer les deux réponses qui se présentent spontanément, parce qu’elles sont symétriques et fausses pour la même raison.

Tout conserver est la position par défaut, et c’est précisément ce qui la rend suspecte. Personne ne l’a choisie. Elle s’est installée parce qu’effacer demande une décision (donc un critère, donc une responsabilité) tandis que conserver n’en demande aucune. L’asymétrie n’est pas morale, elle est ergonomique : le coût marginal du stockage est nul, le coût marginal de l’arbitrage ne l’est pas. Ce qu’on appelle « politique de rétention infinie » dans la plupart des organisations n’est pas une politique. C’est l’absence de politique, qui a fini par prendre la forme d’une politique en durant assez longtemps.

Tout effacer paraît plus courageux et l’est rarement. D’abord parce que, comme on l’a vu, l’effacement local n’efface rien : il supprime l’original et laisse en place un nombre inconnu de copies dans des dispositifs de sauvegarde qui ont leurs propres durées. Ensuite parce que le corpus contient réellement quelque chose de précieux, et qu’un geste qui détruit indistinctement le précieux et le dangereux n’est pas une décision de sécurité : c’est un renoncement à décider, dans l’autre sens.

Entre les deux, il n’y a pas un curseur. Il y a un travail de qualification, et il commence par constater que le mot « garder » recouvre au moins cinq choses différentes qu’on a pris l’habitude de ranger au même endroit.

Ce qui s’écrit dans un fichier de session n’est pas un objet homogène. C’est un empilement d’au moins cinq matières qui n’ont ni la même valeur, ni la même durée d’utilité, ni le même propriétaire, ni le même profil de risque.

Le déroulé. L’échange lui-même, les tâtonnements, les branches abandonnées, les reformulations. Sa valeur est maximale pendant quarante-huit heures (c’est ce qui permet la reprise de session), puis s’effondre. Passé une semaine, il n’est presque jamais relu. Il représente, en volume, l’écrasante majorité du corpus.

La décision et son argumentaire. Pourquoi cette base plutôt qu’une autre, quelles contraintes ont écarté quelle option, quel compromis a été accepté et au prix de quoi. Valeur durable, parfois croissante : c’est ce qu’on cherche dix-huit mois plus tard quand quelqu’un demande « mais pourquoi c’est fait comme ça ? ». Densité dérisoire : quelques pour cent du volume, souvent moins.

L’artefact produit. Le code, le fichier de configuration, le document. Il a une particularité qu’on oublie systématiquement : il existe déjà ailleurs, dans le dépôt, dans le système de fichiers, dans le ticket. Sa présence dans le transcript est un doublon pur. Valeur de conservation : nulle. Contribution au volume et à l’exposition : considérable.

La trace de preuve. Qui a fait quoi, quand, sur quel hôte, avec quels paramètres. Valeur nulle en régime normal, maximale le jour d’un incident ou d’un litige, et strictement irremplaçable ce jour-là, puisque rien d’autre ne l’enregistre. Le corpus peut servir de journal d’exécution de l’organisation.

L’agrégat statistique. Combien de sessions, sur quels projets, avec quels outils, avec quel taux d’échec, à quelles heures. De la donnée sur votre pratique, pas sur votre travail. Valeur réelle pour qui veut améliorer sa manière de travailler, risque quasi nul dès lors qu’on ne conserve que les métriques et aucun contenu.

Regardez maintenant ce que nous faisons de ces cinq matières : nous les écrivons dans le même fichier, dans le même répertoire, sous les mêmes permissions, avec la même durée de vie, c’est-à-dire aucune. Un objet dont la valeur meurt en deux jours est conservé aussi longtemps qu’un objet dont la valeur dure cinq ans. Un doublon strict est conservé au même titre qu’une information unique au monde. Une trace de preuve est mêlée à du bruit au point d’être inexploitable sans outillage.

Une politique unique appliquée à cinq objets hétérogènes est nécessairement mauvaise pour les cinq. C’est un résultat presque tautologique, et pourtant c’est exactement la situation de départ. Le premier geste du tri n’est donc pas de choisir une durée : c’est de refuser qu’il n’y en ait qu’une.

Deux courbes qui ne se croisent jamais au bon endroit

Section intitulée « Deux courbes qui ne se croisent jamais au bon endroit »

Il y a une raison plus formelle pour laquelle la rétention uniforme est mauvaise, quel que soit le seuil qu’on retienne. Elle tient à la forme de deux courbes.

L’utilité décroît vite et se concentre. Un transcript sert massivement dans les heures qui suivent, marginalement dans la semaine, et presque plus jamais ensuite (à l’exception d’une fraction très faible qui contient une décision et qui, elle, ressort parfois des mois plus tard). La distribution est brutalement asymétrique : une queue très fine porte l’essentiel de la valeur résiduelle, et le reste est du sédiment.

Le risque, lui, ne décroît pas. Un secret collé dans un prompt en janvier reste valide en décembre s’il n’a pas été tourné, et l’expérience enseigne qu’il ne l’a pas été. Une topologie d’infrastructure vieillit lentement : les noms d’hôtes, les conventions de nommage, la structure des dépôts survivent aux versions. Un raisonnement d’architecture reste sensible aussi longtemps que l’architecture est en service.

Pire : le risque croît par agrégation. Deux sessions isolées valent moins que leur somme, parce que la corrélation produit de l’information nouvelle. Un fragment de janvier et un fragment de juin, rapprochés, reconstituent un contexte qu’aucun des deux ne contenait. C’est le mécanisme ordinaire du renseignement à partir de sources ouvertes, appliqué à un corpus fermé. Le temps ajoute des pièces au puzzle sans jamais en retirer.

D’où la conclusion, qui n’est pas rhétorique : une durée de conservation unique est dominée par n’importe quelle politique différenciée. Courte, elle détruit la queue de valeur : les décisions, précisément ce qu’on voulait garder. Longue, elle conserve indéfiniment le sédiment, c’est-à-dire l’intégralité du risque pour presque aucun bénéfice. Il n’existe aucun seuil qui fasse les deux, parce que les deux courbes n’ont pas la même forme et ne se croisent nulle part où il serait confortable de poser un curseur.

L’argument « je garde au cas où » repose sur une hypothèse jamais vérifiée : que le corpus est effectivement relu. Elle est vérifiable, au moins grossièrement.

Une session reprise porte une signature simple : l’écart entre son premier et son dernier horodatage dépasse largement la durée d’une session de travail continue. On peut donc estimer la part du corpus qui a servi plus d’une fois.

Fenêtre de terminal
# Distribution de l'âge des fichiers de session
find ~/.claude/projects/ -name '*.jsonl' -printf '%TY-%Tm\n' \
| sort | uniq -c
# Volume par projet, pour voir où se concentre la masse
du -sh ~/.claude/projects/*/ | sort -h | tail -20

Et, pour une estimation du taux de reprise (en adaptant le nom du champ d’horodatage, qui n’est pas une interface documentée et peut changer) :

Fenêtre de terminal
python3 - <<'EOF'
import json, glob, datetime
repris = total = 0
for f in glob.glob(__import__('os').path.expanduser('~/.claude/projects/*/*.jsonl')):
ts = []
for l in open(f, errors='ignore'):
try: ts.append(json.loads(l).get('timestamp'))
except Exception: pass
ts = sorted(t for t in ts if t)
if len(ts) < 2: continue
total += 1
d = datetime.datetime.fromisoformat(ts[-1].replace('Z','+00:00')) \
- datetime.datetime.fromisoformat(ts[0].replace('Z','+00:00'))
if d.total_seconds() > 8*3600: repris += 1
print(f"{repris}/{total} sessions étalées sur plus de 8 heures")
EOF

Ce n’est pas une mesure exacte : une session longue n’est pas forcément une session reprise, et une reprise rapide passera sous le seuil. C’est un ordre de grandeur, et l’ordre de grandeur suffit. Sur ma machine, il est suffisamment bas pour que l’argument du « au cas où » ne tienne plus tout seul : je conserve une année de corpus pour un usage qui se compte en dizaines de sessions.

Arrivé là, la solution semble évidente : garder le précieux, jeter le dangereux. C’est exactement à ce moment qu’on rencontre l’obstacle réel de tout cet éditorial.

Ce qui mérite le plus d’être conservé est aussi ce qui expose le plus. Ce n’est pas un hasard, c’est structurel. Un raisonnement d’architecture n’a de valeur que parce qu’il est situé : il mentionne les vraies contraintes, les vrais volumes, les vraies dépendances, le vrai nom du système qui ne supportera pas la migration, le vrai arbitrage politique qui a fait pencher la décision. Retirez le contexte et vous obtenez une banalité de manuel, sans intérêt et sans risque. Gardez le contexte et vous gardez la sensibilité, parce que c’est le même texte.

La corrélation entre valeur et sensibilité, dans ce corpus, est proche de un. Cela invalide d’un seul coup toute la famille de solutions qui consisterait à filtrer le contenu : il n’existe pas de découpe qui sépare le précieux du risqué, puisqu’ils occupent les mêmes phrases.

C’est aussi ce qui rend la rédaction automatique des secrets (que l’éditorial précédent examinait sans complaisance) utile mais hors sujet. Elle traite le cas le plus visible, celui de la chaîne à haute entropie, qui est réel mais périphérique. Elle ne touche pas au cœur du problème, parce que le cœur du problème n’a pas de forme reconnaissable : c’est de la connaissance métier en langage naturel.

Si le contenu ne peut pas être découpé, alors la seule variable qui reste est le lieu. On ne trie pas dans le fichier. On déplace ce qui mérite de survivre vers un contenant qui, lui, porte une classification, et on jette le fichier.

Je propose donc de changer le verbe. La question n’est pas « que garde-t-on dans le corpus », elle est « qu’est-ce qui doit en sortir avant qu’il soit détruit ».

Cela suppose de renoncer à un statut qu’on lui a accordé sans y penser. Le transcript est un tampon, pas une archive. Un tampon a une durée courte, un débit, et une fonction unique : permettre à ce qui compte d’en sortir avant qu’il ne soit vidé. Ce qui reste dans un tampon quand on le vide n’est pas une perte, c’est le fonctionnement attendu.

La promotion consiste à extraire les quelques pour cent qui portent la valeur durable, et à les écrire dans un contenant qui a un propriétaire, une classification et une durée : une décision d’architecture documentée, une note dans le coffre au bon niveau de sensibilité, un commentaire dans le code, une entrée de journal de projet. L’objet change de régime en changeant de lieu. Il devient un document, avec tout ce que cela implique : quelqu’un en répond, quelqu’un peut le relire, quelqu’un peut décider de le détruire.

Ce n’est pas une idée neuve. C’est exactement ce que fait une équipe qui rédige un compte rendu après une réunion, et qui ne conserve pas l’enregistrement.

Le problème de la promotion, énoncé franchement

Section intitulée « Le problème de la promotion, énoncé franchement »

Elle demande du travail humain, et personne ne le fera.

C’est l’objection qui tue, et je ne vais pas prétendre l’avoir résolue. Relire ses sessions pour en extraire les décisions représente un effort réel, récurrent, sans gratification immédiate, et en concurrence directe avec du travail qu’on nous demande de livrer. Toutes les pratiques de ce type (documenter après coup, tenir un journal de décisions, écrire le compte rendu) ont un taux d’observance médiocre, et il n’y a aucune raison que celle-ci fasse exception.

Deux atténuations, partielles.

La première est de réduire la fenêtre. Promouvoir en fin de session, quand le contexte est encore chaud, coûte quelques minutes ; promouvoir trois mois plus tard coûte une relecture complète, donc ne se fait jamais. Le geste doit être adjacent au travail, pas postérieur à lui.

La seconde est d’accepter un taux de perte. Une promotion qui capture la moitié des décisions vaut infiniment mieux qu’une conservation intégrale qui n’en rend aucune accessible ; parce que dans un corpus non trié, une décision existe sans être retrouvable, ce qui, du point de vue de l’usage, ne se distingue pas de l’absence.

Vient alors l’idée qui s’impose à tout le monde : demander à un modèle de faire le tri. Résumer chaque session, extraire les décisions, produire un condensé, jeter le déroulé.

Elle est séduisante et elle mérite d’être examinée sérieusement, parce qu’elle porte trois défauts dont deux sont réparables et un ne l’est pas.

Le résumé est une perte irréversible. L’éditorial précédent le relevait déjà à propos du choix du stockage verbatim : ce qu’on juge accessoire au moment de résumer est très exactement ce qu’on cherchera plus tard. Le tri par résumé fait porter la décision de conservation à un moment où l’on ne dispose d’aucune information sur ce qui servira. C’est le paradoxe classique de l’archiviste, sauf qu’ici il est délégué à une machine qui n’a pas de responsabilité.

Le juge est partie. Ce qui décide de ce qui compte est le même système que celui qui a produit le contenu, avec les mêmes biais sur ce qui lui paraît saillant. Un raisonnement écarté d’une phrase, une objection formulée en passant, un désaccord humain non résolu : ce sont typiquement les éléments qu’un condensé lisse, et typiquement ce qui a de la valeur six mois plus tard.

Et le nettoyage produit du déchet. Celui-ci est le plus drôle et le plus embarrassant. Faire résumer un transcript par un agent, c’est ouvrir une session. Cette session lit l’intégralité du contenu sensible, le fait entrer dans une fenêtre de contexte, et l’écrit dans un nouveau transcript, en clair, dans le même répertoire, sans classification. Le geste d’hygiène recrée exactement l’objet qu’il était censé réduire, en y ajoutant une concentration : le résumé, par construction, est la version dense de ce qu’il y avait de plus significatif dans la session d’origine.

Ce n’est pas rédhibitoire : on peut faire tourner la distillation localement, écrire le résultat dans un contenant classifié, et purger le transcript de distillation dans la foulée. Mais cela doit être conçu comme tel, explicitement, sinon on obtient l’inverse de l’effet recherché. Et cela suppose d’avoir compris que dans ce domaine, aucun geste n’est neutre : tout ce qui lit le corpus l’augmente.

Un vocabulaire qui a un siècle d’avance sur nous

Section intitulée « Un vocabulaire qui a un siècle d’avance sur nous »

Il se trouve que le problème « je produis en continu une masse documentaire dont une petite fraction mérite d’être conservée, et je dois décider laquelle sans savoir de quoi l’avenir aura besoin » a été traité, formalisé et normalisé par une discipline entière. Elle s’appelle l’archivistique, elle a plus d’un siècle de pratique derrière elle, et nous la réinventons mal.

Trois de ses notions sont directement transposables.

La durée d’utilité administrative : le temps pendant lequel un document sert encore à l’activité courante. Elle est fixée à l’avance, par type de document, en fonction de l’usage et non de la place disponible. C’est exactement ce qui manque au corpus, où aucune durée n’a jamais été fixée pour aucune catégorie.

Le sort final : à l’échéance de cette durée, chaque document a une destination écrite : conservation définitive, élimination, ou tri. Le point qui devrait nous intéresser est que l’élimination y est un acte positif et documenté, pas un renoncement honteux. On établit un bordereau : on sait ce qui a été détruit, quand, sur quelle base, par qui. Comparez avec notre pratique actuelle, où l’effacement est un rm -rf furtif dont il ne reste aucune trace, ce qui est le pire des deux mondes, puisqu’on perd le contenu et la mémoire de la perte.

Le tri : entre tout garder et tout jeter, l’archivistique pratique depuis toujours la sélection par échantillonnage, la conservation des seuls documents de synthèse, l’élimination des doublons et des pièces d’exécution. Aucune de ces techniques n’est nouvelle. Aucune n’a été appliquée à ce corpus.

Il y a une raison profonde à cette cécité, et elle est dans le nom qu’on donne à l’objet. Nous l’appelons un journal, et un journal se purge : on lui applique une rétention, on ne lui applique pas un sort final. Nous le traitons dans les faits comme une archive, puisqu’on le conserve indéfiniment et qu’on espère y retrouver des choses. Cette confusion de catégorie est l’erreur d’origine, et elle explique pourquoi personne n’a de politique : les journaux ont des rétentions, les archives ont des sorts finaux, et un objet qui est traité comme les deux n’obtient ni l’une ni l’autre.

Ce qui suit n’est pas une recommandation universelle. C’est le régime que j’applique, publié pour être contredit, parce qu’une politique explicite et médiocre vaut mieux qu’une absence de politique, ne serait-ce que parce qu’on peut la corriger.

Éphémère : trente jours, purge automatique, aucune exception. C’est le régime par défaut de tout le déroulé. Trente jours couvrent très largement l’usage réel de reprise mesuré plus haut, et divisent l’exposition par un ordre de grandeur dès la première année. Ce bac n’a pas besoin d’être trié, puisqu’il n’a pas besoin de survivre.

Promu : sorti du corpus, dans un contenant classifié. Les décisions et leur argumentaire, extraits à la main, en fin de session, vers le lieu qui porte la bonne classification. Ce bac n’a plus de durée propre : il hérite de celle de son contenant, ce qui est précisément le but de l’opération.

Scellé : ce qu’on conserve pour la preuve. Sujet du point suivant, parce qu’il mérite une discussion séparée. Régime : chiffré, accès restreint, durée fixée par l’obligation qui le motive, et surtout jamais conservé sous la forme d’un texte en clair consultable au quotidien.

Agrégé : rétention longue, contenu nul. Volumétries, projets, dates, outils appelés, durées, taux d’échec. Le contenu est écarté à l’extraction, pas filtré après coup. Ce bac est le seul dont la conservation illimitée soit défendable, parce qu’il ne contient aucune information sur le travail : seulement sur la pratique.

Face à une session dont on hésite à décider, dans l’ordre :

  1. Est-ce que ce contenu existe déjà ailleurs ? Le code est dans le dépôt, la configuration est sur le serveur, le document est dans le coffre. Si oui : éliminer, sans regret. C’est le gisement le plus important et le moins douloureux.
  2. A-t-il servi une seule fois depuis trente jours ? Si non, la probabilité qu’il serve un jour est faible, et le coût de sa conservation est certain. Éliminer.
  3. Saurais-je dire à qui appartient ce contenu ? Si la réponse est floue (contenu client, contenu employeur, contenu personnel entremêlés), c’est le signal le plus fort de tous. Un contenu dont le propriétaire est indéterminé ne peut pas être conservé légitimement, parce qu’on ne peut pas justifier sa conservation auprès de quelqu’un dont on ignore l’identité. Éliminer, et corriger le cloisonnement en amont.
Fenêtre de terminal
# 1. Vérifier ce qui serait détruit (toujours, avant tout)
find ~/.claude/projects/ -name '*.jsonl' -mtime +30 -printf '%TY-%Tm-%Td %p\n' | sort
# 2. Purger, une fois la liste inspectée
find ~/.claude/projects/ -name '*.jsonl' -mtime +30 -delete
# 3. Automatiser, sinon cela ne sera jamais fait deux fois
# (entrée cron hebdomadaire, ou timer systemd)

La granularité par projet est possible et souhaitable : rien n’oblige à appliquer la même durée à un projet personnel et à un projet couvert par une clause de confidentialité ; sur ce dernier, trente jours sont probablement encore trop.

Trois questions se posent différemment dès qu’on quitte le poste individuel.

Qui est propriétaire du corpus ? Aujourd’hui, personne : ce qui signifie en pratique l’utilisateur, par défaut et sans qu’il l’ait demandé. C’est intenable : le contenu appartient au projet, pas à la personne qui a tapé les prompts. Désigner le responsable du projet comme propriétaire du corpus correspondant est le seul rattachement qui rende les autres décisions possibles.

Que se passe-t-il au départ d’un collaborateur ? La procédure révoque les comptes, récupère le matériel, désactive les accès. Elle ne dit rien du corpus, ni de sa copie de sauvegarde, ni de l’index qu’un produit de mémoire aurait construit à côté. Une organisation qui n’a pas traité ce point conserve, après le départ, un dépôt en clair du travail de quelqu’un qui n’est plus là pour en répondre.

Quelle durée impose-t-on, et laquelle laisse-t-on choisir ? Une durée maximale imposée par l’organisation, une durée effective plus courte laissée à l’arbitrage de l’équipe : c’est le schéma habituel, il fonctionne, il n’a rien d’exotique. Il suffit qu’il soit écrit.

Je serais malhonnête de conclure sans exposer le meilleur argument contre à peu près tout ce que je viens d’écrire.

Le corpus n’est pas seulement une exposition. C’est aussi, potentiellement, une preuve à décharge.

Un client vous accuse d’avoir réutilisé son code chez un concurrent : le journal horodaté de ce qui est réellement entré dans vos sessions est un élément de réponse, et il n’en existe pas d’autre. Un litige porte sur la paternité d’une conception : la trace du raisonnement, datée, antérieure, dit qui l’a formulée. Une autorité demande d’établir le périmètre exact d’un incident : le corpus est le seul objet capable de répondre précisément, ce qui était l’intégralité du propos de l’éditorial précédent.

Il y a donc une tension réelle, et elle n’est pas résoluble par un slogan. Le principe de minimisation pousse à détruire ; l’intérêt probatoire pousse à conserver ; et les deux ont raison dans leur registre.

La sortie que je retiens n’est pas un compromis sur la durée, mais un changement de forme. Ce qui a une valeur probante n’a pas besoin d’être conservé en clair et consultable. Un condensat cryptographique par session, avec son horodatage, son projet et son volume, établit l’existence et la date d’un contenu sans le conserver. Une conservation sous scellé (chiffrée, hors du chemin d’usage quotidien, avec un accès qui laisse une trace) répond au besoin probatoire sans reconstituer une copie en clair dans un autre répertoire.

C’est plus de travail que de tout garder. C’est aussi la seule manière d’avoir les deux propriétés à la fois, et je n’en connais pas de plus simple.

Je n’ai pas de mesure de ce que coûte l’élimination. Tout cet éditorial repose sur l’idée que le sédiment ne sert presque jamais. « Presque » n’est pas « jamais », et je n’ai aucun moyen d’évaluer ce que j’ai perdu en purgeant, puisque par construction je ne saurai jamais ce que j’aurais cherché dans ce que j’ai détruit. C’est le paradoxe de l’archiviste et il n’a pas de solution : seulement des conventions raisonnables.

Je n’ai pas testé la distillation à grande échelle. J’en décris les défauts théoriques ; je n’ai pas mesuré son taux de capture réel sur un corpus annoté. Il est possible qu’elle soit meilleure que je ne le crois, et ce serait une bonne nouvelle, parce que c’est la seule voie qui passe à l’échelle.

Trente jours est une convention, pas un résultat. Le chiffre vient de mon usage et d’une mesure grossière du taux de reprise sur une seule machine. Je l’assume comme point de départ discutable, pas comme recommandation étayée. Si votre mesure donne autre chose, votre mesure vaut mieux que mon chiffre.

Je ne sais pas ce que deviendra ce problème quand la mémoire persistante sera intégrée en standard. Le jour où l’indexation et la réinjection ne seront plus un produit tiers mais une fonction native du client, la question de la rétention se posera à un niveau où l’utilisateur n’aura plus la main. Tout cet éditorial suppose que le corpus est un fichier local qu’on peut détruire. Cette hypothèse a une date de péremption.

Deux éditoriaux pour arriver à une conclusion qui tient en une ligne, et je ne trouve pas cela décevant : le corpus existe, il ne doit pas durer, et ce qui mérite d’en sortir doit en sortir avant qu’il ne soit détruit.

Trois choses me semblent acquises. Que conserver n’est pas une position neutre : c’est une décision, et une décision qu’on prend d’autant plus facilement qu’on ne la formule jamais. Que la valeur et la sensibilité occupent les mêmes phrases, ce qui interdit le filtrage et impose le déplacement. Et que le tri est un problème d’organisation, pas d’outillage : le script de purge fait trois lignes, la politique qu’il applique se discute pendant des semaines, et c’est le bon ordre de grandeur.

Reste ce que ces deux éditoriaux ont contourné à chaque page sans jamais l’affronter. On a parlé du corpus comme d’un objet à mesurer, à trier, à détruire. On n’a rien dit de ce qui l’écrit.

Un agent qui lit vos dépôts, exécute vos commandes, traverse vos classifications et journalise l’ensemble n’est pas un outil de plus dans la chaîne. C’est un acteur du système d’information, et nous ne lui avons attribué ni identité, ni habilitation, ni périmètre, ni redevabilité. Le journal de sessions n’est qu’une trace. Ce qui la produit n’a toujours pas de nom dans nos modèles.

C’est le sujet du prochain éditorial.

Sans politique de conservation, le répertoire de sessions devient la cible la plus rentable du poste : quiconque obtient un accès en lecture, même bref, repart avec des mois de secrets jamais tournés, de noms d’hôtes et d’arbitrages d’architecture, déjà rassemblés au même endroit. L’évaluation d’une fuite devient presque impossible : faute de savoir ce que contenait le corpus, il faut supposer compromis tout secret qui a pu y transiter et les faire tourner tous, sans liste pour s’en assurer. Ironie supplémentaire, la sauvegarde, censée protéger, multiplie fidèlement chaque copie de ce dépôt sur des supports dont la durée de vie échappe à tout le monde.

Les outils d’assistance au travail enregistrent chaque session dans un fichier, sur le poste, en clair, sans date de fin. Ce fichier mélange cinq choses : le déroulé de l’échange, utile quelques jours pour reprendre le travail ; les décisions et leurs raisons, rares mais utiles pendant des années ; les fichiers produits, qui existent déjà ailleurs ; la trace de qui a fait quoi et quand, précieuse en cas d’incident ; et des chiffres sur l’usage. L’utilité de l’ensemble baisse vite, mais le risque demeure : un mot de passe collé dans une session reste valable tant qu’on ne l’a pas changé, et plusieurs sessions rapprochées révèlent plus que chacune seule. Une durée unique de conservation est donc mauvaise : courte, elle détruit les décisions ; longue, elle garde tout le risque. Filtrer le contenu ne marche pas non plus, car ce qui a de la valeur est aussi ce qui est sensible. Le texte propose quatre régimes : effacer automatiquement le déroulé après trente jours ; recopier à la main les décisions vers un endroit rangé et protégé ; conserver les preuves chiffrées et à l’écart ; ne garder longtemps que des chiffres sans contenu. Effacer le fichier original ne supprime pas les copies de sauvegarde, et seul le changement d’un mot de passe exposé annule le risque. Pour prouver plus tard qu’une session a existé, on peut garder une empreinte calculée et datée, sans garder le texte.

À lire aussi

  • L'effacement impossibleSupprimer une donnée ne la fait pas disparaître : elle survit dans les sauvegardes, les journaux, les index, les caches, les réplicas et parfois dans des modèles entraînés. Le seul effacement qui passe à l'échelle consiste à détruire une clé, à condition d'avoir chiffré au bon grain avant d'en avoir besoin.
  • Le moindre privilège pour une machine qui improviseUn agent IA doté d'un shell, d'un accès aux fichiers et de clés d'API est un acteur du système d'information, pas un outil. Le moindre privilège classique suppose qu'on sait d'avance ce que le programme va faire ; l'agent ne le sait pas lui-même, et c'est son environnement qu'il faut borner, pas ses intentions.
  • Les secrets dans les dépôts GitDes clés d'API, des mots de passe et des jetons continuent de se retrouver dans les dépôts Git, dans l'historique, les forks, les fichiers d'exemple et les journaux d'intégration continue. Un secret poussé est un secret compromis : le supprimer ne répare rien, seule la rotation répare, et la seule prévention durable est de ne plus avoir de secret à fuir.

Pages voisines