{
    "schema": "https://saferpage.de/schemas/operator-action-plan.v1",
    "generated_at": "2026-06-13T19:59:52+00:00",
    "domain": "geoportal.bfs.de",
    "scan": {
        "id": "2c125a01-6ac3-47ea-8c94-9bfab1672c99",
        "checked_at": "2026-06-10 03:43:39.465241+02"
    },
    "summary": "geoportal.bfs.de Betreiber-Board: 6 Ticket(s), 5 sofort, 12 priorisierte Guide(s). Nach jeder Umsetzung erneut scannen; bei hoher Priorität innerhalb von 7 Tagen.",
    "status": "sofort handeln",
    "score": 36,
    "metrics": {
        "ticket_count": 6,
        "open_count": 6,
        "urgent_count": 5,
        "guide_count": 12,
        "team_count": 3,
        "scan_score": 0,
        "target_score": 40,
        "gap_to_target": 40
    },
    "links": {
        "report": "https://saferpage.de/geoportal.bfs.de",
        "operator_board": "https://saferpage.de/betreiber/geoportal.bfs.de",
        "domain_verification": "https://saferpage.de/betreiber/geoportal.bfs.de/verifizierung",
        "release_gate": "https://saferpage.de/release-gate/geoportal.bfs.de",
        "audit_response": "https://saferpage.de/audit-response/geoportal.bfs.de",
        "trust_data_room": "https://saferpage.de/datenraum/geoportal.bfs.de",
        "json": "https://saferpage.de/betreiber/geoportal.bfs.de/massnahmen",
        "csv": "https://saferpage.de/betreiber/geoportal.bfs.de/massnahmen-csv",
        "tickets_markdown": "https://saferpage.de/betreiber/geoportal.bfs.de/tickets",
        "consent_evidence": "https://saferpage.de/consent/geoportal.bfs.de/nachweise",
        "vendor_service_cards": "https://saferpage.de/anbieter/geoportal.bfs.de/servicekarten",
        "trust_center": "https://saferpage.de/trust/geoportal.bfs.de",
        "guides": "https://saferpage.de/guides",
        "rescan": "https://saferpage.de/"
    },
    "tickets": [
        {
            "ticket_id": "SP-001",
            "title": "CVE-2026-23918: Double Free and possible RCE vulnerability in Apache HTTP Server with the HTTP/2 protocol",
            "area": "BSI/Patchmanagement",
            "owner": "Technik",
            "team": "Developer/Ops",
            "priority": "hoch",
            "priority_score": 82,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Betroffene Software aktualisieren oder kompensierend absichern.",
            "acceptance_criterion": "Befund ist im Wiederholungsscan behoben oder fachlich dokumentiert begründet.",
            "evidence": "Betroffene Software aktualisieren oder kompensierend absichern.",
            "guide_url": "/guides/sichtbare-versionen-und-cves-beheben"
        },
        {
            "ticket_id": "SP-002",
            "title": "Impressum, Kontakt & Datenschutzerklärung",
            "area": "Impressum, Kontakt & Datenschutzerklärung",
            "owner": "Datenschutz",
            "team": "Datenschutz",
            "priority": "hoch",
            "priority_score": 82,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Betreiberangaben, Kontaktweg und Datenschutzhinweise von jeder Seite aus auffindbar machen.",
            "acceptance_criterion": "Datenschutzerklärung nennt beobachtete Anbieter, Zwecke, Rechtsgrundlagen und Speicherfristen.",
            "evidence": "Impressum: nein, Datenschutz: nein, Kontakt: nein.",
            "guide_url": "/guides/impressum-und-kontakt-sichtbar-machen"
        },
        {
            "ticket_id": "SP-003",
            "title": "Sicherheit, TLS & Header",
            "area": "Sicherheit, TLS & Header",
            "owner": "Technik",
            "team": "Developer/Ops",
            "priority": "hoch",
            "priority_score": 82,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
            "acceptance_criterion": "Security-Header/TLS-Check ist im Wiederholungsscan ohne kritischen Befund.",
            "evidence": "1 Infrastruktur-Hinweis(e), Security-Header: 3/9 vorhanden, 6 fehlen, externe Skript-Hosts: 1.",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "ticket_id": "SP-004",
            "title": "Datenschutz, Cookies & Consent",
            "area": "Datenschutz, Cookies & Consent",
            "owner": "Datenschutz/Marketing",
            "team": "GTM/CMP",
            "priority": "hoch",
            "priority_score": 78,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
            "acceptance_criterion": "Wiederholungsscan zeigt keine nicht erforderlichen Cookies/Tags vor Einwilligung oder nach Ablehnung.",
            "evidence": "0 Tracking-Script(s), 5 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 18.",
            "guide_url": "/guides/tracking-und-consent-reparieren"
        },
        {
            "ticket_id": "SP-005",
            "title": "Google-Dienste & Drittanbieter",
            "area": "Google-Dienste & Drittanbieter",
            "owner": "Datenschutz/Marketing",
            "team": "GTM/CMP",
            "priority": "hoch",
            "priority_score": 78,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Google-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern.",
            "acceptance_criterion": "Wiederholungsscan zeigt keine nicht erforderlichen Cookies/Tags vor Einwilligung oder nach Ablehnung.",
            "evidence": "Google-Tags: ja, 0 Google-nahe Domain(s), Consent-Default: nein, Analytics: nein, Werbung: nein, Fonts: nein.",
            "guide_url": "/guides/google-dienste-datenschutzfreundlich-einbinden"
        },
        {
            "ticket_id": "SP-006",
            "title": "Seitenabdeckung & Crawl",
            "area": "Seitenabdeckung & Crawl",
            "owner": "Website-Betrieb",
            "team": "Developer/Ops",
            "priority": "mittel",
            "priority_score": 61,
            "sla": "30_tage",
            "status": "einplanen",
            "next_step": "Datenschutz, Impressum, Kontakt, Cookie-Hinweise und kritische Formularseiten klar verlinken und regelmäßig mitprüfen.",
            "acceptance_criterion": "Wiederholungsscan zeigt keine nicht erforderlichen Cookies/Tags vor Einwilligung oder nach Ablehnung.",
            "evidence": "0 interne Linkziele erkannt, 0 priorisierte Unterseite(n) abgerufen.",
            "guide_url": "/guides/datenschutz-webseiten-pruefkatalog"
        }
    ],
    "tasks": [
        {
            "id": "",
            "title": "CVE-2026-23918: Double Free and possible RCE vulnerability in Apache HTTP Server with the HTTP/2 protocol",
            "area": "BSI/Patchmanagement",
            "priority": "hoch",
            "priority_score": 82,
            "owner": "Technik",
            "team_route": "Developer/Ops",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel",
            "status": "offen",
            "action": "Betroffene Software aktualisieren oder kompensierend absichern.",
            "evidence": "",
            "guide_url": "/guides/sichtbare-versionen-und-cves-beheben"
        },
        {
            "id": "",
            "title": "Impressum, Kontakt & Datenschutzerklärung",
            "area": "Impressum, Kontakt & Datenschutzerklärung",
            "priority": "hoch",
            "priority_score": 82,
            "owner": "Datenschutz",
            "team_route": "Datenschutz",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "niedrig bis mittel",
            "status": "offen",
            "action": "Betreiberangaben, Kontaktweg und Datenschutzhinweise von jeder Seite aus auffindbar machen.",
            "evidence": "",
            "guide_url": "/guides/impressum-und-kontakt-sichtbar-machen"
        },
        {
            "id": "",
            "title": "Sicherheit, TLS & Header",
            "area": "Sicherheit, TLS & Header",
            "priority": "hoch",
            "priority_score": 82,
            "owner": "Technik",
            "team_route": "Developer/Ops",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel",
            "status": "offen",
            "action": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
            "evidence": "",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "id": "",
            "title": "Datenschutz, Cookies & Consent",
            "area": "Datenschutz, Cookies & Consent",
            "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, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
            "evidence": "",
            "guide_url": "/guides/tracking-und-consent-reparieren"
        },
        {
            "id": "",
            "title": "Google-Dienste & Drittanbieter",
            "area": "Google-Dienste & Drittanbieter",
            "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-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern.",
            "evidence": "",
            "guide_url": "/guides/google-dienste-datenschutzfreundlich-einbinden"
        },
        {
            "id": "",
            "title": "Seitenabdeckung & Crawl",
            "area": "Seitenabdeckung & Crawl",
            "priority": "mittel",
            "priority_score": 61,
            "owner": "Website-Betrieb",
            "team_route": "Developer/Ops",
            "deadline": "innerhalb von 30 Tagen",
            "effort": "niedrig",
            "status": "offen",
            "action": "Datenschutz, Impressum, Kontakt, Cookie-Hinweise und kritische Formularseiten klar verlinken und regelmäßig mitprüfen.",
            "evidence": "",
            "guide_url": "/guides/datenschutz-webseiten-pruefkatalog"
        }
    ],
    "guide_playbook": [
        {
            "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": 13,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "known_vulnerability_advisory",
                    "title": "CVE-2026-23918: Double Free and possible RCE vulnerability in Apache HTTP Server with the HTTP/2 protocol",
                    "detail": "Pruefe die betroffene Version gegen Herstellerhinweise und aktualisiere auf eine nicht betroffene Version.",
                    "source": "finding"
                },
                {
                    "id": "known_vulnerability_advisory",
                    "title": "CVE-2026-24072: An escalation of privilege bug in various modules in Apache HTTP 2.4.66 and earlier allows local .htaccess authors to read files with the privileges of the httpd user",
                    "detail": "Pruefe die betroffene Version gegen Herstellerhinweise und aktualisiere auf eine nicht betroffene Version.",
                    "source": "finding"
                },
                {
                    "id": "known_vulnerability_advisory",
                    "title": "CVE-2026-28780: Heap-based Buffer Overflow vulnerability in mod_proxy_ajp of Apache HTTP Server",
                    "detail": "Pruefe die betroffene Version gegen Herstellerhinweise und aktualisiere auf eine nicht betroffene Version.",
                    "source": "finding"
                },
                {
                    "id": "known_vulnerability_advisory",
                    "title": "CVE-2026-29168: Allocation of Resources Without Limits or Throttling vulnerability in Apache HTTP Server's mod_md via OCSP response data",
                    "detail": "Pruefe die betroffene Version gegen Herstellerhinweise und aktualisiere auf eine nicht betroffene Version.",
                    "source": "finding"
                },
                {
                    "id": "known_vulnerability_advisory",
                    "title": "CVE-2026-29169: A NULL pointer dereference in mod_dav_lock in Apache HTTP Server 2.4.66 and earlier may allow an attacker to crash the server with a malicious request.mod_dav_lock is not used inte",
                    "detail": "Pruefe die betroffene Version gegen Herstellerhinweise und aktualisiere auf eine nicht betroffene Version.",
                    "source": "finding"
                }
            ]
        },
        {
            "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": 5,
            "task_count": 1,
            "ticket_count": 1,
            "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_contact_missing",
                    "title": "Keine klare Kontaktmöglichkeit erkannt",
                    "detail": "E-Mail, Telefonnummer, Kontaktseite oder Impressum sichtbar verlinken.",
                    "source": "finding"
                },
                {
                    "id": "module:operator_transparency",
                    "title": "Impressum, Kontakt & Datenschutzerklärung",
                    "detail": "Betreiberangaben, Kontaktweg und Datenschutzhinweise von jeder Seite aus auffindbar machen.",
                    "source": "task"
                },
                {
                    "id": "SP-002",
                    "title": "Impressum, Kontakt & Datenschutzerklärung",
                    "detail": "Betreiberangaben, Kontaktweg und Datenschutzhinweise von jeder Seite aus auffindbar machen.",
                    "source": "ticket"
                },
                {
                    "id": "operator_transparency",
                    "title": "Impressum, Kontakt & Datenschutzerklärung",
                    "detail": "Betreiberangaben, Kontaktweg und Datenschutzhinweise von jeder Seite aus auffindbar machen.",
                    "source": "module"
                }
            ]
        },
        {
            "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": 4,
            "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": "module:google_third_parties",
                    "title": "Google-Dienste & Drittanbieter",
                    "detail": "Google-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern.",
                    "source": "task"
                },
                {
                    "id": "SP-005",
                    "title": "Google-Dienste & Drittanbieter",
                    "detail": "Google-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern.",
                    "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": "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": 4,
            "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": "module:privacy_consent",
                    "title": "Datenschutz, Cookies & Consent",
                    "detail": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
                    "source": "task"
                },
                {
                    "id": "SP-004",
                    "title": "Datenschutz, Cookies & Consent",
                    "detail": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
                    "source": "ticket"
                },
                {
                    "id": "privacy_consent",
                    "title": "Datenschutz, Cookies & Consent",
                    "detail": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
                    "source": "module"
                }
            ]
        },
        {
            "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": 2,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "cookie_missing_secure",
                    "title": "Cookie ohne Secure-Flag",
                    "detail": "Cookies über HTTPS mit Secure-Flag setzen.",
                    "source": "finding"
                },
                {
                    "id": "cookie_missing_samesite",
                    "title": "Cookie ohne SameSite-Attribut",
                    "detail": "SameSite=Lax oder SameSite=Strict setzen, falls fachlich möglich.",
                    "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": 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": "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": 14,
            "task_count": 1,
            "ticket_count": 1,
            "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": "datenschutz-webseiten-pruefkatalog",
            "title": "Datenschutz Webseiten Pruefkatalog",
            "guide_url": "/guides/datenschutz-webseiten-pruefkatalog",
            "area": "Programmsteuerung",
            "owner": "Programm-Owner/Datenschutz",
            "effort": "hoch",
            "retest": "Gesamten Scan nach Umsetzung der priorisierten Guides wiederholen.",
            "evidence_required": "Prioritätenliste, Owner, Exportpaket, Re-Scan und Freigabe.",
            "affected_count": 5,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 88,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "important_pages_not_discovered",
                    "title": "Wichtige Betreiberseiten nicht vollständig in der Linkstruktur gefunden",
                    "detail": "Datenschutz und Impressum sollten von der Startseite aus klar erreichbar sein.",
                    "source": "finding"
                },
                {
                    "id": "crawl_coverage_limited",
                    "title": "Wenig interne Seiten auf der Startseite gefunden",
                    "detail": "Wichtige Seiten wie Datenschutz, Impressum, Kontakt und Cookie-Hinweise klar intern verlinken.",
                    "source": "finding"
                },
                {
                    "id": "module:site_coverage",
                    "title": "Seitenabdeckung & Crawl",
                    "detail": "Datenschutz, Impressum, Kontakt, Cookie-Hinweise und kritische Formularseiten klar verlinken und regelmäßig mitprüfen.",
                    "source": "task"
                },
                {
                    "id": "SP-006",
                    "title": "Seitenabdeckung & Crawl",
                    "detail": "Datenschutz, Impressum, Kontakt, Cookie-Hinweise und kritische Formularseiten klar verlinken und regelmäßig mitprüfen.",
                    "source": "ticket"
                },
                {
                    "id": "site_coverage",
                    "title": "Seitenabdeckung & Crawl",
                    "detail": "Datenschutz, Impressum, Kontakt, Cookie-Hinweise und kritische Formularseiten klar verlinken und regelmäßig mitprüfen.",
                    "source": "module"
                }
            ]
        },
        {
            "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": 2,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 84,
            "status": "sprint",
            "sample_findings": [
                {
                    "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": "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": 1,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 74,
            "status": "sprint",
            "sample_findings": [
                {
                    "id": "heading_structure_missing",
                    "title": "Keine Überschriftenstruktur erkannt",
                    "detail": "Eine klare H1 und sinnvolle Zwischenüberschriften erleichtern Orientierung und Screenreader-Nutzung.",
                    "source": "finding"
                }
            ]
        },
        {
            "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": 1,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 74,
            "status": "sprint",
            "sample_findings": [
                {
                    "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"
                }
            ]
        },
        {
            "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": 1,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 48,
            "status": "einplanen",
            "sample_findings": [
                {
                    "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"
                }
            ]
        }
    ],
    "team_routing": {
        "Developer/Ops": 3,
        "GTM/CMP": 2,
        "Datenschutz": 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."
}