From 7079b029a76efc087520fe5f3308300e3e6504bf Mon Sep 17 00:00:00 2001 From: Domi31tls Date: Fri, 29 May 2026 18:01:29 +0200 Subject: [PATCH] fix(q1): redact_pdf_vector raise on apply_redactions failure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Avant : silence sur apply_redactions échec → PDF sortait sans rédaction (fuite RGPD critique en milieu santé). Maintenant : log.warning + raise → l'exception remonte à process_pdf qui la traitera en étape D (try/flag Q-PDF). Note transitoire : tant que process_pdf:4655 a encore 'except: pass', le comportement net est "PDF non généré silencieusement". C'est strictement meilleur qu'avant (pas de fuite) mais pas encore optimal (pas d'alerte opérateur). L'étape D complète la chaîne avec QuarantineManager.flag(). Ref: docs/coordination/inbox/for-dom/2026-05-29_consolide_pseudocode-Q1-v2.md §1 cas #5 Co-Authored-By: Claude Opus 4.7 (1M context) --- anonymizer_core_refactored_onnx.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/anonymizer_core_refactored_onnx.py b/anonymizer_core_refactored_onnx.py index 71c8ec3..5eea678 100644 --- a/anonymizer_core_refactored_onnx.py +++ b/anonymizer_core_refactored_onnx.py @@ -3935,8 +3935,12 @@ def redact_pdf_vector(original_pdf: Path, audit: List[PiiHit], out_pdf: Path, oc page.add_redact_annot(r, fill=(0, 0, 0)) try: page.apply_redactions() - except Exception: - pass + except Exception as e: + # Q-1 : ne plus avaler silencieusement. Si apply_redactions échoue, + # le PDF sort SANS rédaction → fuite RGPD. On log + remonte pour + # que process_pdf flag la quarantaine PDF. + log.warning("apply_redactions failed on page %d: %s", page.number, e) + raise doc.save(str(out_pdf), deflate=True, garbage=4, clean=True, incremental=False) doc.close()