{
    "schema": "https://saferpage.de/schemas/operator-action-plan.v1",
    "generated_at": "2026-06-17T18:20:26+00:00",
    "domain": "playworld.de",
    "scan": {
        "id": "6541f39f-4d82-4ace-9df6-9da6a610c927",
        "checked_at": "2026-06-17 15:49:34.018812+02"
    },
    "summary": "playworld.de Betreiber-Board: 8 Nachweisposition(en), 8 sofort, 12 ausgelagerte Hintergrundseite(n). Nach jeder Umsetzung erneut scannen; bei hoher Priorität innerhalb von 7 Tagen.",
    "status": "sofort handeln",
    "score": 4,
    "metrics": {
        "ticket_count": 8,
        "open_count": 8,
        "urgent_count": 8,
        "guide_count": 12,
        "team_count": 3,
        "scan_score": 51,
        "target_score": 60,
        "gap_to_target": 9
    },
    "links": {
        "report": "https://saferpage.de/playworld.de",
        "operator_board": "https://saferpage.de/betreiber/playworld.de",
        "domain_verification": "https://saferpage.de/betreiber/playworld.de/verifizierung",
        "release_gate": "https://saferpage.de/release-gate/playworld.de",
        "audit_response": "https://saferpage.de/audit-response/playworld.de",
        "trust_data_room": "https://saferpage.de/datenraum/playworld.de",
        "json": "https://saferpage.de/betreiber/playworld.de/massnahmen",
        "csv": "https://saferpage.de/betreiber/playworld.de/massnahmen-csv",
        "tickets_markdown": "https://saferpage.de/betreiber/playworld.de/tickets",
        "consent_evidence": "https://saferpage.de/consent/playworld.de/nachweise",
        "vendor_service_cards": "https://saferpage.de/anbieter/playworld.de/servicekarten",
        "trust_center": "https://saferpage.de/trust/playworld.de",
        "guides": "https://saferpage.de/guides",
        "rescan": "https://saferpage.de/"
    },
    "tickets": [
        {
            "ticket_id": "SP-001",
            "title": "CSP erlaubt unsafe-inline für Skripte",
            "area": "BSI/Security-Header",
            "owner": "Technik",
            "team": "Developer/Ops",
            "priority": "hoch",
            "priority_score": 82,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Inline-Skripte über Nonces oder Hashes statt unsafe-inline freigeben.",
            "acceptance_criterion": "Security-Header/TLS-Check ist im Wiederholungsscan ohne kritischen Befund.",
            "evidence": "Inline-Skripte über Nonces oder Hashes statt unsafe-inline freigeben.",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "ticket_id": "SP-002",
            "title": "CSP erlaubt eval-nahe Skriptausführung",
            "area": "BSI/Security-Header",
            "owner": "Technik",
            "team": "Developer/Ops",
            "priority": "hoch",
            "priority_score": 82,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "unsafe-eval aus script-src entfernen oder betroffene Bibliotheken ersetzen.",
            "acceptance_criterion": "Security-Header/TLS-Check ist im Wiederholungsscan ohne kritischen Befund.",
            "evidence": "unsafe-eval aus script-src entfernen oder betroffene Bibliotheken ersetzen.",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "ticket_id": "SP-003",
            "title": "Formularfelder ohne klare Beschriftung",
            "area": "Barrierefreiheit/Usability",
            "owner": "UX/Content",
            "team": "Content/UX",
            "priority": "hoch",
            "priority_score": 82,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Formularfelder müssen für Tastatur und Screenreader verständlich beschriftet sein.",
            "acceptance_criterion": "Betroffener UI-Bereich ist per Tastatur bedienbar und automatisierter Accessibility-Check verbessert.",
            "evidence": "Formularfelder müssen für Tastatur und Screenreader verständlich beschriftet sein.",
            "guide_url": "/guides/barrierefreiheit-cookie-banner-formulare"
        },
        {
            "ticket_id": "SP-004",
            "title": "Canvas-Auslese im Browser erkannt",
            "area": "Fingerprinting",
            "owner": "Website-Betrieb",
            "team": "Developer/Ops",
            "priority": "hoch",
            "priority_score": 82,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Canvas-Auslese prüfen und in Datenschutz/Consent-Konzept begründen.",
            "acceptance_criterion": "Wiederholungsscan zeigt keine nicht erforderlichen Cookies/Tags vor Einwilligung oder nach Ablehnung.",
            "evidence": "Canvas-Auslese prüfen und in Datenschutz/Consent-Konzept begründen.",
            "guide_url": "/guides/session-replay-und-fingerprinting-pruefen"
        },
        {
            "ticket_id": "SP-005",
            "title": "Drittanbieter können vollen Referrer-Kontext erhalten",
            "area": "Referrer-Datenabfluss",
            "owner": "Website-Betrieb",
            "team": "Developer/Ops",
            "priority": "hoch",
            "priority_score": 82,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Referrer-Policy so setzen, dass Drittanbieter keine vollen Pfade oder Suchparameter erhalten.",
            "acceptance_criterion": "Drittanbieter ist dokumentiert, rechtlich bewertet und im Scan als erwarteter Dienst nachvollziehbar.",
            "evidence": "Referrer-Policy so setzen, dass Drittanbieter keine vollen Pfade oder Suchparameter erhalten.",
            "guide_url": "/guides/referrer-und-url-leaks-vermeiden"
        },
        {
            "ticket_id": "SP-006",
            "title": "Beacon-/Keepalive-Telemetrie erkannt",
            "area": "Beacon-/Telemetry-Tracking",
            "owner": "Datenschutz/Marketing",
            "team": "GTM/CMP",
            "priority": "hoch",
            "priority_score": 78,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "sendBeacon/Keepalive-Telemetrie auf Zweck, Consent und Anbieter prüfen.",
            "acceptance_criterion": "Wiederholungsscan zeigt keine nicht erforderlichen Cookies/Tags vor Einwilligung oder nach Ablehnung.",
            "evidence": "sendBeacon/Keepalive-Telemetrie auf Zweck, Consent und Anbieter prüfen.",
            "guide_url": "/guides/tracking-pixel-und-beacons-begrenzen"
        },
        {
            "ticket_id": "SP-007",
            "title": "Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus",
            "area": "Consent-Nachweis",
            "owner": "Datenschutz/Marketing",
            "team": "GTM/CMP",
            "priority": "hoch",
            "priority_score": 78,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Die Zustandsmatrix zeigt Datenschutz-Signale nach Ablehnen.",
            "acceptance_criterion": "Wiederholungsscan zeigt keine nicht erforderlichen Cookies/Tags vor Einwilligung oder nach Ablehnung.",
            "evidence": "Die Zustandsmatrix zeigt Datenschutz-Signale nach Ablehnen.",
            "guide_url": "/guides/tracking-und-consent-reparieren"
        },
        {
            "ticket_id": "SP-008",
            "title": "Dateneingabe und datenschutzrelevante Drittanbieter im selben Browseraufruf",
            "area": "PII/Tracking",
            "owner": "Datenschutz/Marketing",
            "team": "GTM/CMP",
            "priority": "hoch",
            "priority_score": 78,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Tracking auf Seiten mit Dateneingabe nur nach Einwilligung und ohne Formulardaten auslösen.",
            "acceptance_criterion": "Drittanbieter ist dokumentiert, rechtlich bewertet und im Scan als erwarteter Dienst nachvollziehbar.",
            "evidence": "Tracking auf Seiten mit Dateneingabe nur nach Einwilligung und ohne Formulardaten auslösen.",
            "guide_url": "/guides/pii-und-url-datenlecks-vermeiden"
        }
    ],
    "tasks": [
        {
            "id": "",
            "title": "CSP erlaubt unsafe-inline für Skripte",
            "area": "BSI/Security-Header",
            "priority": "hoch",
            "priority_score": 82,
            "owner": "Technik",
            "team_route": "Developer/Ops",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel",
            "status": "offen",
            "action": "Inline-Skripte über Nonces oder Hashes statt unsafe-inline freigeben.",
            "evidence": "",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "id": "",
            "title": "CSP erlaubt eval-nahe Skriptausführung",
            "area": "BSI/Security-Header",
            "priority": "hoch",
            "priority_score": 82,
            "owner": "Technik",
            "team_route": "Developer/Ops",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel",
            "status": "offen",
            "action": "unsafe-eval aus script-src entfernen oder betroffene Bibliotheken ersetzen.",
            "evidence": "",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "id": "",
            "title": "Formularfelder ohne klare Beschriftung",
            "area": "Barrierefreiheit/Usability",
            "priority": "hoch",
            "priority_score": 82,
            "owner": "UX/Content",
            "team_route": "Content/UX",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel",
            "status": "offen",
            "action": "Formularfelder müssen für Tastatur und Screenreader verständlich beschriftet sein.",
            "evidence": "",
            "guide_url": "/guides/barrierefreiheit-cookie-banner-formulare"
        },
        {
            "id": "",
            "title": "Canvas-Auslese im Browser erkannt",
            "area": "Fingerprinting",
            "priority": "hoch",
            "priority_score": 82,
            "owner": "Website-Betrieb",
            "team_route": "Developer/Ops",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel",
            "status": "offen",
            "action": "Canvas-Auslese prüfen und in Datenschutz/Consent-Konzept begründen.",
            "evidence": "",
            "guide_url": "/guides/session-replay-und-fingerprinting-pruefen"
        },
        {
            "id": "",
            "title": "Drittanbieter können vollen Referrer-Kontext erhalten",
            "area": "Referrer-Datenabfluss",
            "priority": "hoch",
            "priority_score": 82,
            "owner": "Website-Betrieb",
            "team_route": "Developer/Ops",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel",
            "status": "offen",
            "action": "Referrer-Policy so setzen, dass Drittanbieter keine vollen Pfade oder Suchparameter erhalten.",
            "evidence": "",
            "guide_url": "/guides/referrer-und-url-leaks-vermeiden"
        },
        {
            "id": "",
            "title": "Beacon-/Keepalive-Telemetrie erkannt",
            "area": "Beacon-/Telemetry-Tracking",
            "priority": "hoch",
            "priority_score": 78,
            "owner": "Datenschutz/Marketing",
            "team_route": "GTM/CMP",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel bis hoch",
            "status": "offen",
            "action": "sendBeacon/Keepalive-Telemetrie auf Zweck, Consent und Anbieter prüfen.",
            "evidence": "",
            "guide_url": "/guides/tracking-pixel-und-beacons-begrenzen"
        },
        {
            "id": "",
            "title": "Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus",
            "area": "Consent-Nachweis",
            "priority": "hoch",
            "priority_score": 78,
            "owner": "Datenschutz/Marketing",
            "team_route": "GTM/CMP",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel bis hoch",
            "status": "offen",
            "action": "Die Zustandsmatrix zeigt Datenschutz-Signale nach Ablehnen.",
            "evidence": "",
            "guide_url": "/guides/tracking-und-consent-reparieren"
        },
        {
            "id": "",
            "title": "Dateneingabe und datenschutzrelevante Drittanbieter im selben Browseraufruf",
            "area": "PII/Tracking",
            "priority": "hoch",
            "priority_score": 78,
            "owner": "Datenschutz/Marketing",
            "team_route": "GTM/CMP",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel bis hoch",
            "status": "offen",
            "action": "Tracking auf Seiten mit Dateneingabe nur nach Einwilligung und ohne Formulardaten auslösen.",
            "evidence": "",
            "guide_url": "/guides/pii-und-url-datenlecks-vermeiden"
        }
    ],
    "guide_playbook": [
        {
            "slug": "tracking-und-consent-reparieren",
            "title": "Tracking Und Consent Reparieren",
            "guide_url": "/guides/tracking-und-consent-reparieren",
            "area": "Consent & Tracking",
            "owner": "Marketing/IT/Datenschutz",
            "effort": "mittel",
            "retest": "Erstaufruf, Ablehnen, Akzeptieren und GPC getrennt scannen.",
            "evidence_required": "Consent-Screenshot, Cookie-Tabelle, Request-Liste, CMP-Konfiguration.",
            "affected_count": 11,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "pre_consent_nonessential_cookies",
                    "title": "Möglicherweise nicht notwendige Cookies vor Einwilligung",
                    "detail": "Prüfen, ob diese Cookies technisch notwendig sind oder erst nach Einwilligung gesetzt werden dürfen.",
                    "source": "finding"
                },
                {
                    "id": "consent_state_reject_evidence_failed",
                    "title": "Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus",
                    "detail": "Reject-Zustand gegen Cookies, Storage und Drittanbieter prüfen; nicht notwendige Signale nach Ablehnen blockieren.",
                    "source": "finding"
                },
                {
                    "id": "post_reject_new_cookies",
                    "title": "Neue Cookies nach Ablehnen erkannt",
                    "detail": "Nach Ablehnen keine neuen nicht notwendigen Cookies setzen; technisch notwendige Cookies sauber erklären.",
                    "source": "finding"
                },
                {
                    "id": "gpc_privacy_domains_present",
                    "title": "Datenschutzrelevante Kontakte trotz GPC-Signal",
                    "detail": "Bei aktivem Global Privacy Control sollten Anbieter wie hCaptcha, hCaptcha, hCaptcha besonders begründet oder blockiert werden.",
                    "source": "finding"
                },
                {
                    "id": "gpc_third_party_cookies",
                    "title": "Drittanbieter-Cookies trotz GPC-Signal",
                    "detail": "Bei aktivem Global Privacy Control Drittanbieter-Cookies und Verkauf-/Sharing-Signale technisch prüfen.",
                    "source": "finding"
                }
            ]
        },
        {
            "slug": "session-replay-und-fingerprinting-pruefen",
            "title": "Session Replay Und Fingerprinting Pruefen",
            "guide_url": "/guides/session-replay-und-fingerprinting-pruefen",
            "area": "Behavior Tracking",
            "owner": "Marketing/Datenschutz",
            "effort": "hoch",
            "retest": "Replay-/Fingerprinting-Skripte nach Ablehnen und GPC erneut prüfen.",
            "evidence_required": "Maskierungsregeln, Zweck, Consent-Kategorie, Anbieterfreigabe.",
            "affected_count": 6,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "browser_canvas_fingerprinting",
                    "title": "Canvas-Auslese im Browser erkannt",
                    "detail": "Prüfen, ob Canvas-Zugriffe für Darstellung nötig sind oder Fingerprinting ermöglichen; Zweck und Rechtsgrundlage dokumentieren.",
                    "source": "finding"
                },
                {
                    "id": "browser_webgl_fingerprinting",
                    "title": "WebGL-Merkmale wurden ausgelesen",
                    "detail": "WebGL-/GPU-Merkmalszugriffe auf Fingerprinting-Risiko prüfen und unnötige Bibliotheken reduzieren.",
                    "source": "finding"
                },
                {
                    "id": "browser_audio_fingerprint_api",
                    "title": "Audio-Fingerprint-nahe API wurde genutzt",
                    "detail": "AudioContext-Nutzung prüfen; bei Tracking-/Fingerprinting-Zwecken transparent erklären und an Consent koppeln.",
                    "source": "finding"
                },
                {
                    "id": "browser_keystroke_listener_signals",
                    "title": "Viele Tastatur-/Eingabe-Listener im Browser erkannt",
                    "detail": "Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen.",
                    "source": "finding"
                },
                {
                    "id": "browser_canvas_fingerprinting",
                    "title": "Canvas-Auslese im Browser erkannt",
                    "detail": "Canvas-Auslese prüfen und in Datenschutz/Consent-Konzept begründen.",
                    "source": "task"
                }
            ]
        },
        {
            "slug": "referrer-und-url-leaks-vermeiden",
            "title": "Referrer Und Url Leaks Vermeiden",
            "guide_url": "/guides/referrer-und-url-leaks-vermeiden",
            "area": "Referrer & URL Hygiene",
            "owner": "Webentwicklung/IT",
            "effort": "klein",
            "retest": "Referrer-Header und Query-Parameter in Request-Samples kontrollieren.",
            "evidence_required": "Referrer-Policy, Tag-Konfiguration, URL-Parameter-Regel.",
            "affected_count": 5,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "third_party_full_referrer_leak",
                    "title": "Drittanbieter können vollen Referrer-Kontext erhalten",
                    "detail": "Referrer-Policy prüfen und für Anbieter wie hCaptcha, backstory.ebay.de mindestens strict-origin-when-cross-origin oder strenger setzen.",
                    "source": "finding"
                },
                {
                    "id": "third_party_page_url_parameter",
                    "title": "Seiten-URL wird in Drittanbieter-Requests übertragen",
                    "detail": "Tracking-/Tag-Parameter für Anbieter wie hCaptcha, backstory.ebay.de so konfigurieren, dass keine unnötigen Pfade, Suchparameter oder Formularumfelder gesendet werden.",
                    "source": "finding"
                },
                {
                    "id": "third_party_full_referrer_leak",
                    "title": "Drittanbieter können vollen Referrer-Kontext erhalten",
                    "detail": "Referrer-Policy so setzen, dass Drittanbieter keine vollen Pfade oder Suchparameter erhalten.",
                    "source": "task"
                },
                {
                    "id": "SP-005",
                    "title": "Drittanbieter können vollen Referrer-Kontext erhalten",
                    "detail": "Referrer-Policy so setzen, dass Drittanbieter keine vollen Pfade oder Suchparameter erhalten.",
                    "source": "ticket"
                },
                {
                    "id": "referrer_url_leaks",
                    "title": "Referrer & URL-Leaks",
                    "detail": "Referrer-Policy härten, sensible Query-Parameter entfernen und Tracking-Parameter ohne volle Seiten-URL konfigurieren.",
                    "source": "module"
                }
            ]
        },
        {
            "slug": "tracking-pixel-und-beacons-begrenzen",
            "title": "Tracking Pixel Und Beacons Begrenzen",
            "guide_url": "/guides/tracking-pixel-und-beacons-begrenzen",
            "area": "Pixel & Beacons",
            "owner": "Marketing/IT",
            "effort": "mittel",
            "retest": "Pixel-, ping-, beacon- und keepalive-Ziele erneut exportieren.",
            "evidence_required": "Tag-Manager-Regeln, Zweckliste, Consent-Test, Request-Samples.",
            "affected_count": 5,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "tracking_pixel_detected",
                    "title": "Tracking-Pixel oder pixelnahe Requests erkannt",
                    "detail": "Pixel von hCaptcha, rover.ebay.com, backstory.ebay.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen.",
                    "source": "finding"
                },
                {
                    "id": "beacon_api_usage",
                    "title": "Beacon-/Keepalive-Telemetrie erkannt",
                    "detail": "navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen.",
                    "source": "finding"
                },
                {
                    "id": "beacon_api_usage",
                    "title": "Beacon-/Keepalive-Telemetrie erkannt",
                    "detail": "sendBeacon/Keepalive-Telemetrie auf Zweck, Consent und Anbieter prüfen.",
                    "source": "task"
                },
                {
                    "id": "SP-006",
                    "title": "Beacon-/Keepalive-Telemetrie erkannt",
                    "detail": "sendBeacon/Keepalive-Telemetrie auf Zweck, Consent und Anbieter prüfen.",
                    "source": "ticket"
                },
                {
                    "id": "tracking_pixels_beacons",
                    "title": "Tracking-Pixel & Beacons",
                    "detail": "Pixel, sendBeacon, keepalive-Fetch und Link-Pings auf Consent, Zweck, Anbieter und Datenminimierung prüfen.",
                    "source": "module"
                }
            ]
        },
        {
            "slug": "pii-und-url-datenlecks-vermeiden",
            "title": "Pii Und Url Datenlecks Vermeiden",
            "guide_url": "/guides/pii-und-url-datenlecks-vermeiden",
            "area": "PII Leakage",
            "owner": "Webentwicklung/IT",
            "effort": "mittel",
            "retest": "URLs, Referrer, Logs und Drittanbieter-Requests auf personenbezogene Werte prüfen.",
            "evidence_required": "Parameter-Inventar, Referrer-Policy, Logging-Konfiguration, Re-Scan.",
            "affected_count": 4,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "pii_tracking_on_data_entry_page",
                    "title": "Dateneingabe und datenschutzrelevante Drittanbieter im selben Browseraufruf",
                    "detail": "Tracking, Werbung und Session-Replay auf Seiten mit Dateneingabe nur nach Einwilligung auslösen und keine Formularwerte an Tags übergeben.",
                    "source": "finding"
                },
                {
                    "id": "pii_tracking_on_data_entry_page",
                    "title": "Dateneingabe und datenschutzrelevante Drittanbieter im selben Browseraufruf",
                    "detail": "Tracking auf Seiten mit Dateneingabe nur nach Einwilligung und ohne Formulardaten auslösen.",
                    "source": "task"
                },
                {
                    "id": "SP-008",
                    "title": "Dateneingabe und datenschutzrelevante Drittanbieter im selben Browseraufruf",
                    "detail": "Tracking auf Seiten mit Dateneingabe nur nach Einwilligung und ohne Formulardaten auslösen.",
                    "source": "ticket"
                },
                {
                    "id": "pii_exposure",
                    "title": "PII, URL-Parameter & Datenleck-Schutz",
                    "detail": "Personenbezogene Werte nicht in URLs, GET-Formularen, Referrern, Logs oder Tracking-Tags transportieren.",
                    "source": "module"
                }
            ]
        },
        {
            "slug": "cookie-laufzeiten-und-zwecke-pruefen",
            "title": "Cookie Laufzeiten Und Zwecke Pruefen",
            "guide_url": "/guides/cookie-laufzeiten-und-zwecke-pruefen",
            "area": "Cookie Inventory",
            "owner": "Marketing/IT/Datenschutz",
            "effort": "mittel",
            "retest": "Cookie- und Storage-Zustände je Consent-Status exportieren.",
            "evidence_required": "Cookie-Liste mit Zweck, Laufzeit, Kategorie, Consent-Erfordernis.",
            "affected_count": 2,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "long_lived_cookie",
                    "title": "Langlebige Cookies erkannt",
                    "detail": "Cookies wie nonsession, dp1 auf Zweck, Erforderlichkeit und Speicherdauer prüfen und transparent erklären.",
                    "source": "finding"
                },
                {
                    "id": "cookie_inventory",
                    "title": "Cookie-Inventar",
                    "detail": "Cookie-Liste mit Zweck, Anbieter, First-/Third-Party, Secure, SameSite und Speicherdauer gegen Consent-Banner und Datenschutzerklärung abgleichen.",
                    "source": "module"
                }
            ]
        },
        {
            "slug": "seo-spam-und-cloaking-bereinigen",
            "title": "Seo Spam Und Cloaking Bereinigen",
            "guide_url": "/guides/seo-spam-und-cloaking-bereinigen",
            "area": "Trust & Content Integrity",
            "owner": "Webbetrieb/SEO/Security",
            "effort": "hoch",
            "retest": "Normaler Browser, SaferPage-Crawler und Suchmaschinenansicht vergleichen.",
            "evidence_required": "Bereinigter Code, Malware-/Plugin-Prüfung, Search-Console-Status.",
            "affected_count": 2,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "hidden_text",
                    "title": "Versteckter Text erkannt",
                    "detail": "Prüfen, ob Text absichtlich vor Nutzern verborgen, aber für Suchmaschinen platziert wird.",
                    "source": "finding"
                },
                {
                    "id": "seo_integrity",
                    "title": "SEO-Integrität & Cloaking",
                    "detail": "Versteckte Inhalte, Canonical-Missbrauch und Googlebot-Abweichungen entfernen.",
                    "source": "module"
                }
            ]
        },
        {
            "slug": "externe-inhalte-datenschutzfreundlich-einbinden",
            "title": "Externe Inhalte Datenschutzfreundlich Einbinden",
            "guide_url": "/guides/externe-inhalte-datenschutzfreundlich-einbinden",
            "area": "Externe Inhalte",
            "owner": "Content/Webentwicklung",
            "effort": "mittel",
            "retest": "Iframes, Karten, Videos und Captchas vor Aktivierung erneut prüfen.",
            "evidence_required": "Zwei-Klick-Konzept, Screenshot, Datenschutzhinweis, Consent-Regel.",
            "affected_count": 1,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "captcha_preconsent",
                    "title": "Captcha-Anbieter im ersten Browseraufruf",
                    "detail": "Captcha wie hCaptcha nur auf erforderlichen Formularen laden und Datenschutz-/Consent-Kontext erklären.",
                    "source": "finding"
                }
            ]
        },
        {
            "slug": "ssl-zertifikat-reparieren",
            "title": "Ssl Zertifikat Reparieren",
            "guide_url": "/guides/ssl-zertifikat-reparieren",
            "area": "TLS",
            "owner": "IT/Webbetrieb",
            "effort": "klein",
            "retest": "Domain und www-Variante per HTTPS erneut prüfen.",
            "evidence_required": "Zertifikatskette, Erneuerungsjob, Nginx-/CDN-vHost.",
            "affected_count": 1,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "certificate_expires_soon",
                    "title": "TLS-Zertifikat läuft bald ab",
                    "detail": "Zertifikat rechtzeitig erneuern; bei weniger als 7 Tagen sofort prüfen.",
                    "source": "finding"
                }
            ]
        },
        {
            "slug": "cookies-sicher-konfigurieren",
            "title": "Cookies Sicher Konfigurieren",
            "guide_url": "/guides/cookies-sicher-konfigurieren",
            "area": "Website Datenschutz",
            "owner": "Betreiber/Datenschutz/IT",
            "effort": "mittel",
            "retest": "Betroffene Seite erneut mit SaferPage prüfen.",
            "evidence_required": "Änderungsnachweis, Screenshot, Exportpaket und interne Freigabe.",
            "affected_count": 1,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 98,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "cookie_missing_samesite",
                    "title": "Cookie ohne SameSite-Attribut",
                    "detail": "SameSite=Lax oder SameSite=Strict setzen, falls fachlich möglich.",
                    "source": "finding"
                }
            ]
        },
        {
            "slug": "security-header-setzen",
            "title": "Security Header Setzen",
            "guide_url": "/guides/security-header-setzen",
            "area": "Web Security",
            "owner": "IT/Security",
            "effort": "mittel",
            "retest": "Header, TLS, CSP und Referrer-Policy nach Deployment erneut scannen.",
            "evidence_required": "Nginx/Apache/CDN-Konfiguration, Header-Export, Rollback-Plan.",
            "affected_count": 16,
            "task_count": 2,
            "ticket_count": 2,
            "priority_score": 96,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "csp_unsafe_inline",
                    "title": "CSP erlaubt unsafe-inline für Skripte",
                    "detail": "Inline-Skripte über Nonces oder Hashes freigeben und unsafe-inline aus script-src entfernen.",
                    "source": "finding"
                },
                {
                    "id": "csp_unsafe_eval",
                    "title": "CSP erlaubt eval-nahe Skriptausführung",
                    "detail": "unsafe-eval vermeiden und betroffene Bibliotheken oder Build-Konfigurationen prüfen.",
                    "source": "finding"
                },
                {
                    "id": "csp_missing_object_src",
                    "title": "CSP ohne object-src",
                    "detail": "object-src 'none' setzen, wenn keine Plugins oder Objekte benötigt werden.",
                    "source": "finding"
                },
                {
                    "id": "csp_report_only_only",
                    "title": "CSP nur im Report-Only-Modus",
                    "detail": "Report-Only ist gut zum Testen; nach Korrektur der Verstöße sollte eine wirksame Content-Security-Policy gesetzt werden.",
                    "source": "finding"
                },
                {
                    "id": "csp_missing_base_uri",
                    "title": "CSP ohne base-uri",
                    "detail": "base-uri 'self' oder 'none' setzen, damit Base-Tag-Manipulation begrenzt wird.",
                    "source": "finding"
                }
            ]
        },
        {
            "slug": "barrierefreiheit-cookie-banner-formulare",
            "title": "Barrierefreiheit Cookie Banner Formulare",
            "guide_url": "/guides/barrierefreiheit-cookie-banner-formulare",
            "area": "Usability & BITV",
            "owner": "UX/Content/IT",
            "effort": "mittel",
            "retest": "Tastatur, Screenreader, Kontrast und Mobilansicht manuell prüfen.",
            "evidence_required": "Testprotokoll, Screenshots, bekannte Einschränkungen.",
            "affected_count": 4,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 92,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "form_label_missing",
                    "title": "Formularfelder ohne klare Beschriftung",
                    "detail": "Für jedes Eingabefeld ein sichtbares label, aria-label oder aria-labelledby setzen.",
                    "source": "finding"
                },
                {
                    "id": "form_label_missing",
                    "title": "Formularfelder ohne klare Beschriftung",
                    "detail": "Formularfelder müssen für Tastatur und Screenreader verständlich beschriftet sein.",
                    "source": "task"
                },
                {
                    "id": "SP-003",
                    "title": "Formularfelder ohne klare Beschriftung",
                    "detail": "Formularfelder müssen für Tastatur und Screenreader verständlich beschriftet sein.",
                    "source": "ticket"
                },
                {
                    "id": "accessibility_usability",
                    "title": "Barrierefreiheit & Usability",
                    "detail": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.",
                    "source": "module"
                }
            ]
        }
    ],
    "team_routing": {
        "Developer/Ops": 4,
        "GTM/CMP": 3,
        "Content/UX": 1
    },
    "retest_workflow": {
        "capture": "Scan-ID, Screenshot, Cookie-/Request-Zeilen und betroffene Hintergrundlinks sichern.",
        "implementation": "Konfigurationsdiff, CMS-/Tag-Manager-Änderung, Anbieterfreigabe oder Textversion dokumentieren.",
        "rescan": "Domain erneut prüfen und Position nur abschließen, wenn SaferPage-Befund behoben oder fachlich begründet ist.",
        "archive": "JSON/CSV/XLSX oder ZIP-Nachweispaket im Trust Center ablegen und intern freigeben."
    },
    "disclaimer": "Automatisch aus SaferPage-Evidenz abgeleiteter Betreiber-Arbeitsplan. Umsetzung, interne Verantwortlichkeiten und rechtliche Freigabe liegen beim Website-Betreiber."
}