PSEUDONOMIA
v2 · Journaux IA + scellé
Sealed log · Journal IA · AI Act art. 12/13/14/26
JOURNAUX · LECTURE 5 MIN

PSEUDONOMIA est la référence de la pseudonymisation locale — et être la référence, c'est laisser une preuve opposable de chaque action.

Chaque action laisse
une preuve cryptographique.

PSEUDONOMIA tient deux journaux distincts et complémentaires : un journal scellé pour toutes les actions sensibles (chaîne SHA-256 + Ed25519) et un journal IA dédié aux décisions automatisées (AI Act art. 12 à 26). Vérifiables hors application. Opposables.

Conforme AI Act art. 12, 13, 14, 26 Vérification CLI hors app 🇫🇷 Édité par LexLabs · 100 % local

1.Le contrôle qui arrive un jour

DPO de votre client, autorité de régulation, juge d'instruction, commissaire aux comptes : tôt ou tard, quelqu'un demande la preuve de ce que vous avez fait, quand, et comment.

« Pouvez-vous démontrer que vous n'avez pas modifié le rapport d'expertise après sa transmission ? Que les décisions automatisées ont bien été supervisées par vous ? Que la chaîne n'a pas été cassée ? »

Un Word ne peut pas prouver ça. Un fichier de log texte non plus (on peut le réécrire). Seule une chaîne cryptographique signée permet d'attester que l'historique n'a pas été altéré entre temps.

PSEUDONOMIA fournit cette preuve, en arrière-plan, à chaque action que vous faites. Zéro effort de votre côté. Le contrôle pourra venir.

2.Deux journaux complémentaires

PSEUDONOMIA distingue les actions sensibles (toutes opérations sur des données) des actions IA (inférences NER + décisions humaines de supervision). Deux niveaux d'auditabilité.

🔒

Sealed log (journal scellé)

~/.lexmind/sealed.log

Toutes les actions sensibles de l'application : session, fichier ouvert, doc pseudonymisé, table exportée, projet créé, document ajouté, identité régénérée, etc.

  • Chaque entrée hashée SHA-256
  • Chaque entrée signée Ed25519 par votre identité
  • Chaque entrée référence le hash de la précédente (chaîne)
  • Rotation automatique au-delà de 50 000 entrées
  • Vérifiable hors application avec un binaire dédié
🤖

Journal IA

~/.lexmind/ai-journal/*.ndjson

Toutes les décisions IA : modèles NER utilisés, entités détectées, overrides humains (ajout / suppression / renommage), forçages k-anonymité.

  • Versions de modèles capturées (spaCy, kanon, app_features)
  • 1 synthèse par doc + 1 entrée par décision humaine
  • Bornes de session (start/end) tracées
  • Export PDF audité pour le DPO
  • Annexe « Activité IA » dans le Registre Article 30

3.La chaîne, visualisée

Chaque entrée du sealed log contient le hash de la précédente. Toute modification — même d'un seul caractère — rompt la chaîne et est détectable lors d'une vérification.

#0 · identity.operator.create
prev: null hash: 8f3a91…7c2b sig: Ed25519 OK ✓
#1 · session.unlock
prev: 8f3a91…7c2b hash: a1e472…9d18 sig: Ed25519 OK ✓
#2 · pipeline.pseudonymize_file
prev: a1e472…9d18 hash: 5cb238…ef04 sig: Ed25519 OK ✓
#3 · ai.inference.summary
prev: 5cb238…ef04 hash: 7d09bc…4a15 sig: Ed25519 OK ✓
#4 · pipeline.export_pseudonymized
prev: 7d09bc…4a15 hash: 3f51d8…b602 sig: Ed25519 OK ✓
Modifier l'entrée #2 ? Le hash change. La chaîne #3 se brise. La vérification échoue immédiatement et identifie le point de rupture. Falsification détectable, signe vital.

4.Les actions tracées

Liste non exhaustive des événements enregistrés dans les journaux.

🔒 Sealed log (actions sensibles)

identity.operator.create
Création initiale de la paire Ed25519
identity.operator.unlock
Déverrouillage de la session (mot de passe)
identity.operator.lock
Verrouillage manuel ou auto-lock
pipeline.pseudonymize_file
Document pseudonymisé (hash source + résultat)
pipeline.export_pseudonymized
Export final (DOCX/PDF/MD)
project.created
Nouveau projet Mode 3 ouvert
project.add_document
Document ajouté à un projet existant
kanon.set_policy
Modification de la politique k-anonymité
depseudo.session.start
Début session de re-identification

🤖 Journal IA (décisions automatisées + humaines)

ai.session.start
Borne début (versions modèles capturées)
ai.session.end
Borne fin (durée + nb d'inférences)
ai.inference.summary
1 synthèse par doc (nb entités, modèles)
ai.override.add
Entité ajoutée par l'utilisateur
ai.override.delete
Entité supprimée par l'utilisateur
ai.override.relabel
Type d'entité modifié manuellement
ai.kanon.override
Forçage k-anonymité (avec justification)

5.Conformité AI Act articulée

Le Journal IA est conçu pour répondre point par point aux articles du Règlement Européen sur l'IA (AI Act).

AI Act · Art. 12

Tenue de registres (logs)

Chaque inférence est journalisée avec timestamp, modèles utilisés, document source (hash). Conservation traçable.

AI Act · Art. 13

Transparence vers utilisateur

Les modèles, versions, et limites de confiance OCR sont exposés dans l'interface et journalisés.

AI Act · Art. 14

Supervision humaine

Chaque override (add/delete/relabel) est tracé avec identité opérateur — preuve que l'humain reste dans la boucle.

AI Act · Art. 26

Obligations du déployeur

Annexe « Activité IA » sur 12 mois agrégée dans le Registre Article 30, avec ventilation par type d'action.

6.Vérifiable hors application

Un binaire indépendant permet de vérifier la chaîne sans dépendre de PSEUDONOMIA — gage de transparence et d'opposabilité.

# Vérification de la chaîne complète $ python -m lexmind_backend.audit.verifier ~/.lexmind/sealed.log Lecture de 1 247 entrées… Vérification SHA-256 chain… OK ✓ Vérification signatures Ed25519… OK ✓ { "valid": true, "entries": 1247, "first_entry": "2026-01-15T08:32:11Z", "last_entry": "2026-05-26T14:21:09Z", "verify_key": "Lz5qFV+4PO9Fs1yBGksovs9eXDKPhZ2qh+tixjh79tA=" }

Le binaire verifier est inclus dans l'application. Il peut aussi être extrait et exécuté indépendamment (Python 3.11+, pas de dépendance réseau). Un auditeur peut vérifier votre chaîne sans avoir à vous croire sur parole.

7.Export PDF audité — pour transmission DPO

Un bouton, un PDF mis en forme, prêt à remettre à votre DPO ou à un auditeur externe.

1

Ouvrir le Journal IA depuis le menu DZ

Menu identité → 📓 Journaux → Journal IA. La modale affiche l'historique avec filtres (type d'action, fenêtre temporelle, document, recherche full-text).

2

Choisir une fenêtre (3 / 6 / 12 / 24 mois)

Sélection de la période couverte par l'export. Option : inclure le détail du dernier mois (entrées individuelles) ou seulement la synthèse agrégée.

3

Cliquer « Exporter PDF audit »

PSEUDONOMIA génère un PDF reportlab : page 1 = synthèse table par action + références AI Act art. 12/13/14/26. Pages 2+ = détail entrées individuelles du dernier mois.

4

Transmettre au DPO / auditeur

Le PDF contient votre identité opérateur, le fingerprint Ed25519 public, la date de génération, et la chaîne d'audit complète. Opposable juridiquement.

8.Les garanties techniques

Cryptographie standard, vérifiable, opposable.

✓ SHA-256 chain

Chaque entrée embarque le hash de la précédente. Modifier une entrée invalide toutes les suivantes — détectable.

✓ Signature Ed25519

Chaque entrée signée par votre paire Ed25519 personnelle. La verify_key publique est embarquée dans chaque entrée.

✓ Rotation automatique

Au-delà de 50 000 entrées, rotation marquée par ai.journal.archived. Anciennes entrées préservées en archive signée.

✓ Versions modèles capturées

spaCy fr_core_news_lg, hash des JSON kanon signés, version backend, version Constructor app_features. Reproductibilité totale.

✓ Verifier autonome

Binaire verifier indépendant. Python 3.11+. Pas de réseau. Sortie JSON parseable par un outil tiers.

✓ Export PDF mis en forme

reportlab. Page 1 synthèse + pages 2+ détail. Identité, fingerprint, date. Format opposable à remettre au DPO.

9.L'écosystème PSEUDONOMIA

Les journaux sont le socle d'auditabilité de tous les autres modules.

Toute action laisse une trace. Toute trace est signée. Toute signature est vérifiable hors application. Le contrôle peut venir.