From 3207acea3e4ffcad9fb0ddc54887fb790aeed097 Mon Sep 17 00:00:00 2001 From: Benjamin Admin Date: Thu, 21 May 2026 17:04:02 +0200 Subject: [PATCH] fix(audit): Replay-Pipeline um P35/P77/P78/P36 Signals-Block ergaenzen check_replay.py rendert jetzt auch die Textsignal-Findings (Save-Label- Ambiguitaet, Cookies-in-DSE-Akzeptanz, JC-Klausel positiv, Social-Embeds). Damit hat der Replay-Test parity mit der echten Mail-Pipeline. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../compliance/services/check_replay.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/backend-compliance/compliance/services/check_replay.py b/backend-compliance/compliance/services/check_replay.py index abeaf63f..c913131c 100644 --- a/backend-compliance/compliance/services/check_replay.py +++ b/backend-compliance/compliance/services/check_replay.py @@ -132,6 +132,24 @@ def replay_from_snapshot( except Exception as e: logger.warning("Replay: vvt failed: %s", e) + # P35 + P77 + P78 + P36: Textsignale (Save-Label, Cookies-in-DSE, + # JC-Klausel, Social-Embeds) + try: + from compliance.services.doc_text_signals import ( + run_all as run_signal_checks, + build_signals_block_html, + ) + cookie_doc_missing = not bool(doc_texts.get("cookie")) + sig_findings = run_signal_checks( + banner_result, doc_texts, cookie_doc_missing, + ) + if sig_findings: + sig_html = build_signals_block_html(sig_findings) + parts.append(sig_html) + section_sizes["signals"] = len(sig_html) + except Exception as e: + logger.warning("Replay: signals block failed: %s", e) + # P92 + P94: Banner-Konsistenz try: from compliance.services.banner_consistency_checks import (