fix(b9)+test: real-world false-positives + multi-site GT-bench

Real-World-Smoke gegen Westfield Hamburg (englische DSE) deckte
B9-Bug auf: Pattern matched "If mfi Immobilien Marketing GmbH",
"Discover our Se", "Centre Se" usw. als angebliche Entitäten —
englische Connector-Worte + abgeschnittene "Services"-Strings.

B9 Fix:
  - _name_is_blocked() strenger: min 2 Worte, mind. einer ≥4 Chars
    UND capitalized (vor Legal-Form-Suffix). Filtert "Se", "ag",
    "If ...", "Centre Se" zuverlässig.
  - _clean_entity_name() strippt jetzt führende Lowercase-
    Connector-Worte (kontextuelle Verben wie "by", "If",
    "according to").
  - _dedup_substring() collapses
    "mfi Immobilien Marketing GmbH" + "Marketing GmbH" zum längeren.
  - Anwendung sowohl im HRB-Pfad als auch im Fallback-Pfad.

Multi-Site-Bench (2 neue GTs, 2 Engine-Runs):
  - zeroclaw/docs/ground-truth/westfield_hamburg_2026-06-07.json:
    iAdvize-Chatbot bekannt, Unibail-Management-Verantwortlicher.
  - zeroclaw/docs/ground-truth/allianz_reise_chatbot_2026-06-07.json:
    Twilio-Infrastruktur (US-Transfer), lit. f + 2-Mo-Retention.
  - zeroclaw/docs/audits/2026-06-07-multi-site-walk-results.md:
    Sprint-Briefing mit Detektor × Site Matrix, Audit-Walk-DSMS-
    CIDs, identifizierte Real-World-Bugs + Backlog.

Audit-Walk-Endstand (B17 Stufen 1-3):
  - Westfield: 400 KB Video, CID Qm…WJYfYDt…BXgwt
  - Allianz:   1 MB Video,   CID Qm…XFuiC4z…9mSMM
  Beide DSMS-persistiert, Reviewer kann jederzeit verifizieren.

Tests: 21/21 grün (test_impressum/test_elli_gt_coverage).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-06-07 17:51:17 +02:00
parent c7d2038ad9
commit a2cae94526
4 changed files with 324 additions and 1 deletions
@@ -0,0 +1,57 @@
{
"site": "allianz-reiseversicherung.de",
"crawled_at": "2026-06-07",
"crawler": "BreakPilot-Compliance Ground-Truth crawl via WebFetch",
"notes": [
"Allianz-Reiseversicherung — AWP P&C S.A. Niederlassung Deutschland.",
"Chatbot-Datenschutz: /de_DE/datenschutz/chatbot.html",
"Externer Bot-Infrastruktur-Provider: Twilio Inc. (USA, San Francisco)."
],
"expected_vendors_in_dse": [
{"name": "Twilio Inc.", "country": "US", "category": "Chatbot-Infrastruktur", "address": "101 Spear Street, San Francisco, CA 94105"},
{"name": "AWP P&C S.A. (Niederlassung Deutschland)", "country": "DE", "category": "Verantwortliche Stelle"}
],
"expected_findings": [
{
"id": "AI-ACT-TRANSPARENCY-001",
"severity": "HIGH",
"title": "AI-Act Art. 50 Pre-Interaction-Disclosure fehlt",
"evidence": "Chatbot-Seite erwähnt KI-Komponente nicht explizit; kein 'Sie sprechen mit einem KI-System'-Hinweis im DSE-Abschnitt.",
"expected_pass": false
},
{
"id": "TRANSFER-001",
"severity": "MEDIUM",
"title": "US-Transfer zu Twilio nur generisch begründet",
"evidence": "DSE nennt 'angemessenes Datenschutzniveau' und 'gleichwertige Garantien', ohne konkreten Mechanismus (DPF, SCCs) pro Vendor.",
"expected_pass": "PARTIAL"
},
{
"id": "AI-ACT-RISK-001",
"severity": "MEDIUM",
"title": "Rechtsgrundlage Chat-Datenspeicherung = berechtigtes Interesse (lit. f)",
"evidence": "DSE nennt 'lit. f / Qualitätssicherung' für 2-Monats-Retention der Bot-Konversationen. Bei AI-Chatbot mit US-Transfer ist Einwilligung (lit. a) die saubere Rechtsgrundlage.",
"expected_pass": false
},
{
"id": "TH-RETENTION-002",
"severity": "LOW",
"title": "Pauschale 2-Monats-Retention ohne Datenkategorie-Differenzierung",
"evidence": "Alle Bot-Konversationsdaten 2 Monate, ohne Aufschlüsselung nach Datenkategorie (Prompt/Output/Metadaten).",
"expected_pass": "PARTIAL"
}
],
"expected_b17_walk_behaviour": {
"footer_links_min": 3,
"accordion_expansion_on_privacy": "vermutlich >0"
},
"summary_for_breakpilot_audit_comparison": {
"high_severity_findings_count": 1,
"medium_severity_findings_count": 2,
"low_severity_findings_count": 1,
"must_detect_to_pass_benchmark": [
"AI-ACT-TRANSPARENCY-001",
"AI-ACT-RISK-001"
]
}
}
@@ -0,0 +1,78 @@
{
"site": "westfield.com/germany/hamburg",
"crawled_at": "2026-06-07",
"crawler": "BreakPilot-Compliance Ground-Truth crawl via WebFetch + Web-Recherche",
"notes": [
"Westfield Hamburg-Überseequartier — Shopping-Center in der HafenCity.",
"Hauptseite: https://www.westfield.com/en/germany/hamburg",
"Privacy-Notice: /en/germany/hamburg/privacy-notice",
"Separate iAdvize-Chatbot-Policy: /germany/privacypolicychatbot",
"Operator: Unibail Management (SAS), Paris."
],
"expected_vendors_in_dse": [
{"name": "iAdvize SAS", "country": "FR", "category": "Chatbot", "ai_act_relevance": "AI-Routing möglich (Phase 2)"},
{"name": "Unibail Management", "country": "FR", "category": "Verantwortliche Stelle"},
{"name": "Salesforce", "country": "US", "category": "CRM (vermutet, in Konzern üblich)"},
{"name": "Google Analytics", "country": "US", "category": "Analytics"},
{"name": "Meta Pixel", "country": "US", "category": "Marketing"}
],
"expected_findings": [
{
"id": "VENDOR-CONSISTENCY-001",
"severity": "HIGH",
"title": "iAdvize in separater Chatbot-Policy genannt, in Haupt-DSE nicht aufgeführt",
"evidence": "/privacypolicychatbot erwähnt iAdvize explizit, /privacy-notice nur als 'processors' mit externem Link. Inkonsistenz — Art. 13 DSGVO verlangt Vollständigkeit in EINEM Dokument.",
"expected_pass": false
},
{
"id": "AI-ACT-TRANSPARENCY-001",
"severity": "MEDIUM",
"title": "AI-Act Art. 50 Pre-Interaction-Disclosure nicht prüfbar ohne Live-Test",
"evidence": "iAdvize bietet AI-Routing optional. DSE nennt keinen expliziten 'Sie sprechen mit einem KI-System'-Hinweis am Chat-UI.",
"expected_pass": "UNKNOWN-LIKELY-FAIL"
},
{
"id": "TH-RETENTION-001",
"severity": "MEDIUM",
"title": "Aufbewahrungsdauer für Server-Logs nicht spezifiziert in Haupt-DSE",
"evidence": "DSE regelt Retention pro Datenkategorie, aber nicht für technische Logs — Art. 13 Abs. 2 lit. a DSGVO verlangt konkrete Angabe.",
"expected_pass": false
},
{
"id": "IMPRESSUM-001",
"severity": "MEDIUM",
"title": "Verantwortlicher = französische SAS — deutsche Impressum-Pflichten nach § 5 TMG?",
"evidence": "Unibail Management (Paris) als Verantwortlicher. Bei Geschäft in Deutschland gelten zusätzliche TMG/MStV-Pflichten — Impressum-Vollständigkeit zu prüfen.",
"expected_pass": "UNKNOWN"
},
{
"id": "TRANSFER-001",
"severity": "MEDIUM",
"title": "US-Transfer für Newsletter mit Standardvertragsklauseln, aber pauschal",
"evidence": "DSE nennt SCCs als Garantie, ohne pro-Vendor-Mechanismus auszuweisen (Art. 13 Abs. 1 lit. f DSGVO).",
"expected_pass": "PARTIAL"
},
{
"id": "URL-STRUCTURE-001",
"severity": "LOW",
"title": "Chatbot-Policy auf separater URL ohne Sprach-Prefix",
"evidence": "/germany/privacypolicychatbot (kein /de/) — inkonsistent zu /en/germany/hamburg/privacy-notice.",
"expected_pass": false
}
],
"expected_b17_walk_behaviour": {
"footer_links_min": 4,
"expected_to_include": ["privacy", "imprint", "terms"],
"accordion_expansion_on_privacy": "wahrscheinlich >0"
},
"summary_for_breakpilot_audit_comparison": {
"high_severity_findings_count": 1,
"medium_severity_findings_count": 4,
"low_severity_findings_count": 1,
"must_detect_to_pass_benchmark": [
"VENDOR-CONSISTENCY-001",
"AI-ACT-TRANSPARENCY-001",
"TH-RETENTION-001"
]
}
}