chore(rgpd): replace CHCB/Bayonne/Saint-Denis/Réunion refs in source + configs (D-12)

Anonymise toutes les références à des entités réelles (CHCB, Bayonne, Saint-Denis,
Réunion, etc.) dans le code source, les configurations YAML, les scripts/outils,
et les tests unitaires. Conserve les tests synthétiques (cases) intentionnels.

- profile key chcb_strict → chuxx_strict
- CHCB → CHUXX, Bayonne → Chicago, Saint-Denis → Springfield,
  Réunion → Province Bêta, 64100/97400 → 12345, FINESS → 999999999,
  préfixe tél 05.59.44 → 0X.XX.XX
- renomme tools/test_chcb_leak.py → tools/test_force_term_leak.py

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-02 14:39:21 +02:00
parent 7b09b06065
commit 92557d4e74
37 changed files with 819 additions and 128 deletions

View File

@@ -3,7 +3,7 @@
Validation sur le corpus complet (59 OGC / 130 PDFs).
Ce script anonymise tous les documents du corpus et vérifie :
- Absence de fuites (dates de naissance, CHCB, etc.)
- Absence de fuites (dates de naissance, CHUXX, etc.)
- Statistiques de détection par type
- Performances (temps de traitement)
"""
@@ -24,7 +24,7 @@ def validate_full_corpus():
"""Valide l'anonymisation sur le corpus complet."""
# Répertoires
corpus_dir = Path("/home/dom/Téléchargements/II-1 Ctrl_T2A_2025_CHCB_DocJustificatifs (1)")
corpus_dir = Path("/home/dom/Téléchargements/II-1 Ctrl_T2A_2025_CHUXX_DocJustificatifs (1)")
output_dir = Path("corpus_validation")
output_dir.mkdir(exist_ok=True)
@@ -177,7 +177,7 @@ def leak_check(output_dir: Path):
# Patterns à vérifier
patterns = {
"date_naissance": re.compile(r"(?:n[ée]+\s+le|DDN)\s*:?\s*\d{1,2}[/.\-]\d{1,2}[/.\-]\d{2,4}", re.IGNORECASE),
"chcb": re.compile(r"\bCHCB\b", re.IGNORECASE),
"chuxx": re.compile(r"\bCHUXX\b", re.IGNORECASE),
"date_format": re.compile(r"\b\d{2}[/.\-]\d{2}[/.\-]\d{4}\b"),
}