{
    "schema": "https://saferpage.de/schemas/findings-center.v1",
    "generated_at": "2026-06-08T19:02:48+00:00",
    "domain": "bzkj.de",
    "available": true,
    "scan": {
        "id": "207b243b-d1ea-4b0a-b15f-c5a652a9a1fd",
        "checked_at": "2026-06-07 18:53:25.555992+02"
    },
    "summary": "bzkj.de: 25 konsolidierte Befund(e), davon 0 hoch und 14 mittel priorisiert.",
    "metrics": {
        "issue_count": 25,
        "high_priority_count": 0,
        "medium_priority_count": 14,
        "low_priority_count": 11,
        "source_count": 6,
        "guide_count": 11
    },
    "issues": [
        {
            "id": "button_name_missing",
            "area": "accessibility",
            "title": "Buttons ohne erkennbaren Namen",
            "severity": "warning",
            "priority": "mittel",
            "impact_score": 70,
            "evidence": "Buttons ohne erkennbaren Namen",
            "operator_action": "Buttons mit sichtbarem Text oder aria-label beschriften.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
            "source": "finding"
        },
        {
            "id": "csp_unsafe_eval",
            "area": "security_headers",
            "title": "CSP erlaubt eval-nahe Skriptausführung",
            "severity": "warning",
            "priority": "mittel",
            "impact_score": 70,
            "evidence": "CSP erlaubt eval-nahe Skriptausführung",
            "operator_action": "unsafe-eval vermeiden und betroffene Bibliotheken oder Build-Konfigurationen prüfen.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "source": "finding"
        },
        {
            "id": "csp_unsafe_inline",
            "area": "security_headers",
            "title": "CSP erlaubt unsafe-inline für Skripte",
            "severity": "warning",
            "priority": "mittel",
            "impact_score": 70,
            "evidence": "CSP erlaubt unsafe-inline für Skripte",
            "operator_action": "Inline-Skripte über Nonces oder Hashes freigeben und unsafe-inline aus script-src entfernen.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "source": "finding"
        },
        {
            "id": "consent_no_reject_option",
            "area": "privacy",
            "title": "Cookie-Hinweis ohne klare Ablehnen-Option",
            "severity": "warning",
            "priority": "mittel",
            "impact_score": 70,
            "evidence": "Cookie-Hinweis ohne klare Ablehnen-Option",
            "operator_action": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/tracking-und-consent-reparieren",
            "source": "finding"
        },
        {
            "id": "google_consent_mode_missing",
            "area": "privacy",
            "title": "Google Consent Mode Default nicht erkannt",
            "severity": "warning",
            "priority": "mittel",
            "impact_score": 70,
            "evidence": "Google Consent Mode Default nicht erkannt",
            "operator_action": "Vor dem ersten Google-Tag Consent-Defaults setzen, typischerweise ad_storage, analytics_storage, ad_user_data und ad_personalization auf denied.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden",
            "source": "finding"
        },
        {
            "id": "missing_x_frame_options",
            "area": "security_headers",
            "title": "X-Frame-Options fehlt",
            "severity": "warning",
            "priority": "mittel",
            "impact_score": 70,
            "evidence": "X-Frame-Options fehlt",
            "operator_action": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "source": "finding"
        },
        {
            "id": "privacy_rights_gap",
            "area": "Betroffenenrechte",
            "title": "Rechte- und Anfrageprozess schließen",
            "severity": "mittel",
            "priority": "mittel",
            "impact_score": 62,
            "evidence": "Betroffenenrechte-Readiness: 90/100 Punkte, 1 Lücke(n) oder manuelle Prüfpunkte. Fokus: transparenter Anfrageweg, Datenquellen und sichere Antwortprozesse.",
            "operator_action": "Auskunft, Löschung, Berichtigung, Widerspruch, Widerruf, Fristen und Antwortweg als Betreiberprozess dokumentieren.",
            "owner": "Datenschutz/Support",
            "guide_url": "https://saferpage.de/rechte/bzkj.de",
            "source": "rights_readiness"
        },
        {
            "id": "security_headers_gap",
            "area": "Security",
            "title": "Security-Header und Browser-Schutz härten",
            "severity": "mittel",
            "priority": "mittel",
            "impact_score": 48,
            "evidence": "4 von 9 wichtigen Security-Headern vorhanden, 4 korrekt bewertet. CSP wirksam mit 11 Direktive(n), 2 Warnung(en), 2 Hinweis(e).",
            "operator_action": "Befund fachlich prüfen, Maßnahme umsetzen und danach erneut scannen.",
            "owner": "IT/Security",
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "source": "security_header"
        },
        {
            "id": "module_security_tls",
            "area": "Audit-Modul",
            "title": "Sicherheit, TLS & Header",
            "severity": "mittel",
            "priority": "mittel",
            "impact_score": 48,
            "evidence": "1 Infrastruktur-Hinweis(e), Security-Header: 4/9 vorhanden, 5 fehlen, externe Skript-Hosts: 0.",
            "operator_action": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "source": "audit_module"
        },
        {
            "id": "module_google_third_parties",
            "area": "Audit-Modul",
            "title": "Google-Dienste & Drittanbieter",
            "severity": "mittel",
            "priority": "mittel",
            "impact_score": 42,
            "evidence": "Google-Tags: ja, 0 Google-nahe Domain(s), Consent-Default: nein, Analytics: nein, Werbung: nein, Fonts: nein.",
            "operator_action": "Google-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden",
            "source": "audit_module"
        },
        {
            "id": "google_consent_gap",
            "area": "Google Consent Mode",
            "title": "Google-Tags und Consent Mode prüfen",
            "severity": "mittel",
            "priority": "mittel",
            "impact_score": 42,
            "evidence": "Google-Tags und Consent-Mode-Signale wurden aus HTML, Browserkontakten und Tracking-IDs abgeleitet.",
            "operator_action": "Befund fachlich prüfen, Maßnahme umsetzen und danach erneut scannen.",
            "owner": "GTM/Webentwicklung",
            "guide_url": "https://saferpage.de/consent-mode/bzkj.de",
            "source": "google_consent"
        },
        {
            "id": "consent_audit_gap",
            "area": "Consent & Tracking",
            "title": "Consent-Audit zeigt Handlungsbedarf",
            "severity": "mittel",
            "priority": "mittel",
            "impact_score": 40,
            "evidence": "Consent ist teilweise erkennbar, aber einzelne Punkte sollten Betreiber nachpruefen.",
            "operator_action": "Befund fachlich prüfen, Maßnahme umsetzen und danach erneut scannen.",
            "owner": "Marketing/IT",
            "guide_url": "https://saferpage.de/consent/bzkj.de",
            "source": "consent_audit"
        },
        {
            "id": "module_privacy_consent",
            "area": "Audit-Modul",
            "title": "Datenschutz, Cookies & Consent",
            "severity": "mittel",
            "priority": "mittel",
            "impact_score": 40,
            "evidence": "0 Tracking-Script(s), 0 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 60.",
            "operator_action": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/tracking-und-consent-reparieren",
            "source": "audit_module"
        },
        {
            "id": "module_accessibility_usability",
            "area": "Audit-Modul",
            "title": "Barrierefreiheit & Usability",
            "severity": "mittel",
            "priority": "mittel",
            "impact_score": 35,
            "evidence": "4 Bild(er) ohne alt, 0 Formularfeld(er) ohne Beschriftung, 1 Button(s) ohne Namen.",
            "operator_action": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
            "source": "audit_module"
        },
        {
            "id": "image_alt_missing",
            "area": "accessibility",
            "title": "Bilder ohne Alternativtext",
            "severity": "info",
            "priority": "niedrig",
            "impact_score": 35,
            "evidence": "Bilder ohne Alternativtext",
            "operator_action": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
            "source": "finding"
        },
        {
            "id": "csp_missing_base_uri",
            "area": "security_headers",
            "title": "CSP ohne base-uri",
            "severity": "info",
            "priority": "niedrig",
            "impact_score": 35,
            "evidence": "CSP ohne base-uri",
            "operator_action": "base-uri 'self' oder 'none' setzen, damit Base-Tag-Manipulation begrenzt wird.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "source": "finding"
        },
        {
            "id": "csp_missing_object_src",
            "area": "security_headers",
            "title": "CSP ohne object-src",
            "severity": "info",
            "priority": "niedrig",
            "impact_score": 35,
            "evidence": "CSP ohne object-src",
            "operator_action": "object-src 'none' setzen, wenn keine Plugins oder Objekte benötigt werden.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "source": "finding"
        },
        {
            "id": "missing_cross_origin_embedder_policy",
            "area": "security_headers",
            "title": "Cross-Origin-Embedder-Policy fehlt",
            "severity": "info",
            "priority": "niedrig",
            "impact_score": 35,
            "evidence": "Cross-Origin-Embedder-Policy fehlt",
            "operator_action": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "source": "finding"
        },
        {
            "id": "missing_cross_origin_opener_policy",
            "area": "security_headers",
            "title": "Cross-Origin-Opener-Policy fehlt",
            "severity": "info",
            "priority": "niedrig",
            "impact_score": 35,
            "evidence": "Cross-Origin-Opener-Policy fehlt",
            "operator_action": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "source": "finding"
        },
        {
            "id": "missing_cross_origin_resource_policy",
            "area": "security_headers",
            "title": "Cross-Origin-Resource-Policy fehlt",
            "severity": "info",
            "priority": "niedrig",
            "impact_score": 35,
            "evidence": "Cross-Origin-Resource-Policy fehlt",
            "operator_action": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "source": "finding"
        },
        {
            "id": "compression_missing",
            "area": "performance",
            "title": "Komprimierung nicht erkannt",
            "severity": "info",
            "priority": "niedrig",
            "impact_score": 35,
            "evidence": "Komprimierung nicht erkannt",
            "operator_action": "Brotli oder gzip für HTML/CSS/JS aktivieren.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/performance-und-mobile-usability-verbessern",
            "source": "finding"
        },
        {
            "id": "missing_meta_description",
            "area": "content",
            "title": "Meta-Description fehlt",
            "severity": "info",
            "priority": "niedrig",
            "impact_score": 35,
            "evidence": "Meta-Description fehlt",
            "operator_action": "Eine kurze Beschreibung setzen, die den Zweck der Seite erklärt.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog",
            "source": "finding"
        },
        {
            "id": "missing_permissions_policy",
            "area": "security_headers",
            "title": "Permissions-Policy fehlt",
            "severity": "info",
            "priority": "niedrig",
            "impact_score": 35,
            "evidence": "Permissions-Policy fehlt",
            "operator_action": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "source": "finding"
        },
        {
            "id": "privacy_policy_update_date_missing",
            "area": "privacy",
            "title": "Stand der Datenschutzerklärung nicht klar erkennbar",
            "severity": "info",
            "priority": "niedrig",
            "impact_score": 35,
            "evidence": "Stand der Datenschutzerklärung nicht klar erkennbar",
            "operator_action": "Ergänzen Sie ein gut sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach technischen Änderungen.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/datenschutzerklaerung-verbessern",
            "source": "finding"
        },
        {
            "id": "browser_keystroke_listener_signals",
            "area": "privacy",
            "title": "Viele Tastatur-/Eingabe-Listener im Browser erkannt",
            "severity": "info",
            "priority": "niedrig",
            "impact_score": 35,
            "evidence": "Viele Tastatur-/Eingabe-Listener im Browser erkannt",
            "operator_action": "Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/session-replay-und-fingerprinting-pruefen",
            "source": "finding"
        }
    ],
    "links": {
        "findings_center": "https://saferpage.de/befunde/bzkj.de",
        "json": "https://saferpage.de/befunde/bzkj.de/export",
        "csv": "https://saferpage.de/befunde/bzkj.de/export-csv",
        "fixplan_markdown": "https://saferpage.de/befunde/bzkj.de/fixplan-md",
        "report": "https://saferpage.de/bzkj.de",
        "briefing": "https://saferpage.de/briefing/bzkj.de",
        "operator_board": "https://saferpage.de/betreiber/bzkj.de",
        "guides": "https://saferpage.de/guides"
    },
    "sources": [
        {
            "label": "Cookiebot Scan Report",
            "url": "https://support.cookiebot.com/hc/en-us/articles/5007079527580-Understanding-the-scan-report",
            "detail": "Scanreports listen Cookie-/Tracker-Befunde und Prior-Consent-Probleme einzeln."
        },
        {
            "label": "MDN HTTP Observatory",
            "url": "https://developer.mozilla.org/en-US/observatory",
            "detail": "Security-Scanner sollten detailliertes, handlungsorientiertes Feedback liefern."
        },
        {
            "label": "Google PageSpeed Insights",
            "url": "https://pagespeedinsights.dev/docs",
            "detail": "Berichte trennen Kennzahlen, Diagnosen und konkrete Verbesserungsmöglichkeiten."
        }
    ],
    "disclaimer": "Konsolidierte Arbeitsliste aus öffentlicher SaferPage-Evidenz. Betreiber müssen Befunde fachlich prüfen, interne Systeme ergänzen und nach Umsetzung erneut scannen."
}
