{
    "schema": "https://saferpage.de/schemas/operator-action-plan.v1",
    "generated_at": "2026-06-10T01:41:25+00:00",
    "domain": "abokiste24.de",
    "scan": {
        "id": "70f2d2dc-ee21-46bc-9886-318f828d5b1e",
        "checked_at": "2026-06-09 21:44:56.598895+02"
    },
    "summary": "abokiste24.de Betreiber-Board: 8 Ticket(s), 8 sofort, 12 priorisierte Guide(s). 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": 4,
        "scan_score": 0,
        "target_score": 40,
        "gap_to_target": 40
    },
    "links": {
        "report": "https://saferpage.de/abokiste24.de",
        "operator_board": "https://saferpage.de/betreiber/abokiste24.de",
        "domain_verification": "https://saferpage.de/betreiber/abokiste24.de/verifizierung",
        "release_gate": "https://saferpage.de/release-gate/abokiste24.de",
        "audit_response": "https://saferpage.de/audit-response/abokiste24.de",
        "trust_data_room": "https://saferpage.de/datenraum/abokiste24.de",
        "json": "https://saferpage.de/betreiber/abokiste24.de/massnahmen",
        "csv": "https://saferpage.de/betreiber/abokiste24.de/massnahmen-csv",
        "tickets_markdown": "https://saferpage.de/betreiber/abokiste24.de/tickets",
        "consent_evidence": "https://saferpage.de/consent/abokiste24.de/nachweise",
        "vendor_service_cards": "https://saferpage.de/anbieter/abokiste24.de/servicekarten",
        "trust_center": "https://saferpage.de/trust/abokiste24.de",
        "guides": "https://saferpage.de/guides",
        "rescan": "https://saferpage.de/"
    },
    "tickets": [
        {
            "ticket_id": "SP-001",
            "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-002",
            "title": "Dateneingabe ohne klaren Datenschutzkontext",
            "area": "DSGVO/Transparenz",
            "owner": "Datenschutz",
            "team": "Legal/Datenschutz",
            "priority": "hoch",
            "priority_score": 82,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Datenschutzhinweise in Formularnähe ergänzen.",
            "acceptance_criterion": "Befund ist im Wiederholungsscan behoben oder fachlich dokumentiert begründet.",
            "evidence": "Datenschutzhinweise in Formularnähe ergänzen.",
            "guide_url": "/guides/formulare-datenschutzkonform-absichern"
        },
        {
            "ticket_id": "SP-003",
            "title": "Erkannte Anbieter fehlen in der Datenschutzerklärung",
            "area": "DSGVO/Transparenz",
            "owner": "Datenschutz",
            "team": "Legal/Datenschutz",
            "priority": "hoch",
            "priority_score": 82,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Erkannte Anbieter müssen in der Datenschutzerklärung konkret und verständlich erscheinen.",
            "acceptance_criterion": "Drittanbieter ist dokumentiert, rechtlich bewertet und im Scan als erwarteter Dienst nachvollziehbar.",
            "evidence": "Erkannte Anbieter müssen in der Datenschutzerklärung konkret und verständlich erscheinen.",
            "guide_url": "/guides/drittanbieter-datenschutz-erklaeren"
        },
        {
            "ticket_id": "SP-004",
            "title": "Kein klarer Datenschutz-Hinweis erkannt",
            "area": "DSGVO/Transparenz",
            "owner": "Datenschutz",
            "team": "Legal/Datenschutz",
            "priority": "hoch",
            "priority_score": 82,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Datenschutzerklärung gut sichtbar verlinken.",
            "acceptance_criterion": "Datenschutzerklärung nennt beobachtete Anbieter, Zwecke, Rechtsgrundlagen und Speicherfristen.",
            "evidence": "Datenschutzerklärung gut sichtbar verlinken.",
            "guide_url": "/guides/datenschutzerklaerung-verbessern"
        },
        {
            "ticket_id": "SP-005",
            "title": "Tracking-/Tag-Skripte aus externer Lieferkette",
            "area": "Skript-Lieferkette",
            "owner": "Technik",
            "team": "Developer/Ops",
            "priority": "hoch",
            "priority_score": 82,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Tracking-/Tag-Skripte besonders streng an Consent, CSP und Anbieterinventar koppeln.",
            "acceptance_criterion": "Wiederholungsscan zeigt keine nicht erforderlichen Cookies/Tags vor Einwilligung oder nach Ablehnung.",
            "evidence": "Tracking-/Tag-Skripte besonders streng an Consent, CSP und Anbieterinventar koppeln.",
            "guide_url": "/guides/externe-skripte-und-sri-absichern"
        },
        {
            "ticket_id": "SP-006",
            "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-007",
            "title": "Google Consent Mode Default nicht erkannt",
            "area": "DSGVO/Google-Dienste",
            "owner": "Datenschutz/Marketing",
            "team": "GTM/CMP",
            "priority": "hoch",
            "priority_score": 78,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Google-Tags brauchen vor dem ersten Tag klare Consent-Defaults.",
            "acceptance_criterion": "Wiederholungsscan zeigt keine nicht erforderlichen Cookies/Tags vor Einwilligung oder nach Ablehnung.",
            "evidence": "Google-Tags brauchen vor dem ersten Tag klare Consent-Defaults.",
            "guide_url": "/guides/google-dienste-datenschutzfreundlich-einbinden"
        },
        {
            "ticket_id": "SP-008",
            "title": "Möglicherweise nicht notwendige Cookies vor Einwilligung",
            "area": "TDDDG/ePrivacy",
            "owner": "Datenschutz/Marketing",
            "team": "GTM/CMP",
            "priority": "hoch",
            "priority_score": 78,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Nicht notwendige Cookies vor Einwilligung prüfen und blockieren.",
            "acceptance_criterion": "Wiederholungsscan zeigt keine nicht erforderlichen Cookies/Tags vor Einwilligung oder nach Ablehnung.",
            "evidence": "Nicht notwendige Cookies vor Einwilligung prüfen und blockieren.",
            "guide_url": "/guides/tracking-und-consent-reparieren"
        }
    ],
    "tasks": [
        {
            "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": "Dateneingabe ohne klaren Datenschutzkontext",
            "area": "DSGVO/Transparenz",
            "priority": "hoch",
            "priority_score": 82,
            "owner": "Datenschutz",
            "team_route": "Legal/Datenschutz",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "niedrig bis mittel",
            "status": "offen",
            "action": "Datenschutzhinweise in Formularnähe ergänzen.",
            "evidence": "",
            "guide_url": "/guides/formulare-datenschutzkonform-absichern"
        },
        {
            "id": "",
            "title": "Erkannte Anbieter fehlen in der Datenschutzerklärung",
            "area": "DSGVO/Transparenz",
            "priority": "hoch",
            "priority_score": 82,
            "owner": "Datenschutz",
            "team_route": "Legal/Datenschutz",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "niedrig bis mittel",
            "status": "offen",
            "action": "Erkannte Anbieter müssen in der Datenschutzerklärung konkret und verständlich erscheinen.",
            "evidence": "",
            "guide_url": "/guides/drittanbieter-datenschutz-erklaeren"
        },
        {
            "id": "",
            "title": "Kein klarer Datenschutz-Hinweis erkannt",
            "area": "DSGVO/Transparenz",
            "priority": "hoch",
            "priority_score": 82,
            "owner": "Datenschutz",
            "team_route": "Legal/Datenschutz",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "niedrig bis mittel",
            "status": "offen",
            "action": "Datenschutzerklärung gut sichtbar verlinken.",
            "evidence": "",
            "guide_url": "/guides/datenschutzerklaerung-verbessern"
        },
        {
            "id": "",
            "title": "Tracking-/Tag-Skripte aus externer Lieferkette",
            "area": "Skript-Lieferkette",
            "priority": "hoch",
            "priority_score": 82,
            "owner": "Technik",
            "team_route": "Developer/Ops",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel",
            "status": "offen",
            "action": "Tracking-/Tag-Skripte besonders streng an Consent, CSP und Anbieterinventar koppeln.",
            "evidence": "",
            "guide_url": "/guides/externe-skripte-und-sri-absichern"
        },
        {
            "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": "Google Consent Mode Default nicht erkannt",
            "area": "DSGVO/Google-Dienste",
            "priority": "hoch",
            "priority_score": 78,
            "owner": "Datenschutz/Marketing",
            "team_route": "GTM/CMP",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel bis hoch",
            "status": "offen",
            "action": "Google-Tags brauchen vor dem ersten Tag klare Consent-Defaults.",
            "evidence": "",
            "guide_url": "/guides/google-dienste-datenschutzfreundlich-einbinden"
        },
        {
            "id": "",
            "title": "Möglicherweise nicht notwendige Cookies vor Einwilligung",
            "area": "TDDDG/ePrivacy",
            "priority": "hoch",
            "priority_score": 78,
            "owner": "Datenschutz/Marketing",
            "team_route": "GTM/CMP",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel bis hoch",
            "status": "offen",
            "action": "Nicht notwendige Cookies vor Einwilligung prüfen und blockieren.",
            "evidence": "",
            "guide_url": "/guides/tracking-und-consent-reparieren"
        }
    ],
    "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": 9,
            "task_count": 2,
            "ticket_count": 2,
            "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": "tracking_without_consent_hint",
                    "title": "Tracking ohne sichtbaren Cookie-Hinweis",
                    "detail": "Prüfen, ob vor Tracking eine wirksame Einwilligung eingeholt wird.",
                    "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": "consent_state_reject_evidence_failed",
                    "title": "Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus",
                    "detail": "Die Zustandsmatrix zeigt Datenschutz-Signale nach Ablehnen.",
                    "source": "task"
                }
            ]
        },
        {
            "slug": "google-dienste-datenschutzfreundlich-einbinden",
            "title": "Google Dienste Datenschutzfreundlich Einbinden",
            "guide_url": "/guides/google-dienste-datenschutzfreundlich-einbinden",
            "area": "Google-Dienste",
            "owner": "Marketing/IT",
            "effort": "mittel",
            "retest": "Google-Requests vor und nach Consent vergleichen.",
            "evidence_required": "Consent-Mode-Defaults, Tag-Manager-Regeln, Anbieterzwecke.",
            "affected_count": 5,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "google_consent_mode_missing",
                    "title": "Google Consent Mode Default nicht erkannt",
                    "detail": "Vor dem ersten Google-Tag Consent-Defaults setzen, typischerweise ad_storage, analytics_storage, ad_user_data und ad_personalization auf denied.",
                    "source": "finding"
                },
                {
                    "id": "google_tags_without_consent_context",
                    "title": "Google-Tags ohne klaren Consent-Kontext",
                    "detail": "Google Analytics, Ads, Tag Manager, Fonts, Maps oder YouTube in Consent-Banner und Datenschutzerklärung konkret erklären.",
                    "source": "finding"
                },
                {
                    "id": "google_consent_mode_missing",
                    "title": "Google Consent Mode Default nicht erkannt",
                    "detail": "Google-Tags brauchen vor dem ersten Tag klare Consent-Defaults.",
                    "source": "task"
                },
                {
                    "id": "SP-007",
                    "title": "Google Consent Mode Default nicht erkannt",
                    "detail": "Google-Tags brauchen vor dem ersten Tag klare Consent-Defaults.",
                    "source": "ticket"
                },
                {
                    "id": "google_third_parties",
                    "title": "Google-Dienste & Drittanbieter",
                    "detail": "Google-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern.",
                    "source": "module"
                }
            ]
        },
        {
            "slug": "datenschutzerklaerung-verbessern",
            "title": "Datenschutzerklaerung Verbessern",
            "guide_url": "/guides/datenschutzerklaerung-verbessern",
            "area": "Transparenz",
            "owner": "Datenschutz/Content",
            "effort": "mittel",
            "retest": "Datenschutzhinweis gegen Cookies, Anbieter, Formulare und Zwecke abgleichen.",
            "evidence_required": "Versionierter Datenschutzhinweis, Änderungsdatum, Freigabeprotokoll.",
            "affected_count": 4,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "privacy_policy_hint_missing",
                    "title": "Kein klarer Datenschutz-Hinweis erkannt",
                    "detail": "Eine gut auffindbare Datenschutzerklärung verlinken.",
                    "source": "finding"
                },
                {
                    "id": "privacy_policy_stale",
                    "title": "Datenschutzerklärung wirkt veraltet",
                    "detail": "Prüfen Sie die Erklärung gegen aktuelle Cookies, Drittanbieter, Consent-Einstellungen und Formulare.",
                    "source": "finding"
                },
                {
                    "id": "privacy_policy_hint_missing",
                    "title": "Kein klarer Datenschutz-Hinweis erkannt",
                    "detail": "Datenschutzerklärung gut sichtbar verlinken.",
                    "source": "task"
                },
                {
                    "id": "SP-004",
                    "title": "Kein klarer Datenschutz-Hinweis erkannt",
                    "detail": "Datenschutzerklärung gut sichtbar verlinken.",
                    "source": "ticket"
                }
            ]
        },
        {
            "slug": "drittanbieter-datenschutz-erklaeren",
            "title": "Drittanbieter Datenschutz Erklaeren",
            "guide_url": "/guides/drittanbieter-datenschutz-erklaeren",
            "area": "Drittanbieter",
            "owner": "Legal/Vendor Owner",
            "effort": "mittel",
            "retest": "Drittanbieter-Liste gegen neue Requests und Cookies abgleichen.",
            "evidence_required": "Anbieterregister, AVV/DPA-Status, Transferbewertung, Datenschutzhinweis.",
            "affected_count": 4,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "privacy_policy_provider_disclosure_gap",
                    "title": "Erkannte Anbieter fehlen in der Datenschutzerklärung",
                    "detail": "Technisch erkannte Dienste in der Datenschutzerklärung konkret mit Anbieter, Zweck, Rechtsgrundlage, Empfänger und Transferhinweis benennen.",
                    "source": "finding"
                },
                {
                    "id": "privacy_policy_provider_disclosure_gap",
                    "title": "Erkannte Anbieter fehlen in der Datenschutzerklärung",
                    "detail": "Erkannte Anbieter müssen in der Datenschutzerklärung konkret und verständlich erscheinen.",
                    "source": "task"
                },
                {
                    "id": "SP-003",
                    "title": "Erkannte Anbieter fehlen in der Datenschutzerklärung",
                    "detail": "Erkannte Anbieter müssen in der Datenschutzerklärung konkret und verständlich erscheinen.",
                    "source": "ticket"
                },
                {
                    "id": "browser_evidence",
                    "title": "Browser-Nachweis",
                    "detail": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.",
                    "source": "module"
                }
            ]
        },
        {
            "slug": "formulare-datenschutzkonform-absichern",
            "title": "Formulare Datenschutzkonform Absichern",
            "guide_url": "/guides/formulare-datenschutzkonform-absichern",
            "area": "Formulare",
            "owner": "Webentwicklung/Datenschutz",
            "effort": "mittel",
            "retest": "Formularseite, Ziel-URL, Pflichtfelder, Referrer und Tracking erneut prüfen.",
            "evidence_required": "Formularzweck, Rechtsgrundlage, Datensparsamkeit, Log-/Tracking-Prüfung.",
            "affected_count": 4,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "data_entry_privacy_context_missing",
                    "title": "Dateneingabe ohne klaren Datenschutzkontext",
                    "detail": "Vor Eingabe prüfen, welche Daten erhoben werden, wofür sie genutzt werden und wo die Datenschutzhinweise stehen.",
                    "source": "finding"
                },
                {
                    "id": "data_entry_privacy_context_missing",
                    "title": "Dateneingabe ohne klaren Datenschutzkontext",
                    "detail": "Datenschutzhinweise in Formularnähe ergänzen.",
                    "source": "task"
                },
                {
                    "id": "SP-002",
                    "title": "Dateneingabe ohne klaren Datenschutzkontext",
                    "detail": "Datenschutzhinweise in Formularnähe ergänzen.",
                    "source": "ticket"
                },
                {
                    "id": "forms_payments",
                    "title": "Formulare, Login & Zahlung",
                    "detail": "Bei Formularen Zweck, Pflichtfelder, Datenschutzkontext, HTTPS und Zahlungsanbieter klar machen.",
                    "source": "module"
                }
            ]
        },
        {
            "slug": "impressum-und-kontakt-sichtbar-machen",
            "title": "Impressum Und Kontakt Sichtbar Machen",
            "guide_url": "/guides/impressum-und-kontakt-sichtbar-machen",
            "area": "Betreibertransparenz",
            "owner": "Legal/Content",
            "effort": "klein",
            "retest": "Footer, Kontakt, Impressum und Datenschutzlinks erneut crawlen.",
            "evidence_required": "Impressumsseite, Kontaktweg, Footer-Link, Änderungsdatum.",
            "affected_count": 2,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "imprint_missing",
                    "title": "Kein Impressum-Link erkannt",
                    "detail": "Für deutsche Seiten sollte ein gut sichtbares Impressum verlinkt sein.",
                    "source": "finding"
                },
                {
                    "id": "operator_transparency",
                    "title": "Impressum, Kontakt & Datenschutzerklärung",
                    "detail": "Betreiberangaben, Kontaktweg und Datenschutzhinweise von jeder Seite aus auffindbar machen.",
                    "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": "external_canonical",
                    "title": "Canonical zeigt auf fremde Domain",
                    "detail": "Canonical-Tags sollten nur bewusst auf fremde Domains zeigen; sonst kann Traffic/Ranking umgeleitet werden.",
                    "source": "finding"
                },
                {
                    "id": "seo_integrity",
                    "title": "SEO-Integrität & Cloaking",
                    "detail": "Versteckte Inhalte, Canonical-Missbrauch und Googlebot-Abweichungen entfernen.",
                    "source": "module"
                }
            ]
        },
        {
            "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": 1,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "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"
                }
            ]
        },
        {
            "slug": "sichtbare-versionen-und-cves-beheben",
            "title": "Sichtbare Versionen Und Cves Beheben",
            "guide_url": "/guides/sichtbare-versionen-und-cves-beheben",
            "area": "Vulnerability Hygiene",
            "owner": "IT/Security",
            "effort": "mittel",
            "retest": "Generator-, Header- und Bibliothekssignale erneut prüfen.",
            "evidence_required": "Patchstand, Herstellerhinweis, CVE-Bewertung, Backport-Nachweis.",
            "affected_count": 1,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "security_support_only_version",
                    "title": "PHP 8.3 erhaelt nur noch Sicherheitsfixes",
                    "detail": "Upgrade auf PHP 8.4 oder neuer planen; PHP 8.3 ist laut php.net seit 31.12.2025 aus aktivem Support und erhaelt nur noch Security-Fixes bis 31.12.2027.",
                    "source": "finding"
                }
            ]
        },
        {
            "slug": "externe-skripte-und-sri-absichern",
            "title": "Externe Skripte Und Sri Absichern",
            "guide_url": "/guides/externe-skripte-und-sri-absichern",
            "area": "Browser Supply Chain",
            "owner": "IT/Webentwicklung",
            "effort": "mittel",
            "retest": "Externe Skripte, SRI, CSP und Consent-Auslösung erneut prüfen.",
            "evidence_required": "Skriptinventar, SRI-Hashes, CSP-Report-Only-Test.",
            "affected_count": 5,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 98,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "external_tracking_script_supply_chain",
                    "title": "Tracking-/Tag-Skripte aus externer Lieferkette",
                    "detail": "Tracking-, Tag-Manager- und Replay-Skripte erst nach Einwilligung laden und mit CSP, Anbieterinventar und Datenschutzerklärung abgleichen.",
                    "source": "finding"
                },
                {
                    "id": "external_script_without_sri",
                    "title": "Externe Skripte ohne Subresource Integrity",
                    "detail": "Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern.",
                    "source": "finding"
                },
                {
                    "id": "external_tracking_script_supply_chain",
                    "title": "Tracking-/Tag-Skripte aus externer Lieferkette",
                    "detail": "Tracking-/Tag-Skripte besonders streng an Consent, CSP und Anbieterinventar koppeln.",
                    "source": "task"
                },
                {
                    "id": "SP-005",
                    "title": "Tracking-/Tag-Skripte aus externer Lieferkette",
                    "detail": "Tracking-/Tag-Skripte besonders streng an Consent, CSP und Anbieterinventar koppeln.",
                    "source": "ticket"
                },
                {
                    "id": "script_supply_chain",
                    "title": "Externe Skripte & SRI",
                    "detail": "Externe Skriptquellen reduzieren, statische CDN-Skripte mit SRI versehen und Tracking-/Tag-Skripte an Consent und CSP koppeln.",
                    "source": "module"
                }
            ]
        },
        {
            "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": 6,
            "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": "button_name_missing",
                    "title": "Buttons ohne erkennbaren Namen",
                    "detail": "Buttons mit sichtbarem Text oder aria-label beschriften.",
                    "source": "finding"
                },
                {
                    "id": "image_alt_missing",
                    "title": "Bilder ohne Alternativtext",
                    "detail": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.",
                    "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-001",
                    "title": "Formularfelder ohne klare Beschriftung",
                    "detail": "Formularfelder müssen für Tastatur und Screenreader verständlich beschriftet sein.",
                    "source": "ticket"
                }
            ]
        },
        {
            "slug": "performance-und-mobile-usability-verbessern",
            "title": "Performance Und Mobile Usability Verbessern",
            "guide_url": "/guides/performance-und-mobile-usability-verbessern",
            "area": "Performance & Mobile",
            "owner": "Webentwicklung/UX",
            "effort": "mittel",
            "retest": "Mobilansicht, Asset-Größen und Ladeverhalten erneut prüfen.",
            "evidence_required": "Performance-Messung, Asset-Liste, Mobile-Screenshot.",
            "affected_count": 4,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 82,
            "status": "sprint",
            "sample_findings": [
                {
                    "id": "large_html_response",
                    "title": "HTML-Antwort ist groß",
                    "detail": "HTML reduzieren, kritische Inhalte priorisieren und unnötige Inline-Daten vermeiden.",
                    "source": "finding"
                },
                {
                    "id": "compression_missing",
                    "title": "Komprimierung nicht erkannt",
                    "detail": "Brotli oder gzip für HTML/CSS/JS aktivieren.",
                    "source": "finding"
                },
                {
                    "id": "too_many_render_blocking_assets",
                    "title": "Viele potenziell blockierende Assets",
                    "detail": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.",
                    "source": "finding"
                },
                {
                    "id": "performance_mobile",
                    "title": "Performance & mobile Nutzbarkeit",
                    "detail": "Antwortzeit, Komprimierung, Viewport und blockierende Ressourcen optimieren.",
                    "source": "module"
                }
            ]
        }
    ],
    "team_routing": {
        "Legal/Datenschutz": 3,
        "GTM/CMP": 3,
        "Content/UX": 1,
        "Developer/Ops": 1
    },
    "retest_workflow": {
        "capture": "Scan-ID, Screenshot, Cookie-/Request-Zeilen und betroffene Guide-Links sichern.",
        "implementation": "Konfigurationsdiff, CMS-/Tag-Manager-Änderung, Anbieterfreigabe oder Textversion dokumentieren.",
        "rescan": "Domain erneut prüfen und Ticket nur schließen, wenn SaferPage-Befund behoben oder 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."
}