feat(banner): Consent-Historie/Widerruf live erkennen (Borlabs-Stil, #62)
consent_history.detect_consent_history: erkennt CMP-Anbieter (Borlabs/ Usercentrics/OneTrust/Cookiebot/…) aus Storage+Cookies, versionierten Consent (historie-fähig) + dauerhaftes Widerruf-/Einstellungs-Widget. consent_scanner ruft es in Phase A; scan_matrix_summary surft summary.consent_history; browser_cross_finding: positiver Befund wenn vorhanden, sonst Best-Practice-LOW („Nutzer sehen, wann sie welcher Version zugestimmt haben"); BrowserBehaviorView zeigt es im Engine-Detail. Tests: 7 (classify/versioned) + 2 Cross-Finding. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -81,6 +81,9 @@ class ConsentTestResult:
|
||||
# Backend embedded das als <img> in der Mail — visueller Beweis
|
||||
# "so sah das Banner zum Audit-Zeitpunkt aus".
|
||||
banner_screenshot_b64: str = ""
|
||||
# #62: Consent-Historie/Widerruf (Borlabs-Stil) — Provider, versionierter
|
||||
# Consent (historie-fähig), dauerhaftes Widerruf-Widget.
|
||||
consent_history: dict = field(default_factory=dict)
|
||||
|
||||
|
||||
def _apply_edge_case_findings(result, url: str = "") -> None:
|
||||
@@ -274,6 +277,13 @@ async def run_consent_test(
|
||||
except Exception as _se:
|
||||
logger.warning("P85: banner screenshot failed: %s", _se)
|
||||
|
||||
# #62: Consent-Historie/Widerruf (Borlabs-Stil) erkennen.
|
||||
try:
|
||||
from services.consent_history import detect_consent_history
|
||||
result.consent_history = await detect_consent_history(page_a)
|
||||
except Exception as _che:
|
||||
logger.warning("consent-history detection failed: %s", _che)
|
||||
|
||||
await ctx_a.close()
|
||||
|
||||
if not banner.detected:
|
||||
|
||||
Reference in New Issue
Block a user