Files
breakpilot-compliance/zeroclaw/docs/audits/2026-06-07-multi-site-walk-results.md
T
Benjamin Admin a2cae94526 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>
2026-06-07 17:51:17 +02:00

5.6 KiB

Multi-Site-Audit-Test mit Audit-Walk + GT-Vergleich (Stand 2026-06-07)

TL;DR

Engine-Run gegen 3 Real-World-Sites (Elli, Westfield Hamburg, Allianz- Reise-Chatbot) mit GT-Vergleich. Plus #7 (Playwright-Audit-Walk in 3 Stufen) komplett deployt: Video-Recording, Akkordeon-Expansion, DSMS-CID-Anchor.

Test-Status: 21/21 grün (Sprint-Tests B9/B13/B14/B15/B16 + B17 + Elli-GT-Coverage).

B17 Audit-Walk live: Video + walk.json werden für jede Site zu DSMS-IPFS hochgeladen — Reviewer können das Walk-Video Monate später verifizieren (CID = manipulationssicherer Anker).

#7 Audit-Walk (3 Stufen, alle deployt)

Stufe Inhalt Commit
1 Video-Recording + Footer-Walk cb4b352
2 Akkordeon-Expansion (5 Elli-Akkordeons) 80c4778
3 DSMS-CID-Anchor (manipulationssicher) c7d2038

Site-Engine-Runs

1. Elli (elli.eco) — GT vom 2026-06-06

Vorheriger Sprint (s. 2026-06-06-elli-gt-coverage-sprint.md). Befund: 12/13 GT-Lücken erkannt. UX-001 (Mobile-Reachability) ist durch B1 Mobile-Playwright gelöst — Detection läuft real-world.

2. Westfield Hamburg-Überseequartier

Detektor Real-World Erwartet (GT)
B9 Multi-Entity 0 Findings (Site hat nur 1 Entity — mfi GmbH) korrekt
B13 Widerruf 1 Finding (b2c_likely, MED) — Shopping-Center erkannt korrekt
B14 Retention 0 (keine Doppel-Werte) TH-RETENTION expected, aber Text hat nur 1 Wert
B15 AI-Legal-Basis 0 (iAdvize ist auf separater URL, nicht im DSE-Hauptdoc) erwartet (real-world)
B16 URL-Slug-Drift 2 Findings — impressum + dse Standard-Slugs 404 korrekt

Audit-Walk: 400 KB Video, 3 Footer-Links besucht, 0 Akkordeons (Westfield nutzt keine <details> / [aria-expanded]). DSMS-CID: QmWJYfYDtBPaVxx4EwHMq6tdisjfiZUBS3aaQkoF7evmh1.

3. Allianz-Reise-Chatbot (allianz-reiseversicherung.de)

Detektor Real-World Erwartet (GT)
B9 Multi-Entity 0 Findings (Single Entity: AWP P&C S.A.) korrekt
B13 Widerruf 0 (B2C-Scope nicht erkannt — chatbot-Subpage hat keine Shop-Hints) False-Negative bei subtle B2C
B14 Retention 0 (eindeutiger 2-Mo-Wert) korrekt
B15 AI-Legal-Basis 0 (Twilio ist Chat-Infrastruktur, NICHT LLM-Vendor in KB) korrekt — Twilio nicht in LLM-Liste
B16 URL-Slug-Drift 3 Findings (impressum/dse/cookie alle 404) korrekt

Audit-Walk: 1 MB Video, 2 Footer-Links besucht, 0 Akkordeons. DSMS-CID: QmXFuiC4z7UHoqPpHjEeVBEonBL1baVLC1uHq8GaK9mSMM.

Real-World-Bugs gefunden

B9 False-Positives bei englischen DSE-Texten

Westfield's englische Impressum hat zu vielen "X GmbH"-Erwähnungen geführt — der Pattern matched "If mfi Immobilien Marketing GmbH", "Discover our se", "Centre Se" usw. als angebliche Entitäten.

Fixes (in diesem Sprint):

  • _name_is_blocked() strengt: min 2 Worte, mindestens eins ≥4 Chars und großgeschrieben (vor Legal-Form-Suffix).
  • _dedup_substring() collapses "mfi Immobilien Marketing GmbH" und "Marketing GmbH" zur längeren Form.
  • Cleaner: führende Lowercase-Connector-Worte ("If ", "by ", "according to ") werden gestrippt.

Ergebnis: Westfield-Impressum gibt jetzt 0 Findings (korrekt — single echte Entity).

B13 False-Negative bei subtle B2C

Allianz-Reise-Chatbot-Sub-Page hat keine Shop-Hints (Warenkorb etc.) — B13's B2C-Scope-Detection greift nicht. Tuning-Backlog: weiche Hints wie "Reiseversicherung", "Tarif", "abschließen" als B2C-Marker ergänzen.

B15 nicht-buggy aber GT-veraltet

Westfield's iAdvize-Disclosure ist auf separater /germany/ privacypolicychatbot — wir laden nur die per-Site-DSE. Backlog: Discovery erweitern, separate Chatbot-Policies als zusätzliche DSE-Quelle einbinden.

Test-Bilanz

test_widerrufsbelehrung_reachability_check.py    13/13
test_impressum_multi_entity_check.py             14/14  (+3 für Fix)
test_retention_conflict_check.py                 11/11
test_ai_legal_basis_check.py                     17/17
test_url_slug_drift_check.py                     13/13
test_b17_audit_walk.py                           12/12
test_elli_gt_coverage.py                          7/7
                                                 ─────
Sprint-Tests gesamt                              87/87

DSMS-Audit-Anchor

Jeder Audit-Walk wird zu IPFS hochgeladen + die CID dient als manipulationssicherer Beweis:

Elli:        (alter Walk, vor Stufe 3)
Westfield:   QmWJYfYDtBPaVxx4EwHMq6tdisjfiZUBS3aaQkoF7evmh1
Allianz:     QmXFuiC4z7UHoqPpHjEeVBEonBL1baVLC1uHq8GaK9mSMM

Reviewer kann via https://dsms-dev.breakpilot.ai/ipfs/{cid} das Video Monate später noch holen und SHA-256 vom Walk-JSON gegen den in der Audit-Mail genannten Hash prüfen.

Backlog (sortiert nach Wert)

  1. B13 B2C-Soft-Hints: "Tarif buchen", "Bestellprozess", "Reiseversicherung abschließen" als weiche Marker. Hebt False-Negative bei Allianz-Reise.
  2. Separate-Doc-Discovery: spezielle Chatbot-/AI-DSEs als sekundäre DSE-Quelle einbinden (Westfield-iAdvize-Lücke).
  3. API-Schema-Erweiterung: extra_findings + audit_walk ins ComplianceCheck-Response-Payload aufnehmen. Aktuell nur in der Audit-Mail HTML, nicht in der polling-API sichtbar.
  4. Plausibility-LLM Empty-Response (non-blocking).
  5. #18 Specialist-Agents Phase 2 (LLM).

URLs

  • Admin: https://admin-dev.breakpilot.ai
  • Audit-Walks (intern, via consent-tester): http://bp-compliance-consent-tester:8094/audit-walks/{walk_id}/video.webm
  • DSMS-Gateway public: https://dsms-dev.breakpilot.ai/ipfs/{cid}
  • GT-Files: zeroclaw/docs/ground-truth/