{
    "schema": "https://saferpage.de/schemas/operator-fix-guide-package.v1",
    "generated_at": "2026-06-15T11:07:56+00:00",
    "domain": "cityparkingzuerich.ch",
    "available": true,
    "scan": {
        "id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
        "checked_at": "2026-06-15 09:55:46.095608+02"
    },
    "summary": "cityparkingzuerich.ch: 11 priorisierte Fixpfad-Gruppe(n) aus 33 Befund(en).",
    "metrics": {
        "issue_count": 33,
        "guide_count": 11,
        "high_priority_count": 17,
        "medium_priority_count": 5,
        "tracker_task_count": 4,
        "remediation_ticket_count": 37,
        "remediation_ticket_fingerprint_count": 37,
        "remediation_ticket_duplicate_count": 0,
        "high_ticket_count": 17,
        "acceptance_count": 33,
        "source_count": 14,
        "platform_playbook_count": 2,
        "platform_playbook_step_count": 8,
        "platform_playbook_acceptance_count": 6,
        "platform_playbook_boundary_count": 2,
        "platform_playbook_evidence_url_count": 2,
        "quality_review_row_count": 6,
        "quality_review_acceptance_count": 6,
        "quality_review_boundary_count": 6,
        "quality_review_evidence_url_count": 6,
        "quality_review_guide_url_count": 6,
        "quality_review_form_count": 0,
        "quality_review_form_page_count": 0,
        "evidence_first_measured_count": 4,
        "evidence_first_operator_context_count": 4,
        "evidence_first_do_not_claim_count": 4
    },
    "guide_streams": [
        {
            "guide_slug": "tracking-und-consent-reparieren",
            "guide_url": "https://saferpage.de/guides/tracking-und-consent-reparieren",
            "title": "Tracking und Consent reparieren",
            "intro": "Tracking, Werbung und nicht notwendige Cookies muessen aus Betreiberperspektive nach Consent-Zustand getrennt geprueft werden. Der SaferPage-Befund zeigt sichtbare Cookies, Storage- und Browserkontakte; die finale Rechtsfreigabe, CMP-Konfiguration und Anbieterfreigabe bleiben Betreiberaufgabe.",
            "priority": "hoch",
            "impact_score": 86,
            "phase": "0-7 Tage",
            "area": "Consent & Tracking",
            "owner": "Marketing/IT/Datenschutz",
            "effort": "mittel",
            "issue_count": 5,
            "issues": [
                {
                    "id": "pre_consent_tracking_cookies",
                    "area": "privacy",
                    "title": "Tracking-Cookies vor Einwilligung gesetzt",
                    "priority": "hoch",
                    "impact_score": 86,
                    "evidence": "",
                    "operator_action": "Tracking-Cookies erst nach aktiver Einwilligung setzen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "tracking-und-consent-reparieren",
                    "guide_url": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "source": "finding"
                },
                {
                    "id": "consent_no_reject_option",
                    "area": "privacy",
                    "title": "Cookie-Hinweis ohne klare Ablehnen-Option",
                    "priority": "hoch",
                    "impact_score": 86,
                    "evidence": "",
                    "operator_action": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "tracking-und-consent-reparieren",
                    "guide_url": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "source": "finding"
                },
                {
                    "id": "consent_banner_dark_pattern_risk",
                    "area": "privacy",
                    "title": "Consent-Banner mit Dark-Pattern-/UX-Risiko",
                    "priority": "hoch",
                    "impact_score": 86,
                    "evidence": "",
                    "operator_action": "Ablehnen, Einstellungen und Akzeptieren gleichwertig anbieten und Reject technisch wirksam machen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "tracking-und-consent-reparieren",
                    "guide_url": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "source": "finding"
                },
                {
                    "id": "module_privacy_consent",
                    "area": "Audit-Modul",
                    "title": "Datenschutz, Cookies & Consent",
                    "priority": "hoch",
                    "impact_score": 62,
                    "evidence": "0 Tracking-Script(s), 2 Cookie(s) vor Einwilligung, 2 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 38.",
                    "operator_action": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "tracking-und-consent-reparieren",
                    "guide_url": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "source": "audit_module"
                },
                {
                    "id": "consent_preconsent_gap",
                    "area": "Consent & Tracking",
                    "title": "Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                    "priority": "hoch",
                    "impact_score": 62,
                    "evidence": "Consent, Tracking oder Drittanbieter wirken im Erstaufruf deutlich nachbesserungsbeduerftig.",
                    "operator_action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
                    "owner": "Marketing/IT",
                    "guide_slug": "tracking-und-consent-reparieren",
                    "guide_url": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "source": "consent_audit"
                }
            ],
            "guide_steps": [
                "Trennen Sie die Pruefung nach Consent-Zustaenden: Erstaufruf ohne Auswahl, Ablehnen, Akzeptieren und wenn relevant GPC. Speichern Sie pro Zustand Cookies, Storage, Requests, Screenshot und Scan-ID.",
                "Blockieren Sie Analytics-, Ads-, Pixel-, Remarketing-, Session-Replay- und Fingerprinting-Skripte bis zur aktiven Zustimmung. Notwendige Funktions-, Sicherheits- oder Load-Balancing-Cookies muessen separat begruendet und erklaert werden.",
                "Nutzen Sie CMP-Autoblocking oder neutrale Script-/Iframe-Attribute wie type=\"text/plain\" beziehungsweise data-cookieblock-src, damit Quellen nicht vor Consent laden.",
                "Bieten Sie Ablehnen, Akzeptieren und Einstellungen gleichwertig sichtbar an. Consent-Walls, Paywalls und Pur-Abo-Modelle muessen im Report als Kontext geprueft werden, statt pauschal als fehlende Transparenz zu gelten.",
                "Fordern Sie Google Consent Mode nur, wenn Google-Tags, Google Tag Manager, Analytics, Ads oder vergleichbare Google-Dienste tatsaechlich sichtbar sind. Ohne Google-Evidence ist ein Consent-Mode-Hinweis nur ein allgemeiner Hintergrundpunkt.",
                "Dokumentieren Sie Anbieter, Zwecke, Cookie-Kategorien, Rechtsgrundlagen, Empfaenger, Drittlandtransfer, Speicherdauer und Widerruf in Datenschutzerklaerung und CMP.",
                "Fuehren Sie nach jeder CMP-, Plugin-, Tag-Manager- oder Marketing-Aenderung einen Re-Scan durch und pruefen Sie False Positives gegen reale Browser-Requests."
            ],
            "fix_steps": [
                {
                    "phase": "Befund reproduzieren",
                    "owner": "Marketing/IT/Datenschutz",
                    "action": "SaferPage-Report, betroffene URL, Consent-Zustand und Request-/Cookie-/Header-Evidence sichern.",
                    "evidence": "Scan-ID, Screenshot, Exportzeile, betroffener Hintergrundlink."
                },
                {
                    "phase": "Ursache beheben",
                    "owner": "Marketing/IT/Datenschutz",
                    "action": "Konfiguration, Tag, Inhalt, Anbieter, Header oder Formular anhand der Hintergrundseite ändern und Änderung versionieren.",
                    "evidence": "Nachweisposition, Konfigurationsdiff, CMS-/Tag-Manager-Änderung, Freigabe."
                },
                {
                    "phase": "Nutzertext aktualisieren",
                    "owner": "Datenschutz/Content",
                    "action": "Datenschutzhinweis, Cookie-Liste, Anbieterregister oder Trust-Dokumentation an die reale Technik anpassen.",
                    "evidence": "Versionierter Text, Änderungsdatum, Verantwortlicher."
                },
                {
                    "phase": "Re-Test und Abschluss",
                    "owner": "Compliance/IT",
                    "action": "Erstaufruf, Ablehnen, Akzeptieren und GPC getrennt scannen.",
                    "evidence": "Consent-Screenshot, Cookie-Tabelle, Request-Liste, CMP-Konfiguration."
                }
            ],
            "acceptance": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "evidence_exports": [
                "JSON/CSV/XLSX-Export für Rohbefunde und Audit-Tabellen",
                "ZIP-Nachweispaket mit Screenshot, Evidence Manifest und Hintergrundverweisen",
                "Trust Documentation Library für öffentliche, sanitisierte und interne Nachweise"
            ],
            "retest": "Erstaufruf, Ablehnen, Akzeptieren und GPC getrennt scannen.",
            "sources": [
                {
                    "label": "BfDI: Cookies und Tracking-Technologien",
                    "url": "https://www.bfdi.bund.de/DE/Buerger/Inhalte/Telemedien/Cookies.html"
                },
                {
                    "label": "DSK Orientierungshilfe Digitale Dienste",
                    "url": "https://www.datenschutzkonferenz-online.de/media/oh/OH_Digitale_Dienste.pdf"
                },
                {
                    "label": "DSK Orientierungshilfe Telemedien",
                    "url": "https://www.datenschutzkonferenz-online.de/media/oh/20221205_oh_Telemedien_2021_Version_1_1_Vorlage_104_DSK_final.pdf"
                },
                {
                    "label": "EDPB Guidelines 05/2020 Consent",
                    "url": "https://www.edpb.europa.eu/sites/default/files/files/file1/edpb_guidelines_202005_consent_en.pdf"
                },
                {
                    "label": "EDPB Guidelines 2/2023 ePrivacy Art. 5(3)",
                    "url": "https://www.edpb.europa.eu/system/files/2024-10/edpb_guidelines_202302_technical_scope_art_53_eprivacydirective_v2_en_0.pdf"
                }
            ]
        },
        {
            "guide_slug": "cookie-laufzeiten-und-zwecke-pruefen",
            "guide_url": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
            "title": "Cookie-Laufzeiten und Zwecke prüfen",
            "intro": "Cookie-Scanner und Audits achten nicht nur auf Namen und Anbieter, sondern auch darauf, ob Speicherdauer, Zweck und Consent-Zustand zusammenpassen.",
            "priority": "hoch",
            "impact_score": 86,
            "phase": "0-7 Tage",
            "area": "Cookie Inventory",
            "owner": "Marketing/IT/Datenschutz",
            "effort": "mittel",
            "issue_count": 3,
            "issues": [
                {
                    "id": "long_lived_tracking_cookie",
                    "area": "privacy",
                    "title": "Langlebige Tracking-/Marketing-Cookies",
                    "priority": "hoch",
                    "impact_score": 86,
                    "evidence": "",
                    "operator_action": "Cookies wie _pk_id.1.a4ea auf kurze Laufzeiten begrenzen, erst nach Einwilligung setzen und Speicherdauer konkret erklären.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "cookie-laufzeiten-und-zwecke-pruefen",
                    "guide_url": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
                    "source": "finding"
                },
                {
                    "id": "module_cookie_inventory",
                    "area": "Audit-Modul",
                    "title": "Cookie-Inventar",
                    "priority": "mittel",
                    "impact_score": 40,
                    "evidence": "2 Cookie(s), 2 Tracking-/Werbe-Cookie(s), 0 Drittanbieter-Cookie(s), 1 langlebig, 0 sehr lang.",
                    "operator_action": "Cookie-Liste mit Zweck, Anbieter, First-/Third-Party, Secure, SameSite und Speicherdauer gegen Consent-Banner und Datenschutzerklärung abgleichen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "cookie-laufzeiten-und-zwecke-pruefen",
                    "guide_url": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
                    "source": "audit_module"
                },
                {
                    "id": "cookie_inventory_gap",
                    "area": "Cookies & Storage",
                    "title": "Cookie-Laufzeiten, Zwecke und Consent-Zustand klären",
                    "priority": "mittel",
                    "impact_score": 40,
                    "evidence": "2 Cookie(s) inventarisiert: 2 Tracking-/Werbe-Cookie(s), 0 Drittanbieter-Cookie(s), 1 langlebige Cookie(s), 0 sehr lange Laufzeit(en).",
                    "operator_action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
                    "owner": "Marketing/IT/Datenschutz",
                    "guide_slug": "cookie-laufzeiten-und-zwecke-pruefen",
                    "guide_url": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
                    "source": "cookie_inventory"
                }
            ],
            "guide_steps": [
                "Inventarisieren Sie je Cookie Name, Anbieter, First-/Third-Party, Zweck, Kategorie, Speicherdauer und Consent-Zustand.",
                "Kennzeichnen Sie pro Cookie, ob eine Einwilligung erforderlich ist, ob der Zweck unklar ist oder ob technische Erforderlichkeit begründet wird.",
                "Dokumentieren Sie LocalStorage und SessionStorage wie Cookies: Key, Zweck, Speicherdauer, Einwilligungsstatus und Löschmöglichkeit.",
                "Verkürzen Sie Tracking-, Werbe- und Retargeting-Cookies deutlich; lange Laufzeiten brauchen eine konkrete Begründung.",
                "Setzen Sie nicht notwendige persistente Cookies erst nach aktiver Einwilligung.",
                "Erklären Sie Speicherdauer und Widerruf in Cookie-Liste, Consent-Oberfläche und Datenschutzerklärung konsistent.",
                "Entfernen Sie unbekannte oder nicht mehr genutzte Cookies aus Tag-Manager, Plugins und eingebetteten Drittanbieter-Skripten.",
                "Prüfen Sie Secure, HttpOnly und SameSite zusätzlich, damit Datenschutz und Sicherheit zusammenpassen."
            ],
            "fix_steps": [
                {
                    "phase": "Befund reproduzieren",
                    "owner": "Marketing/IT/Datenschutz",
                    "action": "SaferPage-Report, betroffene URL, Consent-Zustand und Request-/Cookie-/Header-Evidence sichern.",
                    "evidence": "Scan-ID, Screenshot, Exportzeile, betroffener Hintergrundlink."
                },
                {
                    "phase": "Ursache beheben",
                    "owner": "Marketing/IT/Datenschutz",
                    "action": "Konfiguration, Tag, Inhalt, Anbieter, Header oder Formular anhand der Hintergrundseite ändern und Änderung versionieren.",
                    "evidence": "Nachweisposition, Konfigurationsdiff, CMS-/Tag-Manager-Änderung, Freigabe."
                },
                {
                    "phase": "Nutzertext aktualisieren",
                    "owner": "Datenschutz/Content",
                    "action": "Datenschutzhinweis, Cookie-Liste, Anbieterregister oder Trust-Dokumentation an die reale Technik anpassen.",
                    "evidence": "Versionierter Text, Änderungsdatum, Verantwortlicher."
                },
                {
                    "phase": "Re-Test und Abschluss",
                    "owner": "Compliance/IT",
                    "action": "Cookie- und Storage-Zustände je Consent-Status exportieren.",
                    "evidence": "Cookie-Liste mit Zweck, Laufzeit, Kategorie, Consent-Erfordernis."
                }
            ],
            "acceptance": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "evidence_exports": [
                "JSON/CSV/XLSX-Export für Rohbefunde und Audit-Tabellen",
                "ZIP-Nachweispaket mit Screenshot, Evidence Manifest und Hintergrundverweisen",
                "Trust Documentation Library für öffentliche, sanitisierte und interne Nachweise"
            ],
            "retest": "Cookie- und Storage-Zustände je Consent-Status exportieren.",
            "sources": [
                {
                    "label": "BfDI: Cookies und Tracking-Technologien",
                    "url": "https://www.bfdi.bund.de/DE/Buerger/Inhalte/Telemedien/Cookies.html"
                },
                {
                    "label": "DSK Orientierungshilfe Digitale Dienste",
                    "url": "https://www.datenschutzkonferenz-online.de/media/oh/OH_Digitale_Dienste.pdf"
                },
                {
                    "label": "EDPB Guidelines 2/2023 ePrivacy Art. 5(3)",
                    "url": "https://www.edpb.europa.eu/system/files/2024-10/edpb_guidelines_202302_technical_scope_art_53_eprivacydirective_v2_en_0.pdf"
                },
                {
                    "label": "BSI IT-Grundschutz APP.3.1 Webanwendungen",
                    "url": "https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/IT-GS-Kompendium_Einzel_PDFs_2023/06_APP_Anwendungen/APP_3_1_Webanwendungen_und_Webservices_Edition_2023.pdf?__blob=publicationFile&v=3"
                }
            ]
        },
        {
            "guide_slug": "seo-spam-und-cloaking-bereinigen",
            "guide_url": "https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen",
            "title": "SEO-Spam und Cloaking bereinigen",
            "intro": "Versteckte Texte, Doorway-Muster oder abweichende Googlebot-Inhalte wirken unseriös und können auf Kompromittierung hinweisen.",
            "priority": "hoch",
            "impact_score": 86,
            "phase": "0-7 Tage",
            "area": "Trust & Content Integrity",
            "owner": "Webbetrieb/SEO/Security",
            "effort": "hoch",
            "issue_count": 1,
            "issues": [
                {
                    "id": "external_canonical",
                    "area": "seo",
                    "title": "Canonical zeigt auf fremde Domain",
                    "priority": "hoch",
                    "impact_score": 86,
                    "evidence": "",
                    "operator_action": "Canonical-Tags sollten nur bewusst auf fremde Domains zeigen; sonst kann Traffic/Ranking umgeleitet werden.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "seo-spam-und-cloaking-bereinigen",
                    "guide_url": "https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen",
                    "source": "finding"
                }
            ],
            "guide_steps": [
                "Entfernen Sie versteckte Linklisten, Keyword-Stuffing und automatisch erzeugte Doorway-Seiten.",
                "Vergleichen Sie normalen Abruf und Googlebot-Abruf auf Weiterleitungen und sichtbare Inhalte.",
                "Prüfen Sie CMS, Themes und Plugins auf Schadcode, wenn solche Muster unerwartet auftauchen."
            ],
            "fix_steps": [
                {
                    "phase": "Befund reproduzieren",
                    "owner": "Webbetrieb/SEO/Security",
                    "action": "SaferPage-Report, betroffene URL, Consent-Zustand und Request-/Cookie-/Header-Evidence sichern.",
                    "evidence": "Scan-ID, Screenshot, Exportzeile, betroffener Hintergrundlink."
                },
                {
                    "phase": "Ursache beheben",
                    "owner": "Webbetrieb/SEO/Security",
                    "action": "Konfiguration, Tag, Inhalt, Anbieter, Header oder Formular anhand der Hintergrundseite ändern und Änderung versionieren.",
                    "evidence": "Nachweisposition, Konfigurationsdiff, CMS-/Tag-Manager-Änderung, Freigabe."
                },
                {
                    "phase": "Nutzertext aktualisieren",
                    "owner": "Datenschutz/Content",
                    "action": "Datenschutzhinweis, Cookie-Liste, Anbieterregister oder Trust-Dokumentation an die reale Technik anpassen.",
                    "evidence": "Versionierter Text, Änderungsdatum, Verantwortlicher."
                },
                {
                    "phase": "Re-Test und Abschluss",
                    "owner": "Compliance/IT",
                    "action": "Normaler Browser, SaferPage-Crawler und Suchmaschinenansicht vergleichen.",
                    "evidence": "Bereinigter Code, Malware-/Plugin-Prüfung, Search-Console-Status."
                }
            ],
            "acceptance": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "evidence_exports": [
                "JSON/CSV/XLSX-Export für Rohbefunde und Audit-Tabellen",
                "ZIP-Nachweispaket mit Screenshot, Evidence Manifest und Hintergrundverweisen",
                "Trust Documentation Library für öffentliche, sanitisierte und interne Nachweise"
            ],
            "retest": "Normaler Browser, SaferPage-Crawler und Suchmaschinenansicht vergleichen.",
            "sources": [
                {
                    "label": "Google Search Central: Security Issues",
                    "url": "https://developers.google.com/search/docs/monitor-debug/security"
                },
                {
                    "label": "Google Search Central: Page Experience",
                    "url": "https://developers.google.com/search/docs/appearance/page-experience"
                }
            ]
        },
        {
            "guide_slug": "tracking-pixel-und-beacons-begrenzen",
            "guide_url": "https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen",
            "title": "Tracking-Pixel und Beacons begrenzen",
            "intro": "Unsichtbare Pixel, Link-Pings, sendBeacon und Keepalive-Telemetrie können Seitenaufrufe, Klicks und Kampagnenkontakte übertragen, ohne dass Nutzer sie sehen.",
            "priority": "hoch",
            "impact_score": 86,
            "phase": "0-7 Tage",
            "area": "Pixel & Beacons",
            "owner": "Marketing/IT",
            "effort": "mittel",
            "issue_count": 1,
            "issues": [
                {
                    "id": "beacon_api_usage",
                    "area": "privacy",
                    "title": "Beacon-/Keepalive-Telemetrie erkannt",
                    "priority": "hoch",
                    "impact_score": 86,
                    "evidence": "",
                    "operator_action": "navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "tracking-pixel-und-beacons-begrenzen",
                    "guide_url": "https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen",
                    "source": "finding"
                }
            ],
            "guide_steps": [
                "Inventarisieren Sie alle Pixel- und Beacon-Ziele mit Anbieter, Zweck, Rechtsgrundlage, Consent-Kategorie und Auslösezeitpunkt.",
                "Laden Sie Werbe-, Analytics-, Conversion- und Retargeting-Pixel erst nach aktiver Einwilligung.",
                "Entfernen Sie ping-Attribute an Links oder ersetzen Sie sie durch datensparsame interne Messung ohne Drittanbieter.",
                "Prüfen Sie navigator.sendBeacon und fetch keepalive auf gesendete Parameter; personenbezogene Werte, volle URLs und Formularumfelder dürfen nicht unnötig übertragen werden.",
                "Dokumentieren Sie Pixel und Telemetrie in Datenschutzerklärung und Consent-Oberfläche mit konkretem Anbieter und Zweck.",
                "Testen Sie Erstaufruf, Ablehnen, Akzeptieren und GPC separat, weil Pixel oft durch Tag-Manager nachgeladen werden."
            ],
            "fix_steps": [
                {
                    "phase": "Befund reproduzieren",
                    "owner": "Marketing/IT",
                    "action": "SaferPage-Report, betroffene URL, Consent-Zustand und Request-/Cookie-/Header-Evidence sichern.",
                    "evidence": "Scan-ID, Screenshot, Exportzeile, betroffener Hintergrundlink."
                },
                {
                    "phase": "Ursache beheben",
                    "owner": "Marketing/IT",
                    "action": "Konfiguration, Tag, Inhalt, Anbieter, Header oder Formular anhand der Hintergrundseite ändern und Änderung versionieren.",
                    "evidence": "Nachweisposition, Konfigurationsdiff, CMS-/Tag-Manager-Änderung, Freigabe."
                },
                {
                    "phase": "Nutzertext aktualisieren",
                    "owner": "Datenschutz/Content",
                    "action": "Datenschutzhinweis, Cookie-Liste, Anbieterregister oder Trust-Dokumentation an die reale Technik anpassen.",
                    "evidence": "Versionierter Text, Änderungsdatum, Verantwortlicher."
                },
                {
                    "phase": "Re-Test und Abschluss",
                    "owner": "Compliance/IT",
                    "action": "Pixel-, ping-, beacon- und keepalive-Ziele erneut exportieren.",
                    "evidence": "Tag-Manager-Regeln, Zweckliste, Consent-Test, Request-Samples."
                }
            ],
            "acceptance": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "evidence_exports": [
                "JSON/CSV/XLSX-Export für Rohbefunde und Audit-Tabellen",
                "ZIP-Nachweispaket mit Screenshot, Evidence Manifest und Hintergrundverweisen",
                "Trust Documentation Library für öffentliche, sanitisierte und interne Nachweise"
            ],
            "retest": "Pixel-, ping-, beacon- und keepalive-Ziele erneut exportieren.",
            "sources": [
                {
                    "label": "DSK Orientierungshilfe Digitale Dienste",
                    "url": "https://www.datenschutzkonferenz-online.de/media/oh/OH_Digitale_Dienste.pdf"
                },
                {
                    "label": "BfDI: Cookies und Tracking-Technologien",
                    "url": "https://www.bfdi.bund.de/DE/Buerger/Inhalte/Telemedien/Cookies.html"
                },
                {
                    "label": "EDPB Guidelines 2/2023 ePrivacy Art. 5(3)",
                    "url": "https://www.edpb.europa.eu/system/files/2024-10/edpb_guidelines_202302_technical_scope_art_53_eprivacydirective_v2_en_0.pdf"
                },
                {
                    "label": "Google Tag Platform: Consent",
                    "url": "https://developers.google.com/tag-platform/security/guides/consent"
                }
            ]
        },
        {
            "guide_slug": "drittanbieter-datenschutz-erklaeren",
            "guide_url": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
            "title": "Drittanbieter im Datenschutz erklären",
            "intro": "Externe Browserkontakte müssen für Ihre Besucher nachvollziehbar sein, besonders Werbung, Analytics, Tag-Manager, Fonts und Zahlungsanbieter.",
            "priority": "hoch",
            "impact_score": 86,
            "phase": "0-7 Tage",
            "area": "Drittanbieter",
            "owner": "Legal/Vendor-Verantwortung",
            "effort": "mittel",
            "issue_count": 3,
            "issues": [
                {
                    "id": "privacy_policy_provider_disclosure_gap",
                    "area": "privacy",
                    "title": "Erkannte Anbieter fehlen in der Datenschutzerklärung",
                    "priority": "hoch",
                    "impact_score": 86,
                    "evidence": "",
                    "operator_action": "Technisch erkannte Dienste in der Datenschutzerklärung konkret mit Anbieter, Zweck, Rechtsgrundlage, Empfänger und Transferhinweis benennen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "drittanbieter-datenschutz-erklaeren",
                    "guide_url": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "source": "finding"
                },
                {
                    "id": "vendor_contract_transfer_fix",
                    "area": "Anbieter & Transfer",
                    "title": "Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                    "priority": "hoch",
                    "impact_score": 84,
                    "evidence": "Vendor-Due-Diligence mit 1 Anbieter(n), 0 hohem Risiko, 1 AVV-/DPA-Prüfung(en) und 1 Transfer-/Jurisdiktionsfrage(n).",
                    "operator_action": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.",
                    "owner": "Legal/Vendor-Verantwortung",
                    "guide_slug": "drittanbieter-datenschutz-erklaeren",
                    "guide_url": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "source": "vendor_due_diligence"
                },
                {
                    "id": "module_browser_evidence",
                    "area": "Audit-Modul",
                    "title": "Browser-Nachweis",
                    "priority": "mittel",
                    "impact_score": 25,
                    "evidence": "53 Request(s), 1 Drittanbieter-Domain(s), davon 0 datenschutzrelevant, 2 Browser-Cookie(s), Transfer-Prüfbedarf: 0, Referrer-/URL-Leaks: 0, Fingerprinting-/Replay-Hinweise: 0.",
                    "operator_action": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "drittanbieter-datenschutz-erklaeren",
                    "guide_url": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "source": "audit_module"
                }
            ],
            "guide_steps": [
                "Erstellen Sie eine Liste aller externen Domains, die beim ersten Seitenaufruf geladen werden.",
                "Ordnen Sie jeden Anbieter einem Zweck zu: Hosting/CDN, Fonts, Consent, Analytics, Werbung, Zahlung oder Support.",
                "Dokumentieren Sie pro Anbieter Empfängerrolle, Anbieterland, Transfergrundlage, AVV/Vertrag und Widerrufs- oder Opt-out-Möglichkeit.",
                "Reduzieren Sie unnötige Drittanbieter und erklären Sie die übrigen verständlich in Cookie-Auswahl und Datenschutzhinweisen."
            ],
            "fix_steps": [
                {
                    "phase": "Befund reproduzieren",
                    "owner": "Legal/Vendor-Verantwortung",
                    "action": "SaferPage-Report, betroffene URL, Consent-Zustand und Request-/Cookie-/Header-Evidence sichern.",
                    "evidence": "Scan-ID, Screenshot, Exportzeile, betroffener Hintergrundlink."
                },
                {
                    "phase": "Ursache beheben",
                    "owner": "Legal/Vendor-Verantwortung",
                    "action": "Konfiguration, Tag, Inhalt, Anbieter, Header oder Formular anhand der Hintergrundseite ändern und Änderung versionieren.",
                    "evidence": "Nachweisposition, Konfigurationsdiff, CMS-/Tag-Manager-Änderung, Freigabe."
                },
                {
                    "phase": "Nutzertext aktualisieren",
                    "owner": "Datenschutz/Content",
                    "action": "Datenschutzhinweis, Cookie-Liste, Anbieterregister oder Trust-Dokumentation an die reale Technik anpassen.",
                    "evidence": "Versionierter Text, Änderungsdatum, Verantwortlicher."
                },
                {
                    "phase": "Re-Test und Abschluss",
                    "owner": "Compliance/IT",
                    "action": "Drittanbieter-Liste gegen neue Requests und Cookies abgleichen.",
                    "evidence": "Anbieterregister, AVV/DPA-Status, Transferbewertung, Datenschutzhinweis."
                }
            ],
            "acceptance": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "evidence_exports": [
                "JSON/CSV/XLSX-Export für Rohbefunde und Audit-Tabellen",
                "ZIP-Nachweispaket mit Screenshot, Evidence Manifest und Hintergrundverweisen",
                "Trust Documentation Library für öffentliche, sanitisierte und interne Nachweise"
            ],
            "retest": "Drittanbieter-Liste gegen neue Requests und Cookies abgleichen.",
            "sources": [
                {
                    "label": "DSK Orientierungshilfe Digitale Dienste",
                    "url": "https://www.datenschutzkonferenz-online.de/media/oh/OH_Digitale_Dienste.pdf"
                },
                {
                    "label": "BfDI: Cookies und Tracking-Technologien",
                    "url": "https://www.bfdi.bund.de/DE/Buerger/Inhalte/Telemedien/Cookies.html"
                },
                {
                    "label": "Google Tag Platform: Consent",
                    "url": "https://developers.google.com/tag-platform/security/guides/consent"
                }
            ]
        },
        {
            "guide_slug": "datenschutzerklaerung-verbessern",
            "guide_url": "https://saferpage.de/guides/datenschutzerklaerung-verbessern",
            "title": "Datenschutzerklärung verbessern",
            "intro": "Eine gute Datenschutzerklärung erklärt Ihren Besuchern verständlich, welche Daten verarbeitet werden und warum.",
            "priority": "hoch",
            "impact_score": 86,
            "phase": "0-7 Tage",
            "area": "Transparenz",
            "owner": "Datenschutz/Content",
            "effort": "mittel",
            "issue_count": 4,
            "issues": [
                {
                    "id": "privacy_policy_required_items_missing",
                    "area": "privacy",
                    "title": "Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab",
                    "priority": "hoch",
                    "impact_score": 86,
                    "evidence": "",
                    "operator_action": "Verantwortlicher, Zwecke, Rechtsgrundlagen, Rechte, Speicherfristen, Empfänger, Cookies/Tracking und Widerruf strukturiert ergänzen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "datenschutzerklaerung-verbessern",
                    "guide_url": "https://saferpage.de/guides/datenschutzerklaerung-verbessern",
                    "source": "finding"
                },
                {
                    "id": "privacy_policy_tracking_disclosure_gap",
                    "area": "privacy",
                    "title": "Cookies/Tracking in der Datenschutzerklärung nicht klar erkannt",
                    "priority": "hoch",
                    "impact_score": 86,
                    "evidence": "",
                    "operator_action": "Cookie-, Tracking-, Web-Storage- und Drittanbieter-Hinweise mit der tatsächlichen Technik aus dem Scan abgleichen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "datenschutzerklaerung-verbessern",
                    "guide_url": "https://saferpage.de/guides/datenschutzerklaerung-verbessern",
                    "source": "finding"
                },
                {
                    "id": "privacy_policy_update_date_missing",
                    "area": "privacy",
                    "title": "Stand der Datenschutzerklärung nicht klar erkennbar",
                    "priority": "niedrig",
                    "impact_score": 55,
                    "evidence": "",
                    "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_slug": "datenschutzerklaerung-verbessern",
                    "guide_url": "https://saferpage.de/guides/datenschutzerklaerung-verbessern",
                    "source": "finding"
                },
                {
                    "id": "privacy_policy_dpo_contact_missing",
                    "area": "privacy",
                    "title": "Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
                    "priority": "niedrig",
                    "impact_score": 55,
                    "evidence": "",
                    "operator_action": "Nennen Sie einen Datenschutzkontakt oder erklären Sie nachvollziehbar, wie Datenschutzanfragen gestellt werden können.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "datenschutzerklaerung-verbessern",
                    "guide_url": "https://saferpage.de/guides/datenschutzerklaerung-verbessern",
                    "source": "finding"
                }
            ],
            "guide_steps": [
                "Verlinken Sie die Datenschutzerklärung gut sichtbar im Footer und in Formularnähe.",
                "Nennen Sie Zwecke, Rechtsgrundlagen, Empfänger/Drittanbieter, Speicherdauer und Betroffenenrechte.",
                "Erklären Sie Cookies, Tracking, Kontaktformulare, Newsletter und Zahlungsanbieter konkret statt nur allgemein.",
                "Pflegen Sie ein sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach neuen Tools, Cookies oder Formularen erneut.",
                "Nennen Sie einen Datenschutzkontakt oder den Datenschutzbeauftragten-Hinweis so, dass Besucher Anfragen ohne Suchen stellen können.",
                "Strukturieren Sie lange Absätze mit klaren Zwischenüberschriften und kurzen Sätzen, damit auch nicht-juristische Nutzer die Hinweise verstehen."
            ],
            "fix_steps": [
                {
                    "phase": "Befund reproduzieren",
                    "owner": "Datenschutz/Content",
                    "action": "SaferPage-Report, betroffene URL, Consent-Zustand und Request-/Cookie-/Header-Evidence sichern.",
                    "evidence": "Scan-ID, Screenshot, Exportzeile, betroffener Hintergrundlink."
                },
                {
                    "phase": "Ursache beheben",
                    "owner": "Datenschutz/Content",
                    "action": "Konfiguration, Tag, Inhalt, Anbieter, Header oder Formular anhand der Hintergrundseite ändern und Änderung versionieren.",
                    "evidence": "Nachweisposition, Konfigurationsdiff, CMS-/Tag-Manager-Änderung, Freigabe."
                },
                {
                    "phase": "Nutzertext aktualisieren",
                    "owner": "Datenschutz/Content",
                    "action": "Datenschutzhinweis, Cookie-Liste, Anbieterregister oder Trust-Dokumentation an die reale Technik anpassen.",
                    "evidence": "Versionierter Text, Änderungsdatum, Verantwortlicher."
                },
                {
                    "phase": "Re-Test und Abschluss",
                    "owner": "Compliance/IT",
                    "action": "Datenschutzhinweis gegen Cookies, Anbieter, Formulare und Zwecke abgleichen.",
                    "evidence": "Versionierter Datenschutzhinweis, Änderungsdatum, Freigabeprotokoll."
                }
            ],
            "acceptance": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "evidence_exports": [
                "JSON/CSV/XLSX-Export für Rohbefunde und Audit-Tabellen",
                "ZIP-Nachweispaket mit Screenshot, Evidence Manifest und Hintergrundverweisen",
                "Trust Documentation Library für öffentliche, sanitisierte und interne Nachweise"
            ],
            "retest": "Datenschutzhinweis gegen Cookies, Anbieter, Formulare und Zwecke abgleichen.",
            "sources": [
                {
                    "label": "DSK Orientierungshilfe Digitale Dienste",
                    "url": "https://www.datenschutzkonferenz-online.de/media/oh/OH_Digitale_Dienste.pdf"
                },
                {
                    "label": "DSK Orientierungshilfe Telemedien",
                    "url": "https://www.datenschutzkonferenz-online.de/media/oh/20221205_oh_Telemedien_2021_Version_1_1_Vorlage_104_DSK_final.pdf"
                },
                {
                    "label": "BfDI: Cookies und Tracking-Technologien",
                    "url": "https://www.bfdi.bund.de/DE/Buerger/Inhalte/Telemedien/Cookies.html"
                }
            ]
        },
        {
            "guide_slug": "security-header-setzen",
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "title": "Security-Header setzen",
            "intro": "Security-Header sind eine Betreiberaufgabe an Webserver, CDN oder Hosting-Panel. Der SaferPage-Befund zeigt nur, welche Header im passiven Abruf sichtbar waren; die Umsetzung muss kontrolliert ausgerollt, getestet und bei CSP schrittweise gehärtet werden.",
            "priority": "hoch",
            "impact_score": 86,
            "phase": "0-7 Tage",
            "area": "Web Security",
            "owner": "IT/Security",
            "effort": "mittel",
            "issue_count": 10,
            "issues": [
                {
                    "id": "missing_hsts",
                    "area": "security_headers",
                    "title": "HSTS fehlt",
                    "priority": "hoch",
                    "impact_score": 86,
                    "evidence": "",
                    "operator_action": "Header `strict-transport-security` setzen und nach Deployment erneut prüfen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "security-header-setzen",
                    "guide_url": "https://saferpage.de/guides/security-header-setzen",
                    "source": "finding"
                },
                {
                    "id": "missing_csp",
                    "area": "security_headers",
                    "title": "Content-Security-Policy fehlt",
                    "priority": "hoch",
                    "impact_score": 86,
                    "evidence": "",
                    "operator_action": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "security-header-setzen",
                    "guide_url": "https://saferpage.de/guides/security-header-setzen",
                    "source": "finding"
                },
                {
                    "id": "missing_x_frame_options",
                    "area": "security_headers",
                    "title": "X-Frame-Options fehlt",
                    "priority": "hoch",
                    "impact_score": 86,
                    "evidence": "",
                    "operator_action": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "security-header-setzen",
                    "guide_url": "https://saferpage.de/guides/security-header-setzen",
                    "source": "finding"
                },
                {
                    "id": "module_security_tls",
                    "area": "Audit-Modul",
                    "title": "Sicherheit, TLS & Header",
                    "priority": "hoch",
                    "impact_score": 54,
                    "evidence": "2 Infrastruktur-Hinweis(e), Security-Header: 1/9 vorhanden, 8 fehlen, externe Skript-Hosts: 0.",
                    "operator_action": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "security-header-setzen",
                    "guide_url": "https://saferpage.de/guides/security-header-setzen",
                    "source": "audit_module"
                },
                {
                    "id": "security_header_gap",
                    "area": "Security",
                    "title": "Security-Header, Referrer-Policy und Browser-Schutz setzen",
                    "priority": "hoch",
                    "impact_score": 54,
                    "evidence": "1 von 9 wichtigen Security-Headern vorhanden, 1 korrekt bewertet. Keine Content-Security-Policy gefunden.",
                    "operator_action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
                    "owner": "IT/Security",
                    "guide_slug": "security-header-setzen",
                    "guide_url": "https://saferpage.de/guides/security-header-setzen",
                    "source": "security_header"
                },
                {
                    "id": "missing_cross_origin_embedder_policy",
                    "area": "security_headers",
                    "title": "Cross-Origin-Embedder-Policy fehlt",
                    "priority": "niedrig",
                    "impact_score": 55,
                    "evidence": "",
                    "operator_action": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "security-header-setzen",
                    "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",
                    "priority": "niedrig",
                    "impact_score": 55,
                    "evidence": "",
                    "operator_action": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "security-header-setzen",
                    "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",
                    "priority": "niedrig",
                    "impact_score": 55,
                    "evidence": "",
                    "operator_action": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "security-header-setzen",
                    "guide_url": "https://saferpage.de/guides/security-header-setzen",
                    "source": "finding"
                },
                {
                    "id": "missing_referrer_policy",
                    "area": "security_headers",
                    "title": "Referrer-Policy fehlt",
                    "priority": "niedrig",
                    "impact_score": 55,
                    "evidence": "",
                    "operator_action": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "security-header-setzen",
                    "guide_url": "https://saferpage.de/guides/security-header-setzen",
                    "source": "finding"
                },
                {
                    "id": "missing_permissions_policy",
                    "area": "security_headers",
                    "title": "Permissions-Policy fehlt",
                    "priority": "niedrig",
                    "impact_score": 55,
                    "evidence": "",
                    "operator_action": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "security-header-setzen",
                    "guide_url": "https://saferpage.de/guides/security-header-setzen",
                    "source": "finding"
                }
            ],
            "guide_steps": [
                "Inventarisieren Sie zuerst den Ist-Stand aus SaferPage-Report, curl -I, Browser-DevTools, CDN-Regeln und Hosting-Panel. Widerspruechliche doppelte Header muessen vor der Haertung bereinigt werden.",
                "Setzen Sie als stabile Baseline Strict-Transport-Security, X-Content-Type-Options, Referrer-Policy und Permissions-Policy. Aktivieren Sie HSTS erst, wenn HTTPS fuer Domain, www-Variante und benoetigte Subdomains dauerhaft funktioniert.",
                "Starten Sie Content-Security-Policy zuerst als Content-Security-Policy-Report-Only. Sammeln Sie blockierte Quellen, ordnen Sie sie echten Funktionen zu und erzwingen Sie die CSP erst nach fachlicher Freigabe.",
                "Nutzen Sie fuer CSP mindestens default-src self, base-uri self, object-src none, frame-ancestors self und form-action self. Entfernen Sie unsafe-inline, unsafe-eval, Wildcards und reine http:-Quellen, sobald Nonces, Hashes oder konkrete Hosts funktionieren.",
                "Nutzen Sie frame-ancestors in der CSP oder X-Frame-Options: SAMEORIGIN, damit fremde Seiten Ihre Website nicht ungewollt einbetten.",
                "Rollen Sie Header an genau einer wirksamen Stelle aus: Nginx, Apache, CDN/Reverse Proxy oder Hosting-Panel. Der letzte Edge vor dem Besucher muss den gewollten Header sichtbar ausliefern.",
                "Dokumentieren Sie Rollback, Ausnahmen, betroffene Pfade, Verantwortlichkeit und Re-Scan-Nachweis. Besonders CSP kann Zahlungs-, Login-, Consent- oder Formularfunktionen brechen, wenn Quellen zu hart blockiert werden."
            ],
            "fix_steps": [
                {
                    "phase": "Befund reproduzieren",
                    "owner": "IT/Security",
                    "action": "SaferPage-Report, betroffene URL, Consent-Zustand und Request-/Cookie-/Header-Evidence sichern.",
                    "evidence": "Scan-ID, Screenshot, Exportzeile, betroffener Hintergrundlink."
                },
                {
                    "phase": "Ursache beheben",
                    "owner": "IT/Security",
                    "action": "Konfiguration, Tag, Inhalt, Anbieter, Header oder Formular anhand der Hintergrundseite ändern und Änderung versionieren.",
                    "evidence": "Nachweisposition, Konfigurationsdiff, CMS-/Tag-Manager-Änderung, Freigabe."
                },
                {
                    "phase": "Nutzertext aktualisieren",
                    "owner": "Datenschutz/Content",
                    "action": "Datenschutzhinweis, Cookie-Liste, Anbieterregister oder Trust-Dokumentation an die reale Technik anpassen.",
                    "evidence": "Versionierter Text, Änderungsdatum, Verantwortlicher."
                },
                {
                    "phase": "Re-Test und Abschluss",
                    "owner": "Compliance/IT",
                    "action": "Header, TLS, CSP und Referrer-Policy nach Deployment erneut scannen.",
                    "evidence": "Nginx/Apache/CDN-Konfiguration, Header-Export, Rollback-Plan."
                }
            ],
            "acceptance": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "evidence_exports": [
                "JSON/CSV/XLSX-Export für Rohbefunde und Audit-Tabellen",
                "ZIP-Nachweispaket mit Screenshot, Evidence Manifest und Hintergrundverweisen",
                "Trust Documentation Library für öffentliche, sanitisierte und interne Nachweise"
            ],
            "retest": "Header, TLS, CSP und Referrer-Policy nach Deployment erneut scannen.",
            "sources": [
                {
                    "label": "BSI IT-Grundschutz APP.3.1 Webanwendungen",
                    "url": "https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/IT-GS-Kompendium_Einzel_PDFs_2023/06_APP_Anwendungen/APP_3_1_Webanwendungen_und_Webservices_Edition_2023.pdf?__blob=publicationFile&v=3"
                },
                {
                    "label": "BSI IT-Grundschutz APP.3.2 Webserver",
                    "url": "https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/IT-GS-Kompendium_Einzel_PDFs_2023/06_APP_Anwendungen/APP_3_2_Webserver_Edition_2023.pdf?__blob=publicationFile&v=3"
                },
                {
                    "label": "MDN: Content Security Policy",
                    "url": "https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP"
                }
            ]
        },
        {
            "guide_slug": "barrierefreiheit-cookie-banner-formulare",
            "guide_url": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
            "title": "Barrierefreiheit bei Bannern und Formularen prüfen",
            "intro": "Cookie-Banner und Formulare sind typische Bruchstellen fuer Datenschutz, Usability und Barrierefreiheit. SaferPage kann sichtbare Labels, Button-Namen, Viewport-Signale und einfache WCAG-/BFSG-nahe Hinweise liefern; eine vollstaendige Barrierefreiheitspruefung braucht zusaetzlich Tastatur-, Screenreader- und manuelle Flow-Tests.",
            "priority": "mittel",
            "impact_score": 55,
            "phase": "7-30 Tage",
            "area": "Usability & BITV",
            "owner": "UX/Content/IT",
            "effort": "mittel",
            "issue_count": 3,
            "issues": [
                {
                    "id": "module_accessibility_usability",
                    "area": "Audit-Modul",
                    "title": "Barrierefreiheit & Usability",
                    "priority": "mittel",
                    "impact_score": 25,
                    "evidence": "12 Bild(er) ohne alt, 0 Formularfeld(er) ohne Beschriftung, 0 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_slug": "barrierefreiheit-cookie-banner-formulare",
                    "guide_url": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
                    "source": "audit_module"
                },
                {
                    "id": "accessibility_gap",
                    "area": "Barrierefreiheit",
                    "title": "Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
                    "priority": "mittel",
                    "impact_score": 25,
                    "evidence": "16 Bild(er), 0 Formularfeld(er), 7 Button(s) im passiven HTML-Sample auf Basis-Barrierefreiheit geprüft.",
                    "operator_action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
                    "owner": "UX/IT",
                    "guide_slug": "barrierefreiheit-cookie-banner-formulare",
                    "guide_url": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
                    "source": "accessibility"
                },
                {
                    "id": "image_alt_missing",
                    "area": "accessibility",
                    "title": "Bilder ohne Alternativtext",
                    "priority": "niedrig",
                    "impact_score": 55,
                    "evidence": "",
                    "operator_action": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "barrierefreiheit-cookie-banner-formulare",
                    "guide_url": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
                    "source": "finding"
                }
            ],
            "guide_steps": [
                "Pruefen Sie Cookie-Banner mit Tastatur, Screenreader und Mobilgerät: Fokus muss im Dialog nachvollziehbar sein, Bedienelemente brauchen Namen und Ablehnen/Akzeptieren/Einstellungen muessen erreichbar bleiben.",
                "Blockieren Sie Datenschutz, Impressum, Kontakt und Hauptinhalt nicht dauerhaft durch Banner, Modals, Paywalls oder Sticky-Elemente.",
                "Versehen Sie Formularfelder mit sichtbaren Labels, programmatischen Namen, Fehlermeldungen, Hilfetexten und passenden Autocomplete-Attributen.",
                "Pruefen Sie Kontrast, Fokuszustand, Tab-Reihenfolge, Tastaturfalle, Skip-Link, Landmark-Struktur, Button-Namen und Linktexte.",
                "Testen Sie Fehlerszenarien: Pflichtfelder, falsches Format, Captcha, Datei-Upload, Newsletter-Double-Opt-in, Login und Zahlungs-/Checkout-Schritte.",
                "Erfassen Sie betroffene Templates, Komponenten, Consent-Zustaende, Viewport-Groessen, Re-Scan-ID und manuelle Pruefnotizen als Betreiber-Nachweis.",
                "Fuehren Sie nach Theme-, CMP-, Formular-, Plugin- oder Checkout-Aenderungen einen Re-Scan plus Tastatur-/Screenreader-Stichprobe durch."
            ],
            "fix_steps": [
                {
                    "phase": "Befund reproduzieren",
                    "owner": "UX/Content/IT",
                    "action": "SaferPage-Report, betroffene URL, Consent-Zustand und Request-/Cookie-/Header-Evidence sichern.",
                    "evidence": "Scan-ID, Screenshot, Exportzeile, betroffener Hintergrundlink."
                },
                {
                    "phase": "Ursache beheben",
                    "owner": "UX/Content/IT",
                    "action": "Konfiguration, Tag, Inhalt, Anbieter, Header oder Formular anhand der Hintergrundseite ändern und Änderung versionieren.",
                    "evidence": "Nachweisposition, Konfigurationsdiff, CMS-/Tag-Manager-Änderung, Freigabe."
                },
                {
                    "phase": "Nutzertext aktualisieren",
                    "owner": "Datenschutz/Content",
                    "action": "Datenschutzhinweis, Cookie-Liste, Anbieterregister oder Trust-Dokumentation an die reale Technik anpassen.",
                    "evidence": "Versionierter Text, Änderungsdatum, Verantwortlicher."
                },
                {
                    "phase": "Re-Test und Abschluss",
                    "owner": "Compliance/IT",
                    "action": "Tastatur, Screenreader, Kontrast und Mobilansicht manuell prüfen.",
                    "evidence": "Testprotokoll, Screenshots, bekannte Einschränkungen."
                }
            ],
            "acceptance": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "evidence_exports": [
                "JSON/CSV/XLSX-Export für Rohbefunde und Audit-Tabellen",
                "ZIP-Nachweispaket mit Screenshot, Evidence Manifest und Hintergrundverweisen",
                "Trust Documentation Library für öffentliche, sanitisierte und interne Nachweise"
            ],
            "retest": "Tastatur, Screenreader, Kontrast und Mobilansicht manuell prüfen.",
            "sources": [
                {
                    "label": "BITV 2.0",
                    "url": "https://www.gesetze-im-internet.de/bitv_2_0/"
                },
                {
                    "label": "BFIT Bund",
                    "url": "https://www.bfit-bund.de/DE/Home/home_node.html"
                },
                {
                    "label": "Google Search Central: Page Experience",
                    "url": "https://developers.google.com/search/docs/appearance/page-experience"
                }
            ]
        },
        {
            "guide_slug": "pii-und-url-datenlecks-vermeiden",
            "guide_url": "https://saferpage.de/guides/pii-und-url-datenlecks-vermeiden",
            "title": "PII- und URL-Datenlecks vermeiden",
            "intro": "Personenbezogene Daten, Tokens und Formularwerte sollten nicht in URLs, Referrern, Logs oder Tracking-Tags landen.",
            "priority": "niedrig",
            "impact_score": 55,
            "phase": "quartalsweise",
            "area": "PII Leakage",
            "owner": "Webentwicklung/IT",
            "effort": "mittel",
            "issue_count": 1,
            "issues": [
                {
                    "id": "pii_sensitive_link_query",
                    "area": "privacy",
                    "title": "Links mit sensiblen Query-Parametern erkannt",
                    "priority": "niedrig",
                    "impact_score": 55,
                    "evidence": "",
                    "operator_action": "Sensible Parameter aus Links entfernen oder durch serverseitige, kurzlebige Zustände ersetzen.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "pii-und-url-datenlecks-vermeiden",
                    "guide_url": "https://saferpage.de/guides/pii-und-url-datenlecks-vermeiden",
                    "source": "finding"
                }
            ],
            "guide_steps": [
                "Senden Sie Formulare mit personenbezogenen Daten per POST und vermeiden Sie GET-Parameter wie email, phone, name, token oder customer_id.",
                "Entfernen Sie personenbezogene Werte aus internen Links, Weiterleitungen, Suchparametern und Bestätigungsseiten.",
                "Blockieren Sie Analytics-, Ads- und Session-Replay-Tags auf Formularseiten bis zur Einwilligung und übergeben Sie keine Formularwerte an Tags.",
                "Prüfen Sie externe Formularziele auf Zweck, Anbieter, Region, Auftragsverarbeitung und Datenschutzhinweise.",
                "Konfigurieren Sie Referrer-Policy, Logging und Monitoring so, dass sensible Query-Strings nicht unnötig gespeichert werden."
            ],
            "fix_steps": [
                {
                    "phase": "Befund reproduzieren",
                    "owner": "Webentwicklung/IT",
                    "action": "SaferPage-Report, betroffene URL, Consent-Zustand und Request-/Cookie-/Header-Evidence sichern.",
                    "evidence": "Scan-ID, Screenshot, Exportzeile, betroffener Hintergrundlink."
                },
                {
                    "phase": "Ursache beheben",
                    "owner": "Webentwicklung/IT",
                    "action": "Konfiguration, Tag, Inhalt, Anbieter, Header oder Formular anhand der Hintergrundseite ändern und Änderung versionieren.",
                    "evidence": "Nachweisposition, Konfigurationsdiff, CMS-/Tag-Manager-Änderung, Freigabe."
                },
                {
                    "phase": "Nutzertext aktualisieren",
                    "owner": "Datenschutz/Content",
                    "action": "Datenschutzhinweis, Cookie-Liste, Anbieterregister oder Trust-Dokumentation an die reale Technik anpassen.",
                    "evidence": "Versionierter Text, Änderungsdatum, Verantwortlicher."
                },
                {
                    "phase": "Re-Test und Abschluss",
                    "owner": "Compliance/IT",
                    "action": "URLs, Referrer, Logs und Drittanbieter-Requests auf personenbezogene Werte prüfen.",
                    "evidence": "Parameter-Inventar, Referrer-Policy, Logging-Konfiguration, Re-Scan."
                }
            ],
            "acceptance": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "evidence_exports": [
                "JSON/CSV/XLSX-Export für Rohbefunde und Audit-Tabellen",
                "ZIP-Nachweispaket mit Screenshot, Evidence Manifest und Hintergrundverweisen",
                "Trust Documentation Library für öffentliche, sanitisierte und interne Nachweise"
            ],
            "retest": "URLs, Referrer, Logs und Drittanbieter-Requests auf personenbezogene Werte prüfen.",
            "sources": [
                {
                    "label": "DSK Orientierungshilfe Digitale Dienste",
                    "url": "https://www.datenschutzkonferenz-online.de/media/oh/OH_Digitale_Dienste.pdf"
                },
                {
                    "label": "BfDI: Cookies und Tracking-Technologien",
                    "url": "https://www.bfdi.bund.de/DE/Buerger/Inhalte/Telemedien/Cookies.html"
                },
                {
                    "label": "EDPB Guidelines 2/2023 ePrivacy Art. 5(3)",
                    "url": "https://www.edpb.europa.eu/system/files/2024-10/edpb_guidelines_202302_technical_scope_art_53_eprivacydirective_v2_en_0.pdf"
                },
                {
                    "label": "BSI IT-Grundschutz APP.3.1 Webanwendungen",
                    "url": "https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/IT-GS-Kompendium_Einzel_PDFs_2023/06_APP_Anwendungen/APP_3_1_Webanwendungen_und_Webservices_Edition_2023.pdf?__blob=publicationFile&v=3"
                }
            ]
        },
        {
            "guide_slug": "performance-und-mobile-usability-verbessern",
            "guide_url": "https://saferpage.de/guides/performance-und-mobile-usability-verbessern",
            "title": "Performance und mobile Nutzbarkeit verbessern",
            "intro": "Langsame oder mobil schlecht nutzbare Seiten wirken fuer Besucher weniger vertrauenswuerdig. SaferPage kann Antwortzeit, sichtbare Mobil-Signale, Header und grobe Asset-Hinweise zeigen; Core-Web-Vitals-Felddaten, reale Nutzergeraete und Business-Auswirkungen muessen Betreiber separat messen.",
            "priority": "niedrig",
            "impact_score": 55,
            "phase": "quartalsweise",
            "area": "Performance & Mobile",
            "owner": "Webentwicklung/UX",
            "effort": "mittel",
            "issue_count": 1,
            "issues": [
                {
                    "id": "too_many_render_blocking_assets",
                    "area": "performance",
                    "title": "Viele potenziell blockierende Assets",
                    "priority": "niedrig",
                    "impact_score": 55,
                    "evidence": "",
                    "operator_action": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "performance-und-mobile-usability-verbessern",
                    "guide_url": "https://saferpage.de/guides/performance-und-mobile-usability-verbessern",
                    "source": "finding"
                }
            ],
            "guide_steps": [
                "Trennen Sie Laborsignale, SaferPage-Response-Zeit, Browser-DevTools, PageSpeed/Lighthouse und echte Core-Web-Vitals-Felddaten. Ein einzelner Kurzscan beweist keine reale Nutzererfahrung.",
                "Pruefen Sie LCP, INP und CLS fuer Startseite, Report-/Landingpages, Formularseiten, Login, Checkout und mobile Hauptpfade getrennt.",
                "Aktivieren Sie Brotli oder gzip fuer HTML, CSS, JavaScript, SVG und JSON; pruefen Sie Cache-Control, ETag, CDN und serverseitige Antwortzeit.",
                "Reduzieren Sie blockierende Skripte, ungenutzte Bibliotheken, grosse Inline-Daten, Render-Blocking-CSS, Tag-Manager-Last und Drittanbieter-Widgets.",
                "Optimieren Sie Bilder mit festen Abmessungen, responsive srcset/sizes, lazy loading, passenden Formaten und 160x150-Preview-Grenzen fuer kleine Reportvorschauen.",
                "Setzen Sie den Viewport-Meta-Tag, ausreichende Tap-Ziele, lesbare Schriftgroessen, stabile Layoutflaechen und testen Sie wichtige Seiten auf echten Mobilgeraeten.",
                "Dokumentieren Sie Vorher/Nachher-Werte, betroffene Templates, Deployment-Zeitpunkt, Rollback und Re-Scan-Nachweis."
            ],
            "fix_steps": [
                {
                    "phase": "Befund reproduzieren",
                    "owner": "Webentwicklung/UX",
                    "action": "SaferPage-Report, betroffene URL, Consent-Zustand und Request-/Cookie-/Header-Evidence sichern.",
                    "evidence": "Scan-ID, Screenshot, Exportzeile, betroffener Hintergrundlink."
                },
                {
                    "phase": "Ursache beheben",
                    "owner": "Webentwicklung/UX",
                    "action": "Konfiguration, Tag, Inhalt, Anbieter, Header oder Formular anhand der Hintergrundseite ändern und Änderung versionieren.",
                    "evidence": "Nachweisposition, Konfigurationsdiff, CMS-/Tag-Manager-Änderung, Freigabe."
                },
                {
                    "phase": "Nutzertext aktualisieren",
                    "owner": "Datenschutz/Content",
                    "action": "Datenschutzhinweis, Cookie-Liste, Anbieterregister oder Trust-Dokumentation an die reale Technik anpassen.",
                    "evidence": "Versionierter Text, Änderungsdatum, Verantwortlicher."
                },
                {
                    "phase": "Re-Test und Abschluss",
                    "owner": "Compliance/IT",
                    "action": "Mobilansicht, Asset-Größen und Ladeverhalten erneut prüfen.",
                    "evidence": "Performance-Messung, Asset-Liste, Mobile-Screenshot."
                }
            ],
            "acceptance": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "evidence_exports": [
                "JSON/CSV/XLSX-Export für Rohbefunde und Audit-Tabellen",
                "ZIP-Nachweispaket mit Screenshot, Evidence Manifest und Hintergrundverweisen",
                "Trust Documentation Library für öffentliche, sanitisierte und interne Nachweise"
            ],
            "retest": "Mobilansicht, Asset-Größen und Ladeverhalten erneut prüfen.",
            "sources": [
                {
                    "label": "Google Search Central: Page Experience",
                    "url": "https://developers.google.com/search/docs/appearance/page-experience"
                },
                {
                    "label": "Google Search Central: Core Web Vitals",
                    "url": "https://developers.google.com/search/docs/appearance/core-web-vitals"
                }
            ]
        },
        {
            "guide_slug": "drittlandtransfer-und-anbieter-pruefen",
            "guide_url": "https://saferpage.de/guides/drittlandtransfer-und-anbieter-pruefen",
            "title": "Drittlandtransfer und Anbieter prüfen",
            "intro": "Externe Anbieter können IP-Adresse, Browserdaten, Cookies oder Formularumfeld erhalten. Für EU-/DE-Websites müssen Empfänger, Länder und Transfergrundlagen nachvollziehbar sein.",
            "priority": "niedrig",
            "impact_score": 55,
            "phase": "quartalsweise",
            "area": "Vendor & Transfer",
            "owner": "Legal/Datenschutz",
            "effort": "hoch",
            "issue_count": 1,
            "issues": [
                {
                    "id": "unknown_vendor_jurisdiction",
                    "area": "privacy",
                    "title": "Anbieter-Jurisdiktion nicht klar ableitbar",
                    "priority": "niedrig",
                    "impact_score": 55,
                    "evidence": "",
                    "operator_action": "Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren.",
                    "owner": "Website-Betrieb/Datenschutz",
                    "guide_slug": "drittlandtransfer-und-anbieter-pruefen",
                    "guide_url": "https://saferpage.de/guides/drittlandtransfer-und-anbieter-pruefen",
                    "source": "finding"
                }
            ],
            "guide_steps": [
                "Führen Sie ein Anbieterinventar mit Domain, Anbieter, Zweck, Kategorie, Region und Rechtsgrundlage.",
                "Prüfen Sie US- und Drittlandanbieter auf AVV/DPA, TOMs, EU-US Data Privacy Framework, Standardvertragsklauseln und Transfer Impact Assessment.",
                "Erklären Sie Empfänger, Drittlandtransfer, Zweck und Widerruf konkret in Datenschutzerklärung und Consent-Oberfläche.",
                "Reduzieren Sie nicht notwendige globale CDNs, Pixel und Tag-Manager oder laden Sie sie erst nach Einwilligung.",
                "Prüfen Sie unbekannte Hosts manuell: Betreiber, Hostingregion, Subprozessoren und ob ein EU-/lokaler Ersatz möglich ist."
            ],
            "fix_steps": [
                {
                    "phase": "Befund reproduzieren",
                    "owner": "Legal/Datenschutz",
                    "action": "SaferPage-Report, betroffene URL, Consent-Zustand und Request-/Cookie-/Header-Evidence sichern.",
                    "evidence": "Scan-ID, Screenshot, Exportzeile, betroffener Hintergrundlink."
                },
                {
                    "phase": "Ursache beheben",
                    "owner": "Legal/Datenschutz",
                    "action": "Konfiguration, Tag, Inhalt, Anbieter, Header oder Formular anhand der Hintergrundseite ändern und Änderung versionieren.",
                    "evidence": "Nachweisposition, Konfigurationsdiff, CMS-/Tag-Manager-Änderung, Freigabe."
                },
                {
                    "phase": "Nutzertext aktualisieren",
                    "owner": "Datenschutz/Content",
                    "action": "Datenschutzhinweis, Cookie-Liste, Anbieterregister oder Trust-Dokumentation an die reale Technik anpassen.",
                    "evidence": "Versionierter Text, Änderungsdatum, Verantwortlicher."
                },
                {
                    "phase": "Re-Test und Abschluss",
                    "owner": "Compliance/IT",
                    "action": "US-/Drittlandhosts, Anbieterrolle und Transfergrundlage erneut prüfen.",
                    "evidence": "DPA/AVV, SCC/TIA, Subprozessorenliste, TOM-Anlage."
                }
            ],
            "acceptance": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "evidence_exports": [
                "JSON/CSV/XLSX-Export für Rohbefunde und Audit-Tabellen",
                "ZIP-Nachweispaket mit Screenshot, Evidence Manifest und Hintergrundverweisen",
                "Trust Documentation Library für öffentliche, sanitisierte und interne Nachweise"
            ],
            "retest": "US-/Drittlandhosts, Anbieterrolle und Transfergrundlage erneut prüfen.",
            "sources": [
                {
                    "label": "DSK Orientierungshilfe Digitale Dienste",
                    "url": "https://www.datenschutzkonferenz-online.de/media/oh/OH_Digitale_Dienste.pdf"
                },
                {
                    "label": "EDPB Guidelines 05/2020 Consent",
                    "url": "https://www.edpb.europa.eu/sites/default/files/files/file1/edpb_guidelines_202005_consent_en.pdf"
                },
                {
                    "label": "EDPB Guidelines 2/2023 ePrivacy Art. 5(3)",
                    "url": "https://www.edpb.europa.eu/system/files/2024-10/edpb_guidelines_202302_technical_scope_art_53_eprivacydirective_v2_en_0.pdf"
                }
            ]
        }
    ],
    "remediation_tickets": [
        {
            "id": "remediation_vendor_contract_transfer_fix",
            "type": "befund_fix",
            "title": "Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
            "priority": "hoch",
            "owner": "Legal/Vendor-Verantwortung",
            "area": "Anbieter & Transfer",
            "evidence": "Vendor-Due-Diligence mit 1 Anbieter(n), 0 hohem Risiko, 1 AVV-/DPA-Prüfung(en) und 1 Transfer-/Jurisdiktionsfrage(n).",
            "action": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "vendor_due_diligence",
            "sla": "7 Tage",
            "fingerprint": "aab3971ddedd212f3af193513e9758d348555fe54ebefc10e9599425e4fe9098",
            "duplicate_group_count": 1,
            "deduplicated_duplicate_count": 0
        },
        {
            "id": "remediation_beacon_api_usage",
            "type": "befund_fix",
            "title": "Beacon-/Keepalive-Telemetrie erkannt",
            "priority": "hoch",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "privacy",
            "evidence": "",
            "action": "navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "7 Tage",
            "fingerprint": "e8b4b984ca56b54a4e86beb137141b63f49abe104e78a11ed88c48fa7f4770ec",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_external_canonical",
            "type": "befund_fix",
            "title": "Canonical zeigt auf fremde Domain",
            "priority": "hoch",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "seo",
            "evidence": "",
            "action": "Canonical-Tags sollten nur bewusst auf fremde Domains zeigen; sonst kann Traffic/Ranking umgeleitet werden.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "7 Tage",
            "fingerprint": "a875b89238f4850630895bee7429cad86786114b53790a6ec212f77917b7162f",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_consent_banner_dark_pattern_risk",
            "type": "befund_fix",
            "title": "Consent-Banner mit Dark-Pattern-/UX-Risiko",
            "priority": "hoch",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "privacy",
            "evidence": "",
            "action": "Ablehnen, Einstellungen und Akzeptieren gleichwertig anbieten und Reject technisch wirksam machen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/tracking-und-consent-reparieren",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "7 Tage",
            "fingerprint": "1ebf797e08cceb5eb2fb4105fa14c0e8a2dac03e3e633af8a5e5694fe6bea5f1",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_missing_csp",
            "type": "befund_fix",
            "title": "Content-Security-Policy fehlt",
            "priority": "hoch",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "security_headers",
            "evidence": "",
            "action": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "7 Tage",
            "fingerprint": "26b9534373385506779b7bf81348f3c4f7ed18b999de66aa039091b4f75dc857",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_consent_no_reject_option",
            "type": "befund_fix",
            "title": "Cookie-Hinweis ohne klare Ablehnen-Option",
            "priority": "hoch",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "privacy",
            "evidence": "",
            "action": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/tracking-und-consent-reparieren",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "7 Tage",
            "fingerprint": "27a86cb5cf3525feb6702f8840ff80617206433e9f9954b5cd0a2ce5a616dea4",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_privacy_policy_tracking_disclosure_gap",
            "type": "befund_fix",
            "title": "Cookies/Tracking in der Datenschutzerklärung nicht klar erkannt",
            "priority": "hoch",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "privacy",
            "evidence": "",
            "action": "Cookie-, Tracking-, Web-Storage- und Drittanbieter-Hinweise mit der tatsächlichen Technik aus dem Scan abgleichen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/datenschutzerklaerung-verbessern",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "7 Tage",
            "fingerprint": "2232c7ef8f9373e9f822e36d9406538df342fb2ce2f20cd47fbdfc32781f29f9",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_module_privacy_consent",
            "type": "befund_fix",
            "title": "Datenschutz, Cookies & Consent",
            "priority": "hoch",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "Audit-Modul",
            "evidence": "0 Tracking-Script(s), 2 Cookie(s) vor Einwilligung, 2 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 38.",
            "action": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/tracking-und-consent-reparieren",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "audit_module",
            "sla": "7 Tage",
            "fingerprint": "cb12c531edc6386fe68c51af8dec53bdec31d424fcf2f4a031f4a34eb777ad9c",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_privacy_policy_required_items_missing",
            "type": "befund_fix",
            "title": "Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab",
            "priority": "hoch",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "privacy",
            "evidence": "",
            "action": "Verantwortlicher, Zwecke, Rechtsgrundlagen, Rechte, Speicherfristen, Empfänger, Cookies/Tracking und Widerruf strukturiert ergänzen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/datenschutzerklaerung-verbessern",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "7 Tage",
            "fingerprint": "bed9d32d63dd87571e10034542e6a10479efd4d948d58887eee26298133deac1",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_privacy_policy_provider_disclosure_gap",
            "type": "befund_fix",
            "title": "Erkannte Anbieter fehlen in der Datenschutzerklärung",
            "priority": "hoch",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "privacy",
            "evidence": "",
            "action": "Technisch erkannte Dienste in der Datenschutzerklärung konkret mit Anbieter, Zweck, Rechtsgrundlage, Empfänger und Transferhinweis benennen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "7 Tage",
            "fingerprint": "12fe20649cf2c78850c209f99f6bfdac7fd5d107b41d429c5b1db766e083491f",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_missing_hsts",
            "type": "befund_fix",
            "title": "HSTS fehlt",
            "priority": "hoch",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "security_headers",
            "evidence": "",
            "action": "Header `strict-transport-security` setzen und nach Deployment erneut prüfen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "7 Tage",
            "fingerprint": "3fb65abf3efe6897f10e5ae5bf647ff9f352361881d76df2886d2992c43232a1",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_long_lived_tracking_cookie",
            "type": "befund_fix",
            "title": "Langlebige Tracking-/Marketing-Cookies",
            "priority": "hoch",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "privacy",
            "evidence": "",
            "action": "Cookies wie _pk_id.1.a4ea auf kurze Laufzeiten begrenzen, erst nach Einwilligung setzen und Speicherdauer konkret erklären.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "7 Tage",
            "fingerprint": "deab65fd711dbb643796efecfd6d0630e03876b8e1c795b105ad58cf802ed0de",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_security_header_gap",
            "type": "befund_fix",
            "title": "Security-Header, Referrer-Policy und Browser-Schutz setzen",
            "priority": "hoch",
            "owner": "IT/Security",
            "area": "Security",
            "evidence": "1 von 9 wichtigen Security-Headern vorhanden, 1 korrekt bewertet. Keine Content-Security-Policy gefunden.",
            "action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "security_header",
            "sla": "7 Tage",
            "fingerprint": "17b53db64790c3298a8778b6333eaa77f7c59adf0766e902aff40eae5fdc024a",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_module_security_tls",
            "type": "befund_fix",
            "title": "Sicherheit, TLS & Header",
            "priority": "hoch",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "Audit-Modul",
            "evidence": "2 Infrastruktur-Hinweis(e), Security-Header: 1/9 vorhanden, 8 fehlen, externe Skript-Hosts: 0.",
            "action": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "audit_module",
            "sla": "7 Tage",
            "fingerprint": "412d98743b01900776a80e0fba672556492f994841721e2d7cfb193ef2dd960c",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_consent_preconsent_gap",
            "type": "befund_fix",
            "title": "Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
            "priority": "hoch",
            "owner": "Marketing/IT",
            "area": "Consent & Tracking",
            "evidence": "Consent, Tracking oder Drittanbieter wirken im Erstaufruf deutlich nachbesserungsbeduerftig.",
            "action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/tracking-und-consent-reparieren",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "consent_audit",
            "sla": "7 Tage",
            "fingerprint": "5c05639f05cf27d08994d09d4b13e5f2d45f38c06c6f7ed5ceac7d598d0dc24f",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_pre_consent_tracking_cookies",
            "type": "befund_fix",
            "title": "Tracking-Cookies vor Einwilligung gesetzt",
            "priority": "hoch",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "privacy",
            "evidence": "",
            "action": "Tracking-Cookies erst nach aktiver Einwilligung setzen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/tracking-und-consent-reparieren",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "7 Tage",
            "fingerprint": "c971d2bf21f05747cc75266526dcaefd576250c4ba0859c5fd95ad1967d9bb87",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_missing_x_frame_options",
            "type": "befund_fix",
            "title": "X-Frame-Options fehlt",
            "priority": "hoch",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "security_headers",
            "evidence": "",
            "action": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "7 Tage",
            "fingerprint": "95d06f7bf99062d3f6f48594588ea751438c5da51a4845c11c05df15e2ab34dd",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_module_accessibility_usability",
            "type": "befund_fix",
            "title": "Barrierefreiheit & Usability",
            "priority": "mittel",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "Audit-Modul",
            "evidence": "12 Bild(er) ohne alt, 0 Formularfeld(er) ohne Beschriftung, 0 Button(s) ohne Namen.",
            "action": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "audit_module",
            "sla": "30 Tage",
            "fingerprint": "1026c2b67a84af392d50b900a2ea641b698d2cae99409c869a4b3856edcb4eda",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_module_browser_evidence",
            "type": "befund_fix",
            "title": "Browser-Nachweis",
            "priority": "mittel",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "Audit-Modul",
            "evidence": "53 Request(s), 1 Drittanbieter-Domain(s), davon 0 datenschutzrelevant, 2 Browser-Cookie(s), Transfer-Prüfbedarf: 0, Referrer-/URL-Leaks: 0, Fingerprinting-/Replay-Hinweise: 0.",
            "action": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "audit_module",
            "sla": "30 Tage",
            "fingerprint": "697d61aeb25d3011d06362c72442544cdfff4b303225237fd3fb16fc1e68e716",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_accessibility_gap",
            "type": "befund_fix",
            "title": "Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
            "priority": "mittel",
            "owner": "UX/IT",
            "area": "Barrierefreiheit",
            "evidence": "16 Bild(er), 0 Formularfeld(er), 7 Button(s) im passiven HTML-Sample auf Basis-Barrierefreiheit geprüft.",
            "action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "accessibility",
            "sla": "30 Tage",
            "fingerprint": "7a8369f52a72ec2984b6781c7700a646db41d52954975acd803c068312ed8ae5",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_module_cookie_inventory",
            "type": "befund_fix",
            "title": "Cookie-Inventar",
            "priority": "mittel",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "Audit-Modul",
            "evidence": "2 Cookie(s), 2 Tracking-/Werbe-Cookie(s), 0 Drittanbieter-Cookie(s), 1 langlebig, 0 sehr lang.",
            "action": "Cookie-Liste mit Zweck, Anbieter, First-/Third-Party, Secure, SameSite und Speicherdauer gegen Consent-Banner und Datenschutzerklärung abgleichen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "audit_module",
            "sla": "30 Tage",
            "fingerprint": "a191d6cfe07be433d2ee50cecd0bb3109f3c6d6dbd4039a117c74d3b2edde2d2",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_cookie_inventory_gap",
            "type": "befund_fix",
            "title": "Cookie-Laufzeiten, Zwecke und Consent-Zustand klären",
            "priority": "mittel",
            "owner": "Marketing/IT/Datenschutz",
            "area": "Cookies & Storage",
            "evidence": "2 Cookie(s) inventarisiert: 2 Tracking-/Werbe-Cookie(s), 0 Drittanbieter-Cookie(s), 1 langlebige Cookie(s), 0 sehr lange Laufzeit(en).",
            "action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "cookie_inventory",
            "sla": "30 Tage",
            "fingerprint": "6abba1453c65e26d73a43751ba5cc6da6bed6a25d6af87d9e8cdb0ef8f371115",
            "duplicate_group_count": 1
        },
        {
            "id": "mapping_cookie__pk_id.1.a4ea",
            "type": "service_mapping",
            "title": "_pk_id.1.a4ea",
            "priority": "mittel",
            "owner": "Marketing/IT/Datenschutz",
            "area": "Tracker- und Service-Mapping",
            "evidence": "cityparkingzuerich.ch",
            "action": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
            "acceptance_criteria": [
                "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
            ],
            "guide_url": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
            "evidence_url": "https://saferpage.de/cookies/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "tracker_mapping",
            "sla": "30 Tage",
            "fingerprint": "e58fc21b197555a0aab2c7d403c7ae42744e274bbb4be27086988e6269b0efd0",
            "duplicate_group_count": 1
        },
        {
            "id": "mapping_cookie__pk_ses.1.a4ea",
            "type": "service_mapping",
            "title": "_pk_ses.1.a4ea",
            "priority": "mittel",
            "owner": "Marketing/IT/Datenschutz",
            "area": "Tracker- und Service-Mapping",
            "evidence": "cityparkingzuerich.ch",
            "action": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
            "acceptance_criteria": [
                "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
            ],
            "guide_url": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
            "evidence_url": "https://saferpage.de/cookies/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "tracker_mapping",
            "sla": "30 Tage",
            "fingerprint": "a92fbb9f2bf99d65965c589ac4222de56e98f72417ee733e5a0701ba90750cc3",
            "duplicate_group_count": 1
        },
        {
            "id": "mapping_vendor_openholidaysapi.org",
            "type": "service_mapping",
            "title": "openholidaysapi.org",
            "priority": "mittel",
            "owner": "Marketing/IT/Datenschutz",
            "area": "Tracker- und Service-Mapping",
            "evidence": "Sonstige",
            "action": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
            "acceptance_criteria": [
                "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
            ],
            "guide_url": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
            "evidence_url": "https://saferpage.de/anbieter/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "tracker_mapping",
            "sla": "30 Tage",
            "fingerprint": "0251ddd8d60e840826d45a6cffb48221a45d0d15d86529a16bbd9bda9a5dabc6",
            "duplicate_group_count": 1
        },
        {
            "id": "mapping_request_openholidaysapi.org",
            "type": "service_mapping",
            "title": "openholidaysapi.org",
            "priority": "mittel",
            "owner": "Marketing/IT/Datenschutz",
            "area": "Tracker- und Service-Mapping",
            "evidence": "other",
            "action": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
            "acceptance_criteria": [
                "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
            ],
            "guide_url": "https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen",
            "evidence_url": "https://saferpage.de/anbieter/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "tracker_mapping",
            "sla": "30 Tage",
            "fingerprint": "4cd69a3311bfc9898f3a4487679de0c87b729d32ed9a6befea40edd0f8400610",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_unknown_vendor_jurisdiction",
            "type": "befund_fix",
            "title": "Anbieter-Jurisdiktion nicht klar ableitbar",
            "priority": "niedrig",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "privacy",
            "evidence": "",
            "action": "Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/drittlandtransfer-und-anbieter-pruefen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "quartalsweise",
            "fingerprint": "1bdf2588d839feaebb258c8968b635c189f14c0e4ff455572eb80c87c126c5d2",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_image_alt_missing",
            "type": "befund_fix",
            "title": "Bilder ohne Alternativtext",
            "priority": "niedrig",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "accessibility",
            "evidence": "",
            "action": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "quartalsweise",
            "fingerprint": "2097cbe784632eb31f2e46dfcf154ca529693584dd73e3ab0cb954940feece3d",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_missing_cross_origin_embedder_policy",
            "type": "befund_fix",
            "title": "Cross-Origin-Embedder-Policy fehlt",
            "priority": "niedrig",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "security_headers",
            "evidence": "",
            "action": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "quartalsweise",
            "fingerprint": "c8d36072d81b63f9103982e29875cec130c514c20f982ffe6c35212cdfa0cee0",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_missing_cross_origin_opener_policy",
            "type": "befund_fix",
            "title": "Cross-Origin-Opener-Policy fehlt",
            "priority": "niedrig",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "security_headers",
            "evidence": "",
            "action": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "quartalsweise",
            "fingerprint": "65a210c101429beda44d9f7dd2dea20bd40109b87783a2562d331f8251ffa332",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_missing_cross_origin_resource_policy",
            "type": "befund_fix",
            "title": "Cross-Origin-Resource-Policy fehlt",
            "priority": "niedrig",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "security_headers",
            "evidence": "",
            "action": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "quartalsweise",
            "fingerprint": "d51f4623a35c3ae334a5dd59a43e462672f815eac1b654d30d0f2e2a74564176",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_privacy_policy_dpo_contact_missing",
            "type": "befund_fix",
            "title": "Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
            "priority": "niedrig",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "privacy",
            "evidence": "",
            "action": "Nennen Sie einen Datenschutzkontakt oder erklären Sie nachvollziehbar, wie Datenschutzanfragen gestellt werden können.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/datenschutzerklaerung-verbessern",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "quartalsweise",
            "fingerprint": "88bcd207d77a8ed519245d85b7625ca38d73110c195008fc051e51dbee92f3da",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_pii_sensitive_link_query",
            "type": "befund_fix",
            "title": "Links mit sensiblen Query-Parametern erkannt",
            "priority": "niedrig",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "privacy",
            "evidence": "",
            "action": "Sensible Parameter aus Links entfernen oder durch serverseitige, kurzlebige Zustände ersetzen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/pii-und-url-datenlecks-vermeiden",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "quartalsweise",
            "fingerprint": "a14482a37090c25a498073f93d7a8aa16beaa0c9dd529fbf3c1e3223ff521292",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_missing_permissions_policy",
            "type": "befund_fix",
            "title": "Permissions-Policy fehlt",
            "priority": "niedrig",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "security_headers",
            "evidence": "",
            "action": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "quartalsweise",
            "fingerprint": "801cc01c5ceeafba6584ae88b9416fcb3428613a45932329f1a56f23c62277b5",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_missing_referrer_policy",
            "type": "befund_fix",
            "title": "Referrer-Policy fehlt",
            "priority": "niedrig",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "security_headers",
            "evidence": "",
            "action": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/security-header-setzen",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "quartalsweise",
            "fingerprint": "7ea210c04d4624f285ff9df75bf59e7fee93391b5416651ff18fd63633410aa7",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_privacy_policy_update_date_missing",
            "type": "befund_fix",
            "title": "Stand der Datenschutzerklärung nicht klar erkennbar",
            "priority": "niedrig",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "privacy",
            "evidence": "",
            "action": "Ergänzen Sie ein gut sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach technischen Änderungen.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/datenschutzerklaerung-verbessern",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "quartalsweise",
            "fingerprint": "03e0f34d535c54ae396d317fd64d8a9ff47d7ed3ebe3ef0704f40f5ac25ca790",
            "duplicate_group_count": 1
        },
        {
            "id": "remediation_too_many_render_blocking_assets",
            "type": "befund_fix",
            "title": "Viele potenziell blockierende Assets",
            "priority": "niedrig",
            "owner": "Website-Betrieb/Datenschutz",
            "area": "performance",
            "evidence": "",
            "action": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.",
            "acceptance_criteria": [
                "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
            ],
            "guide_url": "https://saferpage.de/guides/performance-und-mobile-usability-verbessern",
            "evidence_url": "https://saferpage.de/befunde/cityparkingzuerich.ch",
            "rescan_url": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
            "source": "finding",
            "sla": "quartalsweise",
            "fingerprint": "1cc7bab9b170c330bee3aa0d9ad58aae9824ca337681a8bded8d75c252100d67",
            "duplicate_group_count": 1
        }
    ],
    "tracker_mapping_tasks": [
        {
            "id": "vendor_openholidaysapi.org",
            "label": "openholidaysapi.org",
            "type": "vendor",
            "status": "prüfen",
            "evidence": "Sonstige",
            "action": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
            "guide_slug": "drittanbieter-datenschutz-erklaeren",
            "guide_url": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
            "target_url": "https://saferpage.de/anbieter/cityparkingzuerich.ch"
        },
        {
            "id": "cookie__pk_id.1.a4ea",
            "label": "_pk_id.1.a4ea",
            "type": "cookie_storage",
            "status": "analytics",
            "evidence": "cityparkingzuerich.ch",
            "action": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
            "guide_slug": "cookie-laufzeiten-und-zwecke-pruefen",
            "guide_url": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
            "target_url": "https://saferpage.de/cookies/cityparkingzuerich.ch"
        },
        {
            "id": "cookie__pk_ses.1.a4ea",
            "label": "_pk_ses.1.a4ea",
            "type": "cookie_storage",
            "status": "analytics",
            "evidence": "cityparkingzuerich.ch",
            "action": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
            "guide_slug": "cookie-laufzeiten-und-zwecke-pruefen",
            "guide_url": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
            "target_url": "https://saferpage.de/cookies/cityparkingzuerich.ch"
        },
        {
            "id": "request_openholidaysapi.org",
            "label": "openholidaysapi.org",
            "type": "browser_request",
            "status": "prüfen",
            "evidence": "other",
            "action": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
            "guide_slug": "servicekarte-und-anbieterinventar-aufbauen",
            "guide_url": "https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen",
            "target_url": "https://saferpage.de/anbieter/cityparkingzuerich.ch"
        }
    ],
    "platform_playbooks": [
        {
            "id": "joomla",
            "platform": "Joomla",
            "summary": "Joomla-Templates, Erweiterungen und Cookie-Plugins nach Updates gegen echte Browserkontakte prüfen.",
            "steps": [
                "Joomla Core, Templates und Erweiterungen aktualisieren; veraltete Erweiterungen entfernen.",
                "Template-Overrides und Module nach externen Skripten, Fonts, Maps, Videos, Captchas und Pixeln prüfen.",
                "Cookie-/Consent-Erweiterung so konfigurieren, dass nicht notwendige Dienste erst nach Einwilligung laden.",
                "Security-Header und HTTPS-Weiterleitungen im Hosting/Webserver setzen und Re-Scan ausführen."
            ],
            "acceptance": [
                "Template-/Extension-Änderungen dokumentiert.",
                "Consent-Test zeigt keine vorzeitigen Trackingkontakte.",
                "Fixpfade sind abgearbeitet."
            ],
            "owner": "Webbetrieb/IT/Datenschutz",
            "guide_url": "https://saferpage.de/guides/cms-plugin-patchstand-nachweisen",
            "technology_evidence_url": "https://saferpage.de/technik/cityparkingzuerich.ch/export",
            "rescan_url": "https://saferpage.de/?url=cityparkingzuerich.ch",
            "boundary": "Passiv abgeleitet: SaferPage behauptet nur sichtbare CMS-/Shop-/Deployment-Signale. Betreiber müssen Plattform, Versionen, Plugins, Apps und interne Deployments bestätigen."
        },
        {
            "id": "typo3",
            "platform": "TYPO3",
            "summary": "TYPO3-Core, Extensions, Sitepackage, Fluid-Templates, Consent-Extension und Caches zusammen prüfen.",
            "steps": [
                "TYPO3 Core und Extensions gemäß Wartungsstatus aktualisieren; Composer-/Extension-Lockfile sichern.",
                "Sitepackage und Fluid-Templates nach externen Fonts, Maps, Videos, Analytics und Tag-Manager-Snippets durchsuchen.",
                "Consent-Extension so konfigurieren, dass externe Skripte und Iframes erst nach passender Einwilligung laden.",
                "Security-Header und TLS/HSTS auf Webserver-/Proxy-Ebene testen; TYPO3-Caches nach Änderung leeren."
            ],
            "acceptance": [
                "Extension-Liste und Wartungsstatus dokumentiert.",
                "Pflichtseiten werden im Seiteninventar gefunden.",
                "Consent-Zustände sind im Re-Scan stabil."
            ],
            "owner": "Webbetrieb/IT/Datenschutz",
            "guide_url": "https://saferpage.de/guides/cms-plugin-patchstand-nachweisen",
            "technology_evidence_url": "https://saferpage.de/technik/cityparkingzuerich.ch/export",
            "rescan_url": "https://saferpage.de/?url=cityparkingzuerich.ch",
            "boundary": "Passiv abgeleitet: SaferPage behauptet nur sichtbare CMS-/Shop-/Deployment-Signale. Betreiber müssen Plattform, Versionen, Plugins, Apps und interne Deployments bestätigen."
        }
    ],
    "quality_review_playbook": {
        "summary": "Betreiber-Review-Playbook gegen typische Fehlalarme: Consent-/Paywall-Grenzen, Google-Consent-Anwendbarkeit, Formular-Coverage, Cookie-Kontext und Score-Wording.",
        "rows": [
            {
                "id": "consent_wall_paywall_review",
                "label": "Consent-Wall, Paywall oder Overlay einordnen",
                "review_question": "Hat der automatische Lauf ein Overlay, eine PUR-/Abo-Wall, Geoblocking oder eine Login-Grenze gesehen?",
                "operator_action": "Wenn Overlay, Login, PUR-/Abo-Wall oder Geoblocking Inhalte verdeckt, Befunde zu Impressum, Formularen, Cookies und verstecktem Text manuell prüfen.",
                "acceptance": "Manuelle Prüfung ist mit Screenshot, Pfad, Entscheidung und Re-Scan-Vermerk dokumentiert.",
                "boundary": "Ein verdeckter Footer oder Paywall-Text ist kein automatischer Nachweis für fehlende Betreibertransparenz.",
                "evidence_url": "https://saferpage.de/cityparkingzuerich.ch",
                "guide_url": "https://saferpage.de/methodik",
                "status": "bei Bedarf prüfen"
            },
            {
                "id": "google_consent_applicability_review",
                "label": "Google Consent Mode nur bei Google-Evidenz fordern",
                "review_question": "Wurden GTM, gtag, Analytics, Ads oder eine Google-Tracking-ID wirklich gesehen?",
                "operator_action": "Keinen Google-Consent-Mode-Fix verlangen, solange keine GTM-/Analytics-/Ads-/ID-Evidence vorliegt; bei späterem Einbau erneut scannen.",
                "acceptance": "Top-Fixes enthalten keinen Google-Consent-Fehlalarm ohne Google-Evidence.",
                "boundary": "Diese Bewertung gilt nur für die gespeicherte Scan-Evidence; spätere Tag-Manager-Änderungen brauchen Re-Scan.",
                "evidence_url": "https://saferpage.de/cityparkingzuerich.ch/top-fixes-json",
                "guide_url": "https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden",
                "status": "nicht erforderlich"
            },
            {
                "id": "form_coverage_review",
                "label": "Formular-Coverage gegen Startseiten-Sample abgleichen",
                "review_question": "Gibt es Formulare auf Startseite oder direkt gecrawlten Unterseiten?",
                "operator_action": "Nicht sichtbare, mehrstufige oder Login-Formulare manuell ergänzen, wenn der Kurzcheck keine Formular-Evidence fand.",
                "acceptance": "Formularzweck, Pflichtfelder, Datenschutzhinweis und Consent-/Tracking-Kontext sind pro Formularseite nachvollziehbar.",
                "boundary": "SaferPage sendet keine Formulare ab und kennt keine internen Rechtsgrundlagen oder nachgelagerte Verarbeitung. Die Zählung basiert auf gespeicherter Crawl- und Formular-Evidence.",
                "evidence_url": "https://saferpage.de/abdeckung/cityparkingzuerich.ch/export",
                "guide_url": "https://saferpage.de/guides/formulare-datenschutzkonform-absichern",
                "status": "manuell ergänzen"
            },
            {
                "id": "cookie_context_review",
                "label": "Cookies nach Zweck statt pauschal bewerten",
                "review_question": "Sind Cookies vor Einwilligung technisch notwendig oder Tracking/Marketing?",
                "operator_action": "Cookie-Liste mit Zweck, Anbieter, Laufzeit, Consent-Kategorie und Auslösezeitpunkt pflegen; Funktionscookies von Tracking-Cookies trennen.",
                "acceptance": "Cookie-Erklärung und CMP zeigen dieselben Kategorien; Re-Scan belegt keine ungeklärten Trackingkontakte vor Einwilligung.",
                "boundary": "Load-Balancing, Sicherheit und Consent-Speicherung können notwendig sein; die Einordnung braucht Betreiberkontext.",
                "evidence_url": "https://saferpage.de/cookies/cityparkingzuerich.ch",
                "guide_url": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
                "status": "klassifizieren"
            },
            {
                "id": "score_wording_review",
                "label": "Score und Warntexte als Priorisierung formulieren",
                "review_question": "Wird aus dem automatischen Score ein pauschales Seriositäts- oder Rechtsurteil?",
                "operator_action": "Report-Quality-Smoke, Kurzreport und Management-Text prüfen: harte Aussagen wie zertifiziert, rechtssicher oder grundsätzlich gefährlich vermeiden.",
                "acceptance": "Bericht trennt Beobachtung, Betreibermaßnahme, Grenze und Re-Scan; keine nicht belegten Zertifikats- oder Rechtsclaims.",
                "boundary": "Score ist eine technische Priorisierung und kein abschließendes Urteil über Rechtmäßigkeit, Seriosität oder Sicherheit.",
                "evidence_url": "https://saferpage.de/evidence/report-quality-smoke.json",
                "guide_url": "https://saferpage.de/methodik",
                "status": "immer prüfen"
            },
            {
                "id": "statement_boundary_review",
                "label": "Aussage-Ampel und Claim-Grenzen übernehmen",
                "review_question": "Trennt der Report klar zwischen automatisch belegter Evidence, manueller Betreiberprüfung und Aussagen, die nicht behauptet werden dürfen?",
                "operator_action": "Aussage-Ampel im Report prüfen und in internen Nachweispositionen übernehmen: automatisch belegt, manuell prüfen und nicht behaupten getrennt dokumentieren.",
                "acceptance": "Nachweispositionen, Betreiberfreigabe und Re-Scan-Notiz enthalten keine DSGVO-Freigabe, kein pauschales Seriositätsurteil und keine nicht belegten Sicherheitsclaims.",
                "boundary": "Die Aussage-Ampel ist eine Kommunikations- und Abnahmehilfe; sie ersetzt keine Rechtsberatung, keine Betreiberfreigabe und keine vollständige Prüfung hinter Login, Paywall oder Geoblocking.",
                "evidence_url": "https://saferpage.de/cityparkingzuerich.ch",
                "guide_url": "https://saferpage.de/methodik",
                "status": "immer prüfen"
            }
        ],
        "metrics": {
            "row_count": 6,
            "acceptance_count": 6,
            "boundary_count": 6,
            "evidence_url_count": 6,
            "guide_url_count": 6,
            "privacy_relevant_domain_count": 0,
            "pre_consent_cookie_count": 2,
            "form_count": 0,
            "form_page_count": 0,
            "google_evidence_count": 0
        }
    },
    "evidence_first_boundary": {
        "available": true,
        "summary": "Fixpfade trennen Scan-Evidence, Betreiberkontext und Nicht-behaupten-Grenzen, bevor Betreiber Nachweispositionen prüfen oder externe Aussagen ableiten.",
        "measured_evidence": [
            {
                "id": "report_scan_facts",
                "label": "Gespeicherter Kurzreport",
                "evidence": "Scan-ID, Zeitpunkt, Score, Befunde, Screenshot, HTTP/TLS/Header und direkte Test-URLs.",
                "url": "https://saferpage.de/cityparkingzuerich.ch"
            },
            {
                "id": "crawl_form_coverage",
                "label": "Formular-Coverage",
                "evidence": "Keine Formular-Evidence im gespeicherten passiven Kurzcheck.",
                "url": "https://saferpage.de/abdeckung/cityparkingzuerich.ch/export"
            },
            {
                "id": "browser_contacts",
                "label": "Browserkontakte und Cookies",
                "evidence": "53 Request(s), 1 Drittanbieter-Domain(s), 2 Cookie(s) vor Einwilligung.",
                "url": "https://saferpage.de/cookies/cityparkingzuerich.ch"
            },
            {
                "id": "google_applicability",
                "label": "Google-Consent-Anwendbarkeit",
                "evidence": "Keine GTM-/Analytics-/Ads-/ID-Evidence im gespeicherten Lauf; kein Google-Consent-Mode-Fix ohne neue Evidence.",
                "url": "https://saferpage.de/cityparkingzuerich.ch/top-fixes-json"
            }
        ],
        "operator_context_not_scanned": [
            "Rechtsgrundlagen, Zwecke, Pflichtfelder, Löschfristen und Empfänger je Formular.",
            "Interne Systeme, CRM-/Support-Flüsse, Login-, Checkout-, Paywall- und nachgelagerte Verarbeitung.",
            "AVV/DPA, TOMs, Transfer Impact Assessments, Anbieterakten und interne Freigaben.",
            "Spätere CMP-, Tag-Manager-, Release- oder Content-Änderungen nach dem gespeicherten Scan."
        ],
        "do_not_claim": [
            "Keine DSGVO-Konformität, Rechtsfreigabe oder Zertifizierung behaupten.",
            "Keinen Google-Consent-Mode-Fehler behaupten, wenn keine Google-Tag-Evidence vorliegt.",
            "Keine fehlende Betreibertransparenz als Tatsache behaupten, wenn Consent-Wall, Paywall, Login oder Geoblocking den Scan begrenzen.",
            "Keine Formularübermittlung, Zahlungsprüfung oder Backend-Validierung behaupten; SaferPage sendet keine Formulare ab."
        ],
        "metrics": {
            "measured_evidence_count": 4,
            "operator_context_count": 4,
            "do_not_claim_count": 4,
            "form_count": 0,
            "form_page_count": 0,
            "google_consent_required": 0,
            "scan_limit_present": 0
        },
        "claim_boundary": "Diese Betreiberseite ist ein Fixpfad- und Review-Index. Konkrete Findings bleiben an Scan-Evidence gebunden; allgemeine Betreiberaufgaben sind Kontext und müssen fachlich freigegeben werden.",
        "guide_url": "https://saferpage.de/guides/betreiber-datenschutz-checkliste",
        "report_quality_url": "https://saferpage.de/evidence/report-quality-smoke.json"
    },
    "phases": [
        {
            "id": "triage",
            "label": "Triage",
            "timebox": "0-48 Stunden",
            "action": "Hoch priorisierte Befunde reproduzieren, Verantwortlichkeit bestätigen, Exportpaket sichern."
        },
        {
            "id": "fix",
            "label": "Fix umsetzen",
            "timebox": "0-14 Tage",
            "action": "Consent-, Anbieter-, Notice-, Cookie-, Formular- oder Header-Änderungen umsetzen und versionieren."
        },
        {
            "id": "content",
            "label": "Nutzertexte synchronisieren",
            "timebox": "parallel",
            "action": "Datenschutzhinweis, Cookie-Erklärung, Anbieterregister und TrustHub an reale Technik anpassen."
        },
        {
            "id": "rescan",
            "label": "Re-Scan und Freigabe",
            "timebox": "nach Deployment",
            "action": "Erstaufruf, Ablehnen, Akzeptieren, GPC, Mobilansicht und priorisierte Unterseiten erneut prüfen."
        }
    ],
    "links": {
        "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch",
        "json": "https://saferpage.de/fix-guides/cityparkingzuerich.ch/export",
        "csv": "https://saferpage.de/fix-guides/cityparkingzuerich.ch/export-csv",
        "markdown": "https://saferpage.de/fix-guides/cityparkingzuerich.ch/playbook-md",
        "tickets_html": "https://saferpage.de/fix-guides/cityparkingzuerich.ch/tickets",
        "tickets_json": "https://saferpage.de/fix-guides/cityparkingzuerich.ch/tickets-json",
        "tickets_csv": "https://saferpage.de/fix-guides/cityparkingzuerich.ch/tickets-csv",
        "tickets_markdown": "https://saferpage.de/fix-guides/cityparkingzuerich.ch/tickets-md",
        "tickets_delivery_json": "https://saferpage.de/fix-guides/cityparkingzuerich.ch/tickets-delivery-json",
        "tickets_delivery_csv": "https://saferpage.de/fix-guides/cityparkingzuerich.ch/tickets-delivery-csv",
        "findings": "https://saferpage.de/befunde/cityparkingzuerich.ch",
        "operator_board": "https://saferpage.de/betreiber/cityparkingzuerich.ch",
        "privacy_hub": "https://saferpage.de/datenschutz-hub/cityparkingzuerich.ch",
        "scan_operations": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
        "guides_index": "https://saferpage.de/guides",
        "report": "https://saferpage.de/cityparkingzuerich.ch"
    },
    "competitor_references": [
        {
            "title": "Cookiebot Scan Report",
            "url": "https://support.cookiebot.com/hc/en-us/articles/5007079527580-Understanding-the-scan-report",
            "note": "Scanreports verbinden Cookie-/Prior-Consent-Befunde mit Betreiberaktionen."
        },
        {
            "title": "Usercentrics Handling Trackers",
            "url": "https://support.usercentrics.com/hc/en-us/articles/18579668393372-Handling-trackers",
            "note": "Tracker-Ergebnisse werden gemappt, blockiert oder bewusst manuell verwaltet."
        },
        {
            "title": "Osano Compliance Check",
            "url": "https://www.osano.com/features/compliance-check",
            "note": "Compliance Checks priorisieren Lücken und geben Hinweise zur schnellen Behebung."
        }
    ],
    "disclaimer": "Automatisch aus SaferPage-Scan-Evidenz und Hintergrundseiten abgeleitet. Betreiber müssen Umsetzung, Rechtsgrundlagen, interne Systeme und Re-Scan-Nachweise fachlich freigeben."
}
