Dans promptShield, une valeur garde le même code dans tout un dossier de la Bibliothèque, d'un fichier à l'autre et d'un traitement à l'autre. Dans un autre dossier, en revanche, elle reçoit un autre code. Seul un code créé à la main avec Ajouter un code, dans les Paramètres, vaut pour tous les dossiers.
Pourquoi un code doit rester stable
Dans un contentieux, la pièce n° 14 reste la pièce n° 14 jusqu'aux dernières conclusions, et chacun s'y réfère. Un document encodé fonctionne de la même façon. Chaque code y tient la place d'une personne, d'une société ou d'un compte, et doit désigner la même chose d'une pièce à l'autre.
Or le travail avec un modèle de langage se fait rarement en une seule fois. Un avocat soumet le bail, puis la mise en demeure, puis trois mois de correspondance. Il demande une chronologie, la corrige, revient le lendemain avec l'avenant. Chaque échange s'appuie sur le précédent.
Si l'outil renomme les parties à chaque envoi, le bailleur devient « Personne 1 » dans le bail et « Personne 3 » dans la correspondance. Le modèle raisonne alors sur deux bailleurs, et peut mettre à la charge du preneur une réparation due par le bailleur. Pire, une fois décodée, la réponse se lit sans accroc : l'erreur passe inaperçue.
Caviarder ou encoder
promptShield distingue deux gestes, et un seul produit un code. Caviarder retire le texte sans retour possible et laisse un marqueur neutre : c'est le geste qui convient aux valeurs dont personne n'aura besoin. Encoder, au contraire, remplace la valeur par un code réversible. Décoder rétablit ensuite l'original, dans un fichier comme dans une réponse collée. Le mécanisme est détaillé dans notre article sur le caviardage réversible.
À quoi ressemble un code
Un code s'écrit entre crochets. Sa première lettre annonce le type : P pour une personne, O pour une organisation, A pour une adresse, D pour une date, B pour l'IBAN d'un RIB. Suivent des caractères de remplissage, puis le crochet fermant. [P0ABCD] en montre l'allure, sans être le code d'un nom précis.
Le remplissage dépend d'une clé propre au registre de chaque poste. Un même nom reçoit donc un autre code sur l'ordinateur d'un collègue. La version gratuite, qui fonctionne dans le navigateur, applique la même règle avec sa propre clé.
La longueur suit celle du texte remplacé : six caractères au minimum, crochets compris, et, au-delà de dix caractères, trois de moins que l'original. Chaque caractère de remplissage a une largeur proche de celle du caractère qu'il remplace. Le code occupe ainsi à peu près la place de l'original, et la mise en page est préservée.
Jusqu'où le code reste le même
Dans un même dossier de la Bibliothèque, une valeur garde son code d'un fichier à l'autre et d'un traitement à l'autre. En revanche, les dossiers sont cloisonnés : si la même valeur apparaît dans deux dossiers, le générateur refait un tirage pour que les codes diffèrent. Un document rangé hors de tout dossier a ses propres codes.
Notre site a pourtant affirmé, en sept langues, qu'une valeur gardait son code dans toute la Bibliothèque. C'était faux, et nous l'avons corrigé. Un lecteur qui découvre cette limite après coup a raison de se sentir trompé.
En français, « dossier » désigne à la fois l'affaire et le répertoire. Rangez une affaire par dossier : la frontière des codes suit alors celle que le secret professionnel trace entre vos clients.
Ce cloisonnement protège aussi vos clients. Prenez le gérant d'une SCI, adversaire dans une affaire et témoin dans une autre. S'il portait le même code dans les deux dossiers, le fournisseur du modèle pourrait relier les affaires de deux clients sans connaître un seul nom.
La table reste chez vous
Un code ne vaut que par la table qui permet de le lire. Dans promptShield, cette table est le Registre de codes, une base SQLite sur la machine qui a produit les codes. Elle ne part ni vers nos serveurs ni vers le modèle, qui ne reçoit que les codes. Décoder s'exécute donc en local.
Ce registre n'est pas chiffré, et c'est délibéré. Les pièces d'origine sont déjà en clair sur le même disque, et le chiffrer n'ajouterait aucune protection.
Le registre peut aussi s'exporter en un fichier JSON en clair, qui associe chaque code à sa valeur. Joint à un document encodé, cet export permet de reconstituer le document en entier. N'envoyez donc jamais cet export par courriel, ni dans un ticket d'assistance, ni dans un espace partagé.
Un code réversible relève de la pseudonymisation définie à l'article 4, point 5, du RGPD. La table doit donc être conservée séparément et protégée. La CNIL rappelle d'ailleurs que des données pseudonymisées restent des données personnelles. C'est pourquoi l'article 28 s'applique toujours au fournisseur du modèle, même s'il ne reçoit que des codes.
Ce que la constance ne règle pas
Un code cohérent ne protège que ce qui a été trouvé. La détection combine des motifs, pour un IBAN ou un numéro de sécurité sociale, et un modèle qui repère les noms. Or aucun modèle local ne repère tous les identifiants d'un document. C'est pourquoi l'étape Réviser présente, par défaut, chaque valeur trouvée avant le téléchargement.
Une affaire, un dossier
Rangez le bail, la mise en demeure, la correspondance et l'avenant dans le même dossier avant d'encoder. Détectez, révisez, encodez, puis soumettez les pièces au modèle autant de fois qu'il le faut. Décodez sa réponse sur le poste qui a produit les codes. Pour un autre client, ouvrez un autre dossier.
Questions fréquentes
Pourquoi un même nom doit-il garder le même code ?
Parce que le code sert de renvoi, comme un numéro de pièce. Un bailleur codé de deux façons devient deux personnes pour le modèle. promptShield assure cette constance par dossier, quel que soit le nombre de traitements.
Les codes restent-ils cohérents entre plusieurs documents ?
Entre documents du même dossier, oui. D'un dossier à l'autre, non, et c'est voulu : chaque dossier a ses propres codes, et un autre poste produit aussi d'autres codes. Seul un code créé à la main avec Ajouter un code s'applique à tous les dossiers.
Où la table de correspondance est-elle conservée ?
Dans le Registre de codes, un fichier SQLite local sur la machine qui a produit les codes. Elle n'est pas chiffrée, puisque les originaux sont déjà en clair sur le même disque. N'envoyez jamais son export avec un document encodé.
Un document encodé est-il anonymisé au sens du RGPD ?
Pas pour celui qui détient la table : c'est une pseudonymisation, et les données restent personnelles. Si vous n'avez pas besoin de retrouver la valeur, Caviarder la retire sans retour possible.