{
    "schema": "https://saferpage.de/schemas/operator-action-plan.v1",
    "generated_at": "2026-06-13T17:21:18+00:00",
    "domain": "aktion-sauberehaende.de",
    "scan": {
        "id": "8657879c-1cba-4f36-be49-54a3885a9ca1",
        "checked_at": "2026-06-13 00:42:25.681064+02"
    },
    "summary": "aktion-sauberehaende.de Betreiber-Board: 6 Ticket(s), 1 sofort, 8 priorisierte Guide(s). Nach jeder Umsetzung erneut scannen; bei hoher Priorität innerhalb von 7 Tagen.",
    "status": "sofort handeln",
    "score": 68,
    "metrics": {
        "ticket_count": 6,
        "open_count": 6,
        "urgent_count": 1,
        "guide_count": 8,
        "team_count": 2,
        "scan_score": 0,
        "target_score": 40,
        "gap_to_target": 40
    },
    "links": {
        "report": "https://saferpage.de/aktion-sauberehaende.de",
        "operator_board": "https://saferpage.de/betreiber/aktion-sauberehaende.de",
        "domain_verification": "https://saferpage.de/betreiber/aktion-sauberehaende.de/verifizierung",
        "release_gate": "https://saferpage.de/release-gate/aktion-sauberehaende.de",
        "audit_response": "https://saferpage.de/audit-response/aktion-sauberehaende.de",
        "trust_data_room": "https://saferpage.de/datenraum/aktion-sauberehaende.de",
        "json": "https://saferpage.de/betreiber/aktion-sauberehaende.de/massnahmen",
        "csv": "https://saferpage.de/betreiber/aktion-sauberehaende.de/massnahmen-csv",
        "tickets_markdown": "https://saferpage.de/betreiber/aktion-sauberehaende.de/tickets",
        "consent_evidence": "https://saferpage.de/consent/aktion-sauberehaende.de/nachweise",
        "vendor_service_cards": "https://saferpage.de/anbieter/aktion-sauberehaende.de/servicekarten",
        "trust_center": "https://saferpage.de/trust/aktion-sauberehaende.de",
        "guides": "https://saferpage.de/guides",
        "rescan": "https://saferpage.de/"
    },
    "tickets": [
        {
            "ticket_id": "SP-001",
            "title": "CVE-2025-23419: SSL session reuse vulnerability",
            "area": "BSI/Patchmanagement",
            "owner": "Technik",
            "team": "Developer/Ops",
            "priority": "hoch",
            "priority_score": 82,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Betroffene Software aktualisieren oder kompensierend absichern.",
            "acceptance_criterion": "Befund ist im Wiederholungsscan behoben oder fachlich dokumentiert begründet.",
            "evidence": "Betroffene Software aktualisieren oder kompensierend absichern.",
            "guide_url": "/guides/sichtbare-versionen-und-cves-beheben"
        },
        {
            "ticket_id": "SP-002",
            "title": "Sicherheit, TLS & Header",
            "area": "Sicherheit, TLS & Header",
            "owner": "Technik",
            "team": "Developer/Ops",
            "priority": "mittel",
            "priority_score": 53,
            "sla": "30_tage",
            "status": "einplanen",
            "next_step": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
            "acceptance_criterion": "Security-Header/TLS-Check ist im Wiederholungsscan ohne kritischen Befund.",
            "evidence": "2 Infrastruktur-Hinweis(e), Security-Header: 4/9 vorhanden, 5 fehlen, externe Skript-Hosts: 0.",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "ticket_id": "SP-003",
            "title": "Barrierefreiheit & Usability",
            "area": "Barrierefreiheit & Usability",
            "owner": "UX/Content",
            "team": "Content/UX",
            "priority": "niedrig",
            "priority_score": 32,
            "sla": "Backlog",
            "status": "backlog",
            "next_step": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.",
            "acceptance_criterion": "Betroffener UI-Bereich ist per Tastatur bedienbar und automatisierter Accessibility-Check verbessert.",
            "evidence": "8 Bild(er) ohne alt, 0 Formularfeld(er) ohne Beschriftung, 0 Button(s) ohne Namen.",
            "guide_url": "/guides/barrierefreiheit-cookie-banner-formulare"
        },
        {
            "ticket_id": "SP-004",
            "title": "Browser-Nachweis",
            "area": "Browser-Nachweis",
            "owner": "Website-Betrieb",
            "team": "Developer/Ops",
            "priority": "niedrig",
            "priority_score": 32,
            "sla": "Backlog",
            "status": "backlog",
            "next_step": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.",
            "acceptance_criterion": "Wiederholungsscan zeigt keine nicht erforderlichen Cookies/Tags vor Einwilligung oder nach Ablehnung.",
            "evidence": "33 Request(s), 0 Drittanbieter-Domain(s), davon 0 datenschutzrelevant, 0 Browser-Cookie(s), Transfer-Prüfbedarf: 0, Referrer-/URL-Leaks: 0, Fingerprinting-/Replay-Hinweise: 1.",
            "guide_url": "/guides/drittanbieter-datenschutz-erklaeren"
        },
        {
            "ticket_id": "SP-005",
            "title": "Formulare, Login & Zahlung",
            "area": "Formulare, Login & Zahlung",
            "owner": "Website-Betrieb",
            "team": "Developer/Ops",
            "priority": "niedrig",
            "priority_score": 32,
            "sla": "Backlog",
            "status": "backlog",
            "next_step": "Bei Formularen Zweck, Pflichtfelder, Datenschutzkontext, HTTPS und Zahlungsanbieter klar machen.",
            "acceptance_criterion": "Drittanbieter ist dokumentiert, rechtlich bewertet und im Scan als erwarteter Dienst nachvollziehbar.",
            "evidence": "Crawl fand 1 Formular(e) auf 1 geprüften Seite(n), u. a. /impressum. Zweck, Pflichtfelder und Datenschutzkontext je Formular prüfen.",
            "guide_url": "/guides/formulare-datenschutzkonform-absichern"
        },
        {
            "ticket_id": "SP-006",
            "title": "SEO-Integrität & Cloaking",
            "area": "SEO-Integrität & Cloaking",
            "owner": "Website-Betrieb",
            "team": "Content/UX",
            "priority": "niedrig",
            "priority_score": 32,
            "sla": "Backlog",
            "status": "backlog",
            "next_step": "Versteckte Inhalte, Canonical-Missbrauch und Googlebot-Abweichungen entfernen.",
            "acceptance_criterion": "Befund ist im Wiederholungsscan behoben oder fachlich dokumentiert begründet.",
            "evidence": "1 SEO-Spam-Hinweis(e), 0 Cloaking-Hinweis(e).",
            "guide_url": "/guides/seo-spam-und-cloaking-bereinigen"
        }
    ],
    "tasks": [
        {
            "id": "",
            "title": "CVE-2025-23419: SSL session reuse vulnerability",
            "area": "BSI/Patchmanagement",
            "priority": "hoch",
            "priority_score": 82,
            "owner": "Technik",
            "team_route": "Developer/Ops",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "mittel",
            "status": "offen",
            "action": "Betroffene Software aktualisieren oder kompensierend absichern.",
            "evidence": "",
            "guide_url": "/guides/sichtbare-versionen-und-cves-beheben"
        },
        {
            "id": "",
            "title": "Sicherheit, TLS & Header",
            "area": "Sicherheit, TLS & Header",
            "priority": "mittel",
            "priority_score": 53,
            "owner": "Technik",
            "team_route": "Developer/Ops",
            "deadline": "innerhalb von 30 Tagen",
            "effort": "mittel",
            "status": "offen",
            "action": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
            "evidence": "",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "id": "",
            "title": "Barrierefreiheit & Usability",
            "area": "Barrierefreiheit & Usability",
            "priority": "niedrig",
            "priority_score": 32,
            "owner": "UX/Content",
            "team_route": "Content/UX",
            "deadline": "Backlog",
            "effort": "niedrig",
            "status": "offen",
            "action": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.",
            "evidence": "",
            "guide_url": "/guides/barrierefreiheit-cookie-banner-formulare"
        },
        {
            "id": "",
            "title": "Browser-Nachweis",
            "area": "Browser-Nachweis",
            "priority": "niedrig",
            "priority_score": 32,
            "owner": "Website-Betrieb",
            "team_route": "Developer/Ops",
            "deadline": "Backlog",
            "effort": "niedrig",
            "status": "offen",
            "action": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.",
            "evidence": "",
            "guide_url": "/guides/drittanbieter-datenschutz-erklaeren"
        },
        {
            "id": "",
            "title": "Formulare, Login & Zahlung",
            "area": "Formulare, Login & Zahlung",
            "priority": "niedrig",
            "priority_score": 32,
            "owner": "Website-Betrieb",
            "team_route": "Developer/Ops",
            "deadline": "Backlog",
            "effort": "niedrig",
            "status": "offen",
            "action": "Bei Formularen Zweck, Pflichtfelder, Datenschutzkontext, HTTPS und Zahlungsanbieter klar machen.",
            "evidence": "",
            "guide_url": "/guides/formulare-datenschutzkonform-absichern"
        },
        {
            "id": "",
            "title": "SEO-Integrität & Cloaking",
            "area": "SEO-Integrität & Cloaking",
            "priority": "niedrig",
            "priority_score": 32,
            "owner": "Website-Betrieb",
            "team_route": "Content/UX",
            "deadline": "Backlog",
            "effort": "niedrig",
            "status": "offen",
            "action": "Versteckte Inhalte, Canonical-Missbrauch und Googlebot-Abweichungen entfernen.",
            "evidence": "",
            "guide_url": "/guides/seo-spam-und-cloaking-bereinigen"
        }
    ],
    "guide_playbook": [
        {
            "slug": "sichtbare-versionen-und-cves-beheben",
            "title": "Sichtbare Versionen Und Cves Beheben",
            "guide_url": "/guides/sichtbare-versionen-und-cves-beheben",
            "area": "Vulnerability Hygiene",
            "owner": "IT/Security",
            "effort": "mittel",
            "retest": "Generator-, Header- und Bibliothekssignale erneut prüfen.",
            "evidence_required": "Patchstand, Herstellerhinweis, CVE-Bewertung, Backport-Nachweis.",
            "affected_count": 18,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "known_vulnerability_advisory",
                    "title": "CVE-2025-23419: SSL session reuse vulnerability",
                    "detail": "nginx-Version gegen die offizielle Advisory pruefen und auf 1.27.4+, 1.26.3+ oder neuer aktualisieren.",
                    "source": "finding"
                },
                {
                    "id": "known_vulnerability_advisory",
                    "title": "CVE-2026-1642: SSL upstream injection",
                    "detail": "nginx-Version gegen die offizielle Advisory pruefen und auf 1.29.5+, 1.28.2+ oder neuer aktualisieren.",
                    "source": "finding"
                },
                {
                    "id": "known_vulnerability_advisory",
                    "title": "CVE-2026-27654: Buffer overflow in ngx_http_dav_module",
                    "detail": "nginx-Version gegen die offizielle Advisory pruefen und auf 1.29.7+, 1.28.3+ oder neuer aktualisieren.",
                    "source": "finding"
                },
                {
                    "id": "known_vulnerability_advisory",
                    "title": "CVE-2026-27784: Buffer overflow in the ngx_http_mp4_module",
                    "detail": "nginx-Version gegen die offizielle Advisory pruefen und auf 1.29.7+, 1.28.3+ oder neuer aktualisieren.",
                    "source": "finding"
                },
                {
                    "id": "known_vulnerability_advisory",
                    "title": "CVE-2026-28753: Injection in auth_http and XCLIENT",
                    "detail": "nginx-Version gegen die offizielle Advisory pruefen und auf 1.29.7+, 1.28.3+ oder neuer aktualisieren.",
                    "source": "finding"
                }
            ]
        },
        {
            "slug": "seo-spam-und-cloaking-bereinigen",
            "title": "Seo Spam Und Cloaking Bereinigen",
            "guide_url": "/guides/seo-spam-und-cloaking-bereinigen",
            "area": "Trust & Content Integrity",
            "owner": "Webbetrieb/SEO/Security",
            "effort": "hoch",
            "retest": "Normaler Browser, SaferPage-Crawler und Suchmaschinenansicht vergleichen.",
            "evidence_required": "Bereinigter Code, Malware-/Plugin-Prüfung, Search-Console-Status.",
            "affected_count": 4,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "external_canonical",
                    "title": "Canonical zeigt auf fremde Domain",
                    "detail": "Canonical-Tags sollten nur bewusst auf fremde Domains zeigen; sonst kann Traffic/Ranking umgeleitet werden.",
                    "source": "finding"
                },
                {
                    "id": "module:seo_integrity",
                    "title": "SEO-Integrität & Cloaking",
                    "detail": "Versteckte Inhalte, Canonical-Missbrauch und Googlebot-Abweichungen entfernen.",
                    "source": "task"
                },
                {
                    "id": "SP-006",
                    "title": "SEO-Integrität & Cloaking",
                    "detail": "Versteckte Inhalte, Canonical-Missbrauch und Googlebot-Abweichungen entfernen.",
                    "source": "ticket"
                },
                {
                    "id": "seo_integrity",
                    "title": "SEO-Integrität & Cloaking",
                    "detail": "Versteckte Inhalte, Canonical-Missbrauch und Googlebot-Abweichungen entfernen.",
                    "source": "module"
                }
            ]
        },
        {
            "slug": "session-replay-und-fingerprinting-pruefen",
            "title": "Session Replay Und Fingerprinting Pruefen",
            "guide_url": "/guides/session-replay-und-fingerprinting-pruefen",
            "area": "Behavior Tracking",
            "owner": "Marketing/Datenschutz",
            "effort": "hoch",
            "retest": "Replay-/Fingerprinting-Skripte nach Ablehnen und GPC erneut prüfen.",
            "evidence_required": "Maskierungsregeln, Zweck, Consent-Kategorie, Anbieterfreigabe.",
            "affected_count": 1,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "browser_keystroke_listener_signals",
                    "title": "Viele Tastatur-/Eingabe-Listener im Browser erkannt",
                    "detail": "Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen.",
                    "source": "finding"
                }
            ]
        },
        {
            "slug": "datenschutzerklaerung-verbessern",
            "title": "Datenschutzerklaerung Verbessern",
            "guide_url": "/guides/datenschutzerklaerung-verbessern",
            "area": "Transparenz",
            "owner": "Datenschutz/Content",
            "effort": "mittel",
            "retest": "Datenschutzhinweis gegen Cookies, Anbieter, Formulare und Zwecke abgleichen.",
            "evidence_required": "Versionierter Datenschutzhinweis, Änderungsdatum, Freigabeprotokoll.",
            "affected_count": 2,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 94,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "privacy_policy_update_date_missing",
                    "title": "Stand der Datenschutzerklärung nicht klar erkennbar",
                    "detail": "Ergänzen Sie ein gut sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach technischen Änderungen.",
                    "source": "finding"
                },
                {
                    "id": "privacy_policy_dpo_contact_missing",
                    "title": "Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
                    "detail": "Nennen Sie einen Datenschutzkontakt oder erklären Sie nachvollziehbar, wie Datenschutzanfragen gestellt werden können.",
                    "source": "finding"
                }
            ]
        },
        {
            "slug": "barrierefreiheit-cookie-banner-formulare",
            "title": "Barrierefreiheit Cookie Banner Formulare",
            "guide_url": "/guides/barrierefreiheit-cookie-banner-formulare",
            "area": "Usability & BITV",
            "owner": "UX/Content/IT",
            "effort": "mittel",
            "retest": "Tastatur, Screenreader, Kontrast und Mobilansicht manuell prüfen.",
            "evidence_required": "Testprotokoll, Screenshots, bekannte Einschränkungen.",
            "affected_count": 4,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 82,
            "status": "sprint",
            "sample_findings": [
                {
                    "id": "image_alt_missing",
                    "title": "Bilder ohne Alternativtext",
                    "detail": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.",
                    "source": "finding"
                },
                {
                    "id": "module:accessibility_usability",
                    "title": "Barrierefreiheit & Usability",
                    "detail": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.",
                    "source": "task"
                },
                {
                    "id": "SP-003",
                    "title": "Barrierefreiheit & Usability",
                    "detail": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.",
                    "source": "ticket"
                },
                {
                    "id": "accessibility_usability",
                    "title": "Barrierefreiheit & Usability",
                    "detail": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.",
                    "source": "module"
                }
            ]
        },
        {
            "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": 8,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 78,
            "status": "sprint",
            "sample_findings": [
                {
                    "id": "missing_hsts",
                    "title": "HSTS fehlt",
                    "detail": "Header `strict-transport-security` setzen und nach Deployment erneut prüfen.",
                    "source": "finding"
                },
                {
                    "id": "missing_csp",
                    "title": "Content-Security-Policy fehlt",
                    "detail": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.",
                    "source": "finding"
                },
                {
                    "id": "missing_cross_origin_embedder_policy",
                    "title": "Cross-Origin-Embedder-Policy fehlt",
                    "detail": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen.",
                    "source": "finding"
                },
                {
                    "id": "missing_cross_origin_opener_policy",
                    "title": "Cross-Origin-Opener-Policy fehlt",
                    "detail": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.",
                    "source": "finding"
                },
                {
                    "id": "missing_cross_origin_resource_policy",
                    "title": "Cross-Origin-Resource-Policy fehlt",
                    "detail": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen.",
                    "source": "finding"
                }
            ]
        },
        {
            "slug": "drittanbieter-datenschutz-erklaeren",
            "title": "Drittanbieter Datenschutz Erklaeren",
            "guide_url": "/guides/drittanbieter-datenschutz-erklaeren",
            "area": "Drittanbieter",
            "owner": "Legal/Vendor Owner",
            "effort": "mittel",
            "retest": "Drittanbieter-Liste gegen neue Requests und Cookies abgleichen.",
            "evidence_required": "Anbieterregister, AVV/DPA-Status, Transferbewertung, Datenschutzhinweis.",
            "affected_count": 3,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 32,
            "status": "backlog",
            "sample_findings": [
                {
                    "id": "module:browser_evidence",
                    "title": "Browser-Nachweis",
                    "detail": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.",
                    "source": "task"
                },
                {
                    "id": "SP-004",
                    "title": "Browser-Nachweis",
                    "detail": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.",
                    "source": "ticket"
                },
                {
                    "id": "browser_evidence",
                    "title": "Browser-Nachweis",
                    "detail": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.",
                    "source": "module"
                }
            ]
        },
        {
            "slug": "formulare-datenschutzkonform-absichern",
            "title": "Formulare Datenschutzkonform Absichern",
            "guide_url": "/guides/formulare-datenschutzkonform-absichern",
            "area": "Formulare",
            "owner": "Webentwicklung/Datenschutz",
            "effort": "mittel",
            "retest": "Formularseite, Ziel-URL, Pflichtfelder, Referrer und Tracking erneut prüfen.",
            "evidence_required": "Formularzweck, Rechtsgrundlage, Datensparsamkeit, Log-/Tracking-Prüfung.",
            "affected_count": 3,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 32,
            "status": "backlog",
            "sample_findings": [
                {
                    "id": "module:forms_payments",
                    "title": "Formulare, Login & Zahlung",
                    "detail": "Bei Formularen Zweck, Pflichtfelder, Datenschutzkontext, HTTPS und Zahlungsanbieter klar machen.",
                    "source": "task"
                },
                {
                    "id": "SP-005",
                    "title": "Formulare, Login & Zahlung",
                    "detail": "Bei Formularen Zweck, Pflichtfelder, Datenschutzkontext, HTTPS und Zahlungsanbieter klar machen.",
                    "source": "ticket"
                },
                {
                    "id": "forms_payments",
                    "title": "Formulare, Login & Zahlung",
                    "detail": "Bei Formularen Zweck, Pflichtfelder, Datenschutzkontext, HTTPS und Zahlungsanbieter klar machen.",
                    "source": "module"
                }
            ]
        }
    ],
    "team_routing": {
        "Developer/Ops": 4,
        "Content/UX": 2
    },
    "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."
}