Files
breakpilot-compliance/backend-compliance/tests/fixtures/golden_truth/vw_de.json
T
Benjamin Admin 8cbb513e2c
CI / guardrail-integrity (push) Has been skipped
CI / secret-scan (push) Has been skipped
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / detect-changes (push) Successful in 11s
CI / branch-name (push) Has been skipped
CI / loc-budget (push) Failing after 16s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Has been skipped
CI / validate-canonical-controls (push) Successful in 15s
CI / iace-gt-coverage (push) Has been skipped
CI / test-python-backend (push) Successful in 38s
CI / test-python-document-crawler (push) Has been skipped
CI / test-python-dsms-gateway (push) Has been skipped
CI / test-go (push) Has been skipped
feat(audit): Phase 1 Quick-Wins (P81 + P85 + P70 + P83) + TCF DELETE/INSERT-Fix
P81 — tests/fixtures/golden_truth/vw_de.json:
GT-Fixture mit must_find_cookies (47 VW-Cookies) + expected_vendors
(Google, Adobe, Trade Desk, ...). Basis fuer kuenftige Regression-Tests.

P85 — banner_screenshot_block.py + consent_scanner.py + main.py:
consent-tester macht beim Banner-Detect einen base64-PNG-Screenshot
(< 1.5MB). Backend rendert ihn als <img src="data:..."> direkt nach
dem GF-1-Pager. Visueller Beweis 'so sah das Banner aus' fuer Dispute
mit Marketing/DSB.

P70 — rag_provenance.py:
classify_finding_provenance() klassifiziert ein Finding als 'rag'
(Norm + Quelle), 'mixed' (Norm ohne Quelle) oder 'heuristic' (eigene
Interpretation). provenance_badge_html() rendert kleine Badges
(✓ RAG / NORM / ⚠ HEURISTIK). Modul ist generisch, kann bei jedem
Finding-Renderer einklinkt werden.

P83 — scripts/check-rebuild-needed.sh:
Prueft ob die im Container deployten BUILD_SHA mit local HEAD
uebereinstimmen. Bei Mismatch exit 1 mit 'REBUILD REQUIRED'-Hinweis.
Verhindert das 'alter Code im Container'-Problem das uns mehrfach
erwischt hat (Frontend-Tabs sichtbar, Backend ohne neuen Service).

TCF-Fix — tcf_vendor_authority.py:
cookie_library hat keinen UNIQUE-Index auf cookie_name → ON CONFLICT
war unmoeglich. Loesung: vor Insert DELETE WHERE source_name='iab_tcf_v2'.
Idempotent. + per-Vendor-Commit damit ein Fail die naechsten nicht blockt.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 08:24:46 +02:00

52 lines
1.8 KiB
JSON

{
"site": "Volkswagen Deutschland",
"site_url": "https://www.volkswagen.de",
"captured_at": "2026-05-22T00:00:00Z",
"source": "User-Copy aus Cookie-Richtlinie (Browser Strg+A → Strg+C)",
"cookie_richtlinie_url": "https://www.volkswagen.de/de/mehr/rechtliches/cookie-richtlinie.html",
"expectations": {
"min_declared_cookies": 90,
"expected_unique_vendors_after_dedup": 18,
"must_find_cookies": [
"VWD6_ENSIGHTEN_PRIVACY_MODAL_LOADED",
"VWD6_ENSIGHTEN_PRIVACY_MODAL_VIEWED",
"smartSignals2UiD", "smartSignals2sUiD",
"s_ecid", "s_cc", "s_sq",
"AMCV_", "AMCVS_", "demdex", "dextp",
"mbox", "mboxEdgeCluster",
"TDID", "TDCPM", "TTDOptOut",
"DSID", "ANID", "AID", "IDE", "TAID",
"_gcl_au", "_gcl_dc", "_fbc", "_fbp", "fr",
"_pk_uid",
"OptanonConsent",
"everest_g_v2", "everest_session_v2",
"adbCDP",
"liveagent_sid", "liveagent_chatted",
"X-Salesforce-eLB", "sfdc-stream",
"__cfduid", "__cflb",
"FPAU", "FPGCLDC", "FLC", "APC",
"wlfeDoLogin", "wlfeRefreshSessionId", "LBCOOKIE",
"CookieConsentPolicy",
"BrowserId", "BrowserId_sec",
"inbenta-km-session-id"
],
"expected_vendors_present": [
"Google",
"Adobe Experience Cloud",
"Adobe Analytics",
"The Trade Desk",
"AdForm",
"Meta / Facebook",
"Salesforce",
"Cloudflare",
"Borlabs"
],
"expected_high_findings_minimum": 1,
"banner_must_be_detected": true,
"expected_doc_types_with_text": [
"dse", "cookie", "impressum", "nutzungsbedingungen"
]
},
"raw_paste": "Name des Cookies\nKategorie\nVerwendungszweck\nSpeicherdauer\nArt des Cookies\nSee tests/fixtures/cookie_gt/vw_cookie_richtlinie.txt for the abbreviated raw form."
}