5d89eaf8dcd2abd1b28d3a80e76ac141f1d5770e
Implémentation de la traçabilité B-1 sur les sorties d'anonymisation.
## .audit.jsonl — entrée metadata en 1ère ligne
Chaque .audit.jsonl commence maintenant par une entrée :
{"type": "metadata",
"app_version": "0.11.0-mvp",
"build_date": "...",
"build_commit": "...",
"build_branch": "...",
"processed_at": "<iso>",
"document_name": "...",
"ocr_used": bool,
"extracted_chars": int,
"quarantine_flags": []}
Permet de prouver a posteriori avec quelle config un document a été
anonymisé (audit DPO / CNIL).
## XMP PDF — _apply_pseudo_xmp_metadata()
Helper appelé avant doc.save() dans redact_pdf_vector et redact_pdf_raster :
1. doc.set_metadata({}) — efface TOUTES les métadonnées source
(CRITIQUE : les PDF source peuvent contenir le nom patient dans
/Author, /Title, /Keywords)
2. Pose nos métadonnées : creator/producer "Pseudonymisation v...",
title="Document anonymise", author vide, keywords avec commit+ts
3. Garde-fou : log + overwrite si une métadonnée source survit
(defense in depth)
## Constantes module-level
- APP_VERSION = "0.11.0-mvp" (à incrémenter avant chaque rebuild release)
- BUILD_DATE/BUILD_COMMIT/BUILD_BRANCH chargés depuis build_info.py
(regénéré à chaque rebuild EXE). Fallback "dev/unknown" en dev.
## Tests
74 passed, 10 xfailed — pas de régression.
Ref: docs/coordination/inbox/for-dom/2026-05-29_consolide_pseudocode-Q1-v2.md §7
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
placer tout les fichiers dans un répertoire. faire un chmod 777 install.sh pour lui donner les droits d'execution lancer ./install.sh pour lancer l'installation complete
L'installation peut prendre du temps, elle charge deux modele IA nlp. Elle crée un environement virtuel python.
Description
Languages
Python
98.2%
Batchfile
1%
PowerShell
0.5%
Shell
0.3%