Files
breakpilot-compliance/zeroclaw
Benjamin Admin 0b29d1fada fix(cookie-inventory): fuzzy prefix-match + BMW-GT-File
BMW-Mail zeigte 738 deklariert / 31 Browser / **0 OK** — alle
Browser-Cookies landeten als UNDOC, alle deklarierten als ORPH.
Ursache: exact-string-match scheitert bei Suffix-Cookies.

_norm_for_match() + _matches() Helper:
  - Strippt Wildcards (`*`, `.*`, `<id>`, `{var}`) + Lower-Case
  - Erhält führende Underscores (`__cf_bm`, `_ga` sind meaningful)
  - Prefix-Match in BEIDE Richtungen, min 3 Chars (kein "_"-Garbage)

build_cookie_inventory():
  - Für jeden Browser-Cookie: längster Prefix-Match in declared wählen
  - browser-to-decl Index + decl-match-Index für O(N×M) → O(N+M)
  - matched browser-keys werden aus all_keys entfernt → kein
    Double-Count (vorher: ORPH + UNDOC parallel)

Realistischer BMW-Match-Test:
  declared=[_ga, _gid, __cf_bm, AMP_TOKEN, _fbp, intercom-session,
            _pk_id.*, OptanonConsent]
  browser= [_ga_K8YL3M9T, _gid_xyz, __cf_bm_actual_hash,
            AMP_TOKEN_runtime, _fbp_123, intercom-session-2026,
            _pk_id.5.7d8, OptanonConsent]
  → 8 OK (vorher 0)

BMW-GT-File (zeroclaw/docs/ground-truth/bmw_de_2026-06-07.json):
  - OneTrust CMP + 14 erwartete Vendoren
  - Cookie-Count-Ranges (browser 80-250, deklariert 300-800)
  - 7 expected findings inkl. neuem COOKIE-INVENTORY-MATCH-001 als
    Benchmark gegen den Fuzzy-Match-Bug

Tests: 14/14 grün (4 _norm_for_match + 5 _matches + 5
build_cookie_inventory inkl. realistic_bmw_pattern).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-07 21:29:21 +02:00
..

ZeroClaw Compliance Agent Demo

Autonomer Compliance-Agent der Web-Dokumente (Cookie-Banner, Datenschutzerklaerungen) analysiert und die Ergebnisse an die zustaendige Rolle weiterleitet.

Architektur

ZeroClaw Agent (Rust, Mac Mini)
  │
  ├── LLM: Qwen 3.5:35b-a3b (Ollama, localhost:11434)
  │
  ├── Compliance SDK (Go/Gin, localhost:8093)
  │   ├── /sdk/v1/llm/chat         → Dokumentklassifizierung
  │   ├── /sdk/v1/ucca/assess      → Risikobewertung
  │   └── /sdk/v1/ucca/escalations → Eskalation + Rollenzuweisung
  │
  ├── Backend (Python/FastAPI, localhost:8002)
  │   └── /api/compliance/agent/notify → Email-Benachrichtigung
  │
  └── Mailpit (SMTP localhost:1025, Web localhost:8025)
      └── Fiktive Email-Zustellung

Voraussetzungen

  • ZeroClaw v0.7.3+ (brew install zeroclaw)
  • Ollama mit qwen3.5:35b-a3b Modell
  • Alle Compliance-Services laufen (SDK, Backend, Mailpit)

Demo ausfuehren

# 1. ZeroClaw mit Ollama verbinden (einmalig)
zeroclaw onboard --quick --provider ollama --model qwen3.5:35b-a3b

# 2. SOP ausfuehren
zeroclaw agent -m "Analysiere die Datenschutzerklaerung von https://www.google.com/intl/de/policies/privacy/"

# 3. Ergebnis pruefen
open http://localhost:8025  # Mailpit Web-UI

E2E Test

bash zeroclaw/tests/test_sop_workflow.sh

SOP-Workflow (6 Schritte)

  1. Fetch — URL holen, HTML strippen
  2. Classify — Dokumenttyp bestimmen (privacy_policy, cookie_banner, etc.)
  3. Assess — DSGVO-Risikobewertung via UCCA
  4. Summarize — Manager-Report auf Deutsch
  5. Assign — Zustaendige Rolle bestimmen (E0-E3 Mapping)
  6. Notify — Email an DSB/Teamleitung senden