{
    "schema": "https://saferpage.de/schemas/findings-center.v1",
    "generated_at": "2026-06-08T15:49:40+00:00",
    "domain": "diyonline.de",
    "available": true,
    "scan": {
        "id": "ed292788-ba73-4a2e-9e75-246f6235ef39",
        "checked_at": "2026-06-08 02:50:46.398191+02"
    },
    "summary": "diyonline.de: 31 konsolidierte Befund(e), davon 1 hoch und 20 mittel priorisiert.",
    "metrics": {
        "issue_count": 31,
        "high_priority_count": 1,
        "medium_priority_count": 20,
        "low_priority_count": 10,
        "source_count": 7,
        "guide_count": 17
    },
    "issues": [
        {
            "id": "vendor_due_diligence_gap",
            "area": "Anbieter & Transfer",
            "title": "Anbieterakten, AVV/DPA und Transfers prüfen",
            "severity": "hoch",
            "priority": "hoch",
            "impact_score": 82,
            "evidence": "Vendor-Due-Diligence mit 3 Anbieter(n), 0 hohem Risiko, 3 AVV-/DPA-Prüfung(en) und 2 Transfer-/Jurisdiktionsfrage(n).",
            "operator_action": "Top-Anbieter nach Risiko priorisieren, Rolle, Vertrag, TOMs, Unterauftragsverarbeiter und Transfergrundlage dokumentieren.",
            "owner": "Legal/Vendor Owner",
            "guide_url": "https://saferpage.de/anbieter/diyonline.de",
            "source": "vendor_due_diligence"
        },
        {
            "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": "external_canonical",
            "area": "seo",
            "title": "Canonical zeigt auf fremde Domain",
            "severity": "warning",
            "priority": "mittel",
            "impact_score": 70,
            "evidence": "Canonical zeigt auf fremde Domain",
            "operator_action": "Canonical-Tags sollten nur bewusst auf fremde Domains zeigen; sonst kann Traffic/Ranking umgeleitet werden.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen",
            "source": "finding"
        },
        {
            "id": "consent_banner_dark_pattern_risk",
            "area": "privacy",
            "title": "Consent-Banner mit Dark-Pattern-/UX-Risiko",
            "severity": "warning",
            "priority": "mittel",
            "impact_score": 70,
            "evidence": "Consent-Banner mit Dark-Pattern-/UX-Risiko",
            "operator_action": "Ablehnen, Einstellungen und Akzeptieren gleichwertig anbieten und Reject technisch wirksam machen.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog",
            "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": "privacy_policy_provider_disclosure_gap",
            "area": "privacy",
            "title": "Erkannte Anbieter fehlen in der Datenschutzerklärung",
            "severity": "warning",
            "priority": "mittel",
            "impact_score": 70,
            "evidence": "Erkannte Anbieter fehlen in der Datenschutzerklärung",
            "operator_action": "Technisch erkannte Dienste in der Datenschutzerklärung konkret mit Anbieter, Zweck, Rechtsgrundlage, Empfänger und Transferhinweis benennen.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
            "source": "finding"
        },
        {
            "id": "form_label_missing",
            "area": "accessibility",
            "title": "Formularfelder ohne klare Beschriftung",
            "severity": "warning",
            "priority": "mittel",
            "impact_score": 70,
            "evidence": "Formularfelder ohne klare Beschriftung",
            "operator_action": "Für jedes Eingabefeld ein sichtbares label, aria-label oder aria-labelledby setzen.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
            "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": "browser_consent_reject_missing",
            "area": "privacy",
            "title": "Kein sichtbarer Ablehnen-Button im Banner",
            "severity": "warning",
            "priority": "mittel",
            "impact_score": 70,
            "evidence": "Kein sichtbarer Ablehnen-Button im Banner",
            "operator_action": "Ablehnen oder nur notwendige Cookies im sichtbaren Banner genauso erreichbar machen wie Akzeptieren.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/tracking-und-consent-reparieren",
            "source": "finding"
        },
        {
            "id": "external_link_spam",
            "area": "seo",
            "title": "Sehr viele externe Links erkannt",
            "severity": "warning",
            "priority": "mittel",
            "impact_score": 70,
            "evidence": "Sehr viele externe Links erkannt",
            "operator_action": "Prüfen, ob die Seite als Linkfarm, Affiliate-Brücke oder Spam-Seite dient.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen",
            "source": "finding"
        },
        {
            "id": "third_party_page_url_parameter",
            "area": "privacy",
            "title": "Seiten-URL wird in Drittanbieter-Requests übertragen",
            "severity": "warning",
            "priority": "mittel",
            "impact_score": 70,
            "evidence": "Seiten-URL wird in Drittanbieter-Requests übertragen",
            "operator_action": "Tracking-/Tag-Parameter für Anbieter wie consent.cookiebot.com so konfigurieren, dass keine unnötigen Pfade, Suchparameter oder Formularumfelder gesendet werden.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/referrer-und-url-leaks-vermeiden",
            "source": "finding"
        },
        {
            "id": "hidden_text",
            "area": "seo",
            "title": "Versteckter Text erkannt",
            "severity": "warning",
            "priority": "mittel",
            "impact_score": 70,
            "evidence": "Versteckter Text erkannt",
            "operator_action": "Prüfen, ob Text absichtlich vor Nutzern verborgen, aber für Suchmaschinen platziert wird.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen",
            "source": "finding"
        },
        {
            "id": "privacy_rights_gap",
            "area": "Betroffenenrechte",
            "title": "Rechte- und Anfrageprozess schließen",
            "severity": "mittel",
            "priority": "mittel",
            "impact_score": 62,
            "evidence": "Betroffenenrechte-Readiness: 80/100 Punkte, 2 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/diyonline.de",
            "source": "rights_readiness"
        },
        {
            "id": "consent_audit_gap",
            "area": "Consent & Tracking",
            "title": "Consent-Audit zeigt Handlungsbedarf",
            "severity": "mittel",
            "priority": "mittel",
            "impact_score": 54,
            "evidence": "Consent, Tracking oder Drittanbieter wirken im Erstaufruf deutlich nachbesserungsbeduerftig.",
            "operator_action": "Befund fachlich prüfen, Maßnahme umsetzen und danach erneut scannen.",
            "owner": "Marketing/IT",
            "guide_url": "https://saferpage.de/consent/diyonline.de",
            "source": "consent_audit"
        },
        {
            "id": "module_privacy_consent",
            "area": "Audit-Modul",
            "title": "Datenschutz, Cookies & Consent",
            "severity": "mittel",
            "priority": "mittel",
            "impact_score": 54,
            "evidence": "0 Tracking-Script(s), 0 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 46.",
            "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_seo_integrity",
            "area": "Audit-Modul",
            "title": "SEO-Integrität & Cloaking",
            "severity": "mittel",
            "priority": "mittel",
            "impact_score": 54,
            "evidence": "3 SEO-Spam-Hinweis(e), 0 Cloaking-Hinweis(e).",
            "operator_action": "Versteckte Inhalte, Canonical-Missbrauch und Googlebot-Abweichungen entfernen.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen",
            "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/diyonline.de",
            "source": "google_consent"
        },
        {
            "id": "module_accessibility_usability",
            "area": "Audit-Modul",
            "title": "Barrierefreiheit & Usability",
            "severity": "mittel",
            "priority": "mittel",
            "impact_score": 35,
            "evidence": "1 Bild(er) ohne alt, 1 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": "module_browser_evidence",
            "area": "Audit-Modul",
            "title": "Browser-Nachweis",
            "severity": "mittel",
            "priority": "mittel",
            "impact_score": 35,
            "evidence": "69 Request(s), 3 Drittanbieter-Domain(s), davon 0 datenschutzrelevant, 0 Browser-Cookie(s), Transfer-Prüfbedarf: 0, Referrer-/URL-Leaks: 1, Fingerprinting-/Replay-Hinweise: 0.",
            "operator_action": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
            "source": "audit_module"
        },
        {
            "id": "accessibility_gap",
            "area": "Barrierefreiheit",
            "title": "Barrierefreiheit und Usability prüfen",
            "severity": "mittel",
            "priority": "mittel",
            "impact_score": 32,
            "evidence": "74 Bild(er), 3 Formularfeld(er), 5 Button(s) im passiven HTML-Sample auf Basis-Barrierefreiheit geprüft.",
            "operator_action": "Befund fachlich prüfen, Maßnahme umsetzen und danach erneut scannen.",
            "owner": "UX/IT",
            "guide_url": "https://saferpage.de/barrierefreiheit/diyonline.de",
            "source": "accessibility"
        },
        {
            "id": "unknown_vendor_jurisdiction",
            "area": "privacy",
            "title": "Anbieter-Jurisdiktion nicht klar ableitbar",
            "severity": "info",
            "priority": "niedrig",
            "impact_score": 35,
            "evidence": "Anbieter-Jurisdiktion nicht klar ableitbar",
            "operator_action": "Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/drittlandtransfer-und-anbieter-pruefen",
            "source": "finding"
        },
        {
            "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": "external_script_without_sri",
            "area": "security_headers",
            "title": "Externe Skripte ohne Subresource Integrity",
            "severity": "info",
            "priority": "niedrig",
            "impact_score": 35,
            "evidence": "Externe Skripte ohne Subresource Integrity",
            "operator_action": "Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern.",
            "owner": "Website-Betrieb/Datenschutz",
            "guide_url": "https://saferpage.de/guides/externe-skripte-und-sri-absichern",
            "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": "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"
        }
    ],
    "links": {
        "findings_center": "https://saferpage.de/befunde/diyonline.de",
        "json": "https://saferpage.de/befunde/diyonline.de/export",
        "csv": "https://saferpage.de/befunde/diyonline.de/export-csv",
        "fixplan_markdown": "https://saferpage.de/befunde/diyonline.de/fixplan-md",
        "report": "https://saferpage.de/diyonline.de",
        "briefing": "https://saferpage.de/briefing/diyonline.de",
        "operator_board": "https://saferpage.de/betreiber/diyonline.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."
}
