{
    "schema": "https://saferpage.de/schemas/operator-action-plan.v1",
    "generated_at": "2026-06-08T21:17:30+00:00",
    "domain": "ed.spiegel.de",
    "scan": {
        "id": "d964092c-b6b0-429d-8f6b-bd47611ebf40",
        "checked_at": "2026-06-07 09:14:20.609434+02"
    },
    "summary": "ed.spiegel.de Betreiber-Board: 8 Ticket(s), 5 sofort, 5 priorisierte Guide(s). Nach jeder Umsetzung erneut scannen.",
    "status": "sofort handeln",
    "score": 28,
    "metrics": {
        "ticket_count": 8,
        "open_count": 8,
        "urgent_count": 5,
        "guide_count": 5,
        "team_count": 3,
        "scan_score": 4,
        "target_score": 40,
        "gap_to_target": 36
    },
    "links": {
        "report": "https://saferpage.de/ed.spiegel.de",
        "operator_board": "https://saferpage.de/betreiber/ed.spiegel.de",
        "domain_verification": "https://saferpage.de/betreiber/ed.spiegel.de/verifizierung",
        "release_gate": "https://saferpage.de/release-gate/ed.spiegel.de",
        "audit_response": "https://saferpage.de/audit-response/ed.spiegel.de",
        "trust_data_room": "https://saferpage.de/datenraum/ed.spiegel.de",
        "json": "https://saferpage.de/betreiber/ed.spiegel.de/massnahmen",
        "csv": "https://saferpage.de/betreiber/ed.spiegel.de/massnahmen-csv",
        "tickets_markdown": "https://saferpage.de/betreiber/ed.spiegel.de/tickets",
        "consent_evidence": "https://saferpage.de/consent/ed.spiegel.de/nachweise",
        "vendor_service_cards": "https://saferpage.de/anbieter/ed.spiegel.de/servicekarten",
        "trust_center": "https://saferpage.de/trust/ed.spiegel.de",
        "guides": "https://saferpage.de/guides",
        "rescan": "https://saferpage.de/"
    },
    "tickets": [
        {
            "ticket_id": "SP-001",
            "title": "Seiten-URL wird in Drittanbieter-Requests übertragen",
            "area": "URL-Datenabfluss",
            "owner": "Website-Betrieb",
            "team": "Developer/Ops",
            "priority": "hoch",
            "priority_score": 82,
            "sla": "innerhalb von 7 Tagen",
            "status": "sofort_starten",
            "next_step": "Tracking-Requests dürfen die aktuelle Seiten-URL nicht unnötig als Parameter übertragen.",
            "acceptance_criterion": "Re-Scan zeigt keine nicht erforderlichen Cookies, Tags oder Trackingkontakte vor Einwilligung oder nach Ablehnung.",
            "evidence": "",
            "guide_url": "/guides/referrer-und-url-leaks-vermeiden"
        },
        {
            "ticket_id": "SP-002",
            "title": "Google Consent Mode Default nicht erkannt",
            "area": "DSGVO/Google-Dienste",
            "owner": "Datenschutz/Marketing",
            "team": "GTM/CMP",
            "priority": "hoch",
            "priority_score": 78,
            "sla": "innerhalb von 7 Tagen",
            "status": "sofort_starten",
            "next_step": "Google-Tags brauchen vor dem ersten Tag klare Consent-Defaults.",
            "acceptance_criterion": "Re-Scan zeigt keine nicht erforderlichen Cookies, Tags oder Trackingkontakte vor Einwilligung oder nach Ablehnung.",
            "evidence": "",
            "guide_url": "/guides/google-dienste-datenschutzfreundlich-einbinden"
        },
        {
            "ticket_id": "SP-003",
            "title": "Kein sichtbarer Ablehnen-Button im Banner",
            "area": "TDDDG/ePrivacy",
            "owner": "Datenschutz/Marketing",
            "team": "GTM/CMP",
            "priority": "hoch",
            "priority_score": 78,
            "sla": "innerhalb von 7 Tagen",
            "status": "sofort_starten",
            "next_step": "Ablehnen muss in der Browseransicht gleichwertig erreichbar sein.",
            "acceptance_criterion": "Befund ist im Wiederholungsscan behoben oder fachlich dokumentiert begründet.",
            "evidence": "",
            "guide_url": "/guides/tracking-und-consent-reparieren"
        },
        {
            "ticket_id": "SP-004",
            "title": "Cookie-Hinweis ohne klare Ablehnen-Option",
            "area": "TDDDG/ePrivacy",
            "owner": "Datenschutz/Marketing",
            "team": "GTM/CMP",
            "priority": "hoch",
            "priority_score": 78,
            "sla": "innerhalb von 7 Tagen",
            "status": "sofort_starten",
            "next_step": "Ablehnen muss gleichwertig erreichbar sein.",
            "acceptance_criterion": "Re-Scan zeigt keine nicht erforderlichen Cookies, Tags oder Trackingkontakte vor Einwilligung oder nach Ablehnung.",
            "evidence": "",
            "guide_url": "/guides/tracking-und-consent-reparieren"
        },
        {
            "ticket_id": "SP-005",
            "title": "Consent wirkt wie Nur-Akzeptieren",
            "area": "TDDDG/ePrivacy",
            "owner": "Datenschutz/Marketing",
            "team": "GTM/CMP",
            "priority": "hoch",
            "priority_score": 78,
            "sla": "innerhalb von 7 Tagen",
            "status": "sofort_starten",
            "next_step": "Consent darf nicht wie reine Akzeptieren-Abfrage wirken.",
            "acceptance_criterion": "Re-Scan zeigt keine nicht erforderlichen Cookies, Tags oder Trackingkontakte vor Einwilligung oder nach Ablehnung.",
            "evidence": "",
            "guide_url": "/guides/tracking-und-consent-reparieren"
        },
        {
            "ticket_id": "SP-006",
            "title": "Bilder ohne Alternativtext",
            "area": "Barrierefreiheit/Usability",
            "owner": "UX/Content",
            "team": "Content/UX",
            "priority": "mittel",
            "priority_score": 61,
            "sla": "innerhalb von 30 Tagen",
            "status": "einplanen",
            "next_step": "Bilder brauchen verständliche Alternativtexte oder dekorative Kennzeichnung.",
            "acceptance_criterion": "Befund ist im Wiederholungsscan behoben oder fachlich dokumentiert begründet.",
            "evidence": "",
            "guide_url": "/guides/barrierefreiheit-cookie-banner-formulare"
        },
        {
            "ticket_id": "SP-007",
            "title": "CSP ohne object-src",
            "area": "BSI/Security-Header",
            "owner": "Technik",
            "team": "Developer/Ops",
            "priority": "mittel",
            "priority_score": 53,
            "sla": "innerhalb von 30 Tagen",
            "status": "einplanen",
            "next_step": "object-src 'none' setzen.",
            "acceptance_criterion": "Security-/TLS-Befund ist im Wiederholungsscan behoben oder fachlich dokumentiert begründet.",
            "evidence": "",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "ticket_id": "SP-008",
            "title": "CSP ohne base-uri",
            "area": "BSI/Security-Header",
            "owner": "Technik",
            "team": "Developer/Ops",
            "priority": "mittel",
            "priority_score": 53,
            "sla": "innerhalb von 30 Tagen",
            "status": "einplanen",
            "next_step": "base-uri 'self' oder 'none' setzen.",
            "acceptance_criterion": "Security-/TLS-Befund ist im Wiederholungsscan behoben oder fachlich dokumentiert begründet.",
            "evidence": "",
            "guide_url": "/guides/security-header-setzen"
        }
    ],
    "tasks": [
        {
            "id": "",
            "title": "Seiten-URL wird in Drittanbieter-Requests übertragen",
            "area": "URL-Datenabfluss",
            "priority": "hoch",
            "priority_score": 82,
            "owner": "Website-Betrieb",
            "team_route": "Developer/Ops",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel",
            "status": "offen",
            "action": "Tracking-Requests dürfen die aktuelle Seiten-URL nicht unnötig als Parameter übertragen.",
            "evidence": "",
            "guide_url": "/guides/referrer-und-url-leaks-vermeiden"
        },
        {
            "id": "",
            "title": "Google Consent Mode Default nicht erkannt",
            "area": "DSGVO/Google-Dienste",
            "priority": "hoch",
            "priority_score": 78,
            "owner": "Datenschutz/Marketing",
            "team_route": "GTM/CMP",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel bis hoch",
            "status": "offen",
            "action": "Google-Tags brauchen vor dem ersten Tag klare Consent-Defaults.",
            "evidence": "",
            "guide_url": "/guides/google-dienste-datenschutzfreundlich-einbinden"
        },
        {
            "id": "",
            "title": "Kein sichtbarer Ablehnen-Button im Banner",
            "area": "TDDDG/ePrivacy",
            "priority": "hoch",
            "priority_score": 78,
            "owner": "Datenschutz/Marketing",
            "team_route": "GTM/CMP",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel bis hoch",
            "status": "offen",
            "action": "Ablehnen muss in der Browseransicht gleichwertig erreichbar sein.",
            "evidence": "",
            "guide_url": "/guides/tracking-und-consent-reparieren"
        },
        {
            "id": "",
            "title": "Cookie-Hinweis ohne klare Ablehnen-Option",
            "area": "TDDDG/ePrivacy",
            "priority": "hoch",
            "priority_score": 78,
            "owner": "Datenschutz/Marketing",
            "team_route": "GTM/CMP",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel bis hoch",
            "status": "offen",
            "action": "Ablehnen muss gleichwertig erreichbar sein.",
            "evidence": "",
            "guide_url": "/guides/tracking-und-consent-reparieren"
        },
        {
            "id": "",
            "title": "Consent wirkt wie Nur-Akzeptieren",
            "area": "TDDDG/ePrivacy",
            "priority": "hoch",
            "priority_score": 78,
            "owner": "Datenschutz/Marketing",
            "team_route": "GTM/CMP",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel bis hoch",
            "status": "offen",
            "action": "Consent darf nicht wie reine Akzeptieren-Abfrage wirken.",
            "evidence": "",
            "guide_url": "/guides/tracking-und-consent-reparieren"
        },
        {
            "id": "",
            "title": "Bilder ohne Alternativtext",
            "area": "Barrierefreiheit/Usability",
            "priority": "mittel",
            "priority_score": 61,
            "owner": "UX/Content",
            "team_route": "Content/UX",
            "deadline": "innerhalb von 30 Tagen",
            "effort": "niedrig",
            "status": "offen",
            "action": "Bilder brauchen verständliche Alternativtexte oder dekorative Kennzeichnung.",
            "evidence": "",
            "guide_url": "/guides/barrierefreiheit-cookie-banner-formulare"
        },
        {
            "id": "",
            "title": "CSP ohne object-src",
            "area": "BSI/Security-Header",
            "priority": "mittel",
            "priority_score": 53,
            "owner": "Technik",
            "team_route": "Developer/Ops",
            "deadline": "innerhalb von 30 Tagen",
            "effort": "mittel",
            "status": "offen",
            "action": "object-src 'none' setzen.",
            "evidence": "",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "id": "",
            "title": "CSP ohne base-uri",
            "area": "BSI/Security-Header",
            "priority": "mittel",
            "priority_score": 53,
            "owner": "Technik",
            "team_route": "Developer/Ops",
            "deadline": "innerhalb von 30 Tagen",
            "effort": "mittel",
            "status": "offen",
            "action": "base-uri 'self' oder 'none' setzen.",
            "evidence": "",
            "guide_url": "/guides/security-header-setzen"
        }
    ],
    "guide_playbook": [
        {
            "slug": "referrer-und-url-leaks-vermeiden",
            "title": "Referrer- und URL-Leaks vermeiden",
            "guide_url": "/guides/referrer-und-url-leaks-vermeiden",
            "area": "Referrer & URL Hygiene",
            "owner": "Webentwicklung/IT",
            "effort": "klein",
            "retest": "Referrer-Header und Query-Parameter in Request-Samples kontrollieren.",
            "evidence_required": "Referrer-Policy, Tag-Konfiguration, URL-Parameter-Regel.",
            "affected_count": 2,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 82,
            "status": "sofort",
            "sample_findings": [
                {
                    "title": "Seiten-URL wird in Drittanbieter-Requests übertragen",
                    "detail": "Tracking-Requests dürfen die aktuelle Seiten-URL nicht unnötig als Parameter übertragen."
                },
                {
                    "title": "Seiten-URL wird in Drittanbieter-Requests übertragen",
                    "detail": "Tracking-Requests dürfen die aktuelle Seiten-URL nicht unnötig als Parameter übertragen."
                }
            ]
        },
        {
            "slug": "google-dienste-datenschutzfreundlich-einbinden",
            "title": "Google-Dienste datenschutzfreundlich einbinden",
            "guide_url": "/guides/google-dienste-datenschutzfreundlich-einbinden",
            "area": "Google-Dienste",
            "owner": "Marketing/IT",
            "effort": "mittel",
            "retest": "Google-Requests vor und nach Consent vergleichen.",
            "evidence_required": "Consent-Mode-Defaults, Tag-Manager-Regeln, Anbieterzwecke.",
            "affected_count": 2,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 78,
            "status": "sprint",
            "sample_findings": [
                {
                    "title": "Google Consent Mode Default nicht erkannt",
                    "detail": "Google-Tags brauchen vor dem ersten Tag klare Consent-Defaults."
                },
                {
                    "title": "Google Consent Mode Default nicht erkannt",
                    "detail": "Google-Tags brauchen vor dem ersten Tag klare Consent-Defaults."
                }
            ]
        },
        {
            "slug": "tracking-und-consent-reparieren",
            "title": "Tracking und Consent reparieren",
            "guide_url": "/guides/tracking-und-consent-reparieren",
            "area": "Consent & Tracking",
            "owner": "Marketing/IT/Datenschutz",
            "effort": "mittel",
            "retest": "Erstaufruf, Ablehnen, Akzeptieren und GPC getrennt scannen.",
            "evidence_required": "Consent-Screenshot, Cookie-Tabelle, Request-Liste, CMP-Konfiguration.",
            "affected_count": 6,
            "task_count": 3,
            "ticket_count": 3,
            "priority_score": 78,
            "status": "sprint",
            "sample_findings": [
                {
                    "title": "Kein sichtbarer Ablehnen-Button im Banner",
                    "detail": "Ablehnen muss in der Browseransicht gleichwertig erreichbar sein."
                },
                {
                    "title": "Cookie-Hinweis ohne klare Ablehnen-Option",
                    "detail": "Ablehnen muss gleichwertig erreichbar sein."
                },
                {
                    "title": "Consent wirkt wie Nur-Akzeptieren",
                    "detail": "Consent darf nicht wie reine Akzeptieren-Abfrage wirken."
                }
            ]
        },
        {
            "slug": "barrierefreiheit-cookie-banner-formulare",
            "title": "Barrierefreiheit bei Bannern und Formularen prüfen",
            "guide_url": "/guides/barrierefreiheit-cookie-banner-formulare",
            "area": "Usability & BITV",
            "owner": "UX/Content/IT",
            "effort": "mittel",
            "retest": "Tastatur, Screenreader, Kontrast und Mobilansicht manuell prüfen.",
            "evidence_required": "Testprotokoll, Screenshots, bekannte Einschränkungen.",
            "affected_count": 2,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 61,
            "status": "sprint",
            "sample_findings": [
                {
                    "title": "Bilder ohne Alternativtext",
                    "detail": "Bilder brauchen verständliche Alternativtexte oder dekorative Kennzeichnung."
                },
                {
                    "title": "Bilder ohne Alternativtext",
                    "detail": "Bilder brauchen verständliche Alternativtexte oder dekorative Kennzeichnung."
                }
            ]
        },
        {
            "slug": "security-header-setzen",
            "title": "Security-Header setzen",
            "guide_url": "/guides/security-header-setzen",
            "area": "Web Security",
            "owner": "IT/Security",
            "effort": "mittel",
            "retest": "Header, TLS, CSP und Referrer-Policy nach Deployment erneut scannen.",
            "evidence_required": "Nginx/Apache/CDN-Konfiguration, Header-Export, Rollback-Plan.",
            "affected_count": 4,
            "task_count": 2,
            "ticket_count": 2,
            "priority_score": 53,
            "status": "einplanen",
            "sample_findings": [
                {
                    "title": "CSP ohne object-src",
                    "detail": "object-src 'none' setzen."
                },
                {
                    "title": "CSP ohne base-uri",
                    "detail": "base-uri 'self' oder 'none' setzen."
                },
                {
                    "title": "CSP ohne object-src",
                    "detail": "object-src 'none' setzen."
                }
            ]
        }
    ],
    "team_routing": {
        "GTM/CMP": 4,
        "Developer/Ops": 3,
        "Content/UX": 1
    },
    "retest_workflow": {
        "capture": "Scan-ID, Screenshot, Cookie-/Request-Zeilen und betroffene Guide-Links sichern.",
        "implementation": "Konfigurationsdiff, CMS-/Tag-Manager-Änderung, Anbieterfreigabe oder Textversion dokumentieren.",
        "rescan": "Domain erneut prüfen und Ticket nur schließen, wenn SaferPage-Befund behoben oder begründet ist.",
        "archive": "JSON/CSV/XLSX oder ZIP-Nachweispaket im Trust Center ablegen und intern freigeben."
    },
    "disclaimer": "Automatisch aus SaferPage-Evidenz abgeleiteter Betreiber-Arbeitsplan. Umsetzung, interne Verantwortlichkeiten und rechtliche Freigabe liegen beim Website-Betreiber."
}