{
    "schema": "https://saferpage.de/schemas/operator-action-plan.v1",
    "generated_at": "2026-06-11T14:40:46+00:00",
    "domain": "elektro-kaus.de",
    "scan": {
        "id": "cd697eab-eac1-49a6-ac88-2686df5485fe",
        "checked_at": "2026-06-11 11:25:56.990019+02"
    },
    "summary": "elektro-kaus.de Betreiber-Board: 8 Ticket(s), 1 sofort, 5 priorisierte Guide(s). Nach jeder Umsetzung erneut scannen; bei hoher Priorität innerhalb von 7 Tagen.",
    "status": "sofort handeln",
    "score": 60,
    "metrics": {
        "ticket_count": 8,
        "open_count": 8,
        "urgent_count": 1,
        "guide_count": 5,
        "team_count": 3,
        "scan_score": 16,
        "target_score": 40,
        "gap_to_target": 24
    },
    "links": {
        "report": "https://saferpage.de/elektro-kaus.de",
        "operator_board": "https://saferpage.de/betreiber/elektro-kaus.de",
        "domain_verification": "https://saferpage.de/betreiber/elektro-kaus.de/verifizierung",
        "release_gate": "https://saferpage.de/release-gate/elektro-kaus.de",
        "audit_response": "https://saferpage.de/audit-response/elektro-kaus.de",
        "trust_data_room": "https://saferpage.de/datenraum/elektro-kaus.de",
        "json": "https://saferpage.de/betreiber/elektro-kaus.de/massnahmen",
        "csv": "https://saferpage.de/betreiber/elektro-kaus.de/massnahmen-csv",
        "tickets_markdown": "https://saferpage.de/betreiber/elektro-kaus.de/tickets",
        "consent_evidence": "https://saferpage.de/consent/elektro-kaus.de/nachweise",
        "vendor_service_cards": "https://saferpage.de/anbieter/elektro-kaus.de/servicekarten",
        "trust_center": "https://saferpage.de/trust/elektro-kaus.de",
        "guides": "https://saferpage.de/guides",
        "rescan": "https://saferpage.de/"
    },
    "tickets": [
        {
            "ticket_id": "SP-001",
            "title": "Dateneingabe ohne klaren Datenschutzkontext",
            "area": "DSGVO/Transparenz",
            "owner": "Datenschutz",
            "team": "Legal/Datenschutz",
            "priority": "hoch",
            "priority_score": 82,
            "sla": "7_tage",
            "status": "sofort_starten",
            "next_step": "Datenschutzhinweise in Formularnähe ergänzen.",
            "acceptance_criterion": "Befund ist im Wiederholungsscan behoben oder fachlich dokumentiert begründet.",
            "evidence": "Datenschutzhinweise in Formularnähe ergänzen.",
            "guide_url": "/guides/formulare-datenschutzkonform-absichern"
        },
        {
            "ticket_id": "SP-002",
            "title": "Viewport-Meta-Tag fehlt",
            "area": "Barrierefreiheit/Usability",
            "owner": "UX/Content",
            "team": "Content/UX",
            "priority": "mittel",
            "priority_score": 61,
            "sla": "30_tage",
            "status": "einplanen",
            "next_step": "Mobile Basis mit Viewport-Meta-Tag sicherstellen.",
            "acceptance_criterion": "Betroffener UI-Bereich ist per Tastatur bedienbar und automatisierter Accessibility-Check verbessert.",
            "evidence": "Mobile Basis mit Viewport-Meta-Tag sicherstellen.",
            "guide_url": "/guides/performance-und-mobile-usability-verbessern"
        },
        {
            "ticket_id": "SP-003",
            "title": "Content-Security-Policy fehlt",
            "area": "BSI/Security-Header",
            "owner": "Technik",
            "team": "Developer/Ops",
            "priority": "mittel",
            "priority_score": 53,
            "sla": "30_tage",
            "status": "einplanen",
            "next_step": "Content-Security-Policy schrittweise einführen.",
            "acceptance_criterion": "Security-Header/TLS-Check ist im Wiederholungsscan ohne kritischen Befund.",
            "evidence": "Content-Security-Policy schrittweise einführen.",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "ticket_id": "SP-004",
            "title": "X-Frame-Options fehlt",
            "area": "BSI/Security-Header",
            "owner": "Technik",
            "team": "Developer/Ops",
            "priority": "mittel",
            "priority_score": 53,
            "sla": "30_tage",
            "status": "einplanen",
            "next_step": "Clickjacking-Schutz per Header setzen.",
            "acceptance_criterion": "Security-Header/TLS-Check ist im Wiederholungsscan ohne kritischen Befund.",
            "evidence": "Clickjacking-Schutz per Header setzen.",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "ticket_id": "SP-005",
            "title": "X-Content-Type-Options fehlt",
            "area": "BSI/Security-Header",
            "owner": "Technik",
            "team": "Developer/Ops",
            "priority": "mittel",
            "priority_score": 53,
            "sla": "30_tage",
            "status": "einplanen",
            "next_step": "MIME-Sniffing-Schutz per nosniff setzen.",
            "acceptance_criterion": "Security-Header/TLS-Check ist im Wiederholungsscan ohne kritischen Befund.",
            "evidence": "MIME-Sniffing-Schutz per nosniff setzen.",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "ticket_id": "SP-006",
            "title": "Cross-Origin-Embedder-Policy fehlt",
            "area": "BSI/Security-Header",
            "owner": "Technik",
            "team": "Developer/Ops",
            "priority": "niedrig",
            "priority_score": 24,
            "sla": "Backlog",
            "status": "backlog",
            "next_step": "Cross-Origin-Embedder-Policy nur nach Staging-Test setzen, weil eingebettete Drittressourcen kompatibel sein müssen.",
            "acceptance_criterion": "Security-Header/TLS-Check ist im Wiederholungsscan ohne kritischen Befund.",
            "evidence": "Cross-Origin-Embedder-Policy nur nach Staging-Test setzen, weil eingebettete Drittressourcen kompatibel sein müssen.",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "ticket_id": "SP-007",
            "title": "Cross-Origin-Opener-Policy fehlt",
            "area": "BSI/Security-Header",
            "owner": "Technik",
            "team": "Developer/Ops",
            "priority": "niedrig",
            "priority_score": 24,
            "sla": "Backlog",
            "status": "backlog",
            "next_step": "Cross-Origin-Opener-Policy vorsichtig prüfen und nach Funktionstest setzen.",
            "acceptance_criterion": "Security-Header/TLS-Check ist im Wiederholungsscan ohne kritischen Befund.",
            "evidence": "Cross-Origin-Opener-Policy vorsichtig prüfen und nach Funktionstest setzen.",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "ticket_id": "SP-008",
            "title": "Cross-Origin-Resource-Policy fehlt",
            "area": "BSI/Security-Header",
            "owner": "Technik",
            "team": "Developer/Ops",
            "priority": "niedrig",
            "priority_score": 24,
            "sla": "Backlog",
            "status": "backlog",
            "next_step": "Cross-Origin-Resource-Policy nach Ressourcenprüfung setzen, damit fremde Einbettungen begrenzt werden.",
            "acceptance_criterion": "Security-Header/TLS-Check ist im Wiederholungsscan ohne kritischen Befund.",
            "evidence": "Cross-Origin-Resource-Policy nach Ressourcenprüfung setzen, damit fremde Einbettungen begrenzt werden.",
            "guide_url": "/guides/security-header-setzen"
        }
    ],
    "tasks": [
        {
            "id": "",
            "title": "Dateneingabe ohne klaren Datenschutzkontext",
            "area": "DSGVO/Transparenz",
            "priority": "hoch",
            "priority_score": 82,
            "owner": "Datenschutz",
            "team_route": "Legal/Datenschutz",
            "deadline": "innerhalb von 7 Tagen",
            "effort": "niedrig bis mittel",
            "status": "offen",
            "action": "Datenschutzhinweise in Formularnähe ergänzen.",
            "evidence": "",
            "guide_url": "/guides/formulare-datenschutzkonform-absichern"
        },
        {
            "id": "",
            "title": "Viewport-Meta-Tag fehlt",
            "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": "Mobile Basis mit Viewport-Meta-Tag sicherstellen.",
            "evidence": "",
            "guide_url": "/guides/performance-und-mobile-usability-verbessern"
        },
        {
            "id": "",
            "title": "Content-Security-Policy fehlt",
            "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": "Content-Security-Policy schrittweise einführen.",
            "evidence": "",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "id": "",
            "title": "X-Frame-Options fehlt",
            "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": "Clickjacking-Schutz per Header setzen.",
            "evidence": "",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "id": "",
            "title": "X-Content-Type-Options fehlt",
            "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": "MIME-Sniffing-Schutz per nosniff setzen.",
            "evidence": "",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "id": "",
            "title": "Cross-Origin-Embedder-Policy fehlt",
            "area": "BSI/Security-Header",
            "priority": "niedrig",
            "priority_score": 24,
            "owner": "Technik",
            "team_route": "Developer/Ops",
            "deadline": "Backlog",
            "effort": "mittel",
            "status": "offen",
            "action": "Cross-Origin-Embedder-Policy nur nach Staging-Test setzen, weil eingebettete Drittressourcen kompatibel sein müssen.",
            "evidence": "",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "id": "",
            "title": "Cross-Origin-Opener-Policy fehlt",
            "area": "BSI/Security-Header",
            "priority": "niedrig",
            "priority_score": 24,
            "owner": "Technik",
            "team_route": "Developer/Ops",
            "deadline": "Backlog",
            "effort": "mittel",
            "status": "offen",
            "action": "Cross-Origin-Opener-Policy vorsichtig prüfen und nach Funktionstest setzen.",
            "evidence": "",
            "guide_url": "/guides/security-header-setzen"
        },
        {
            "id": "",
            "title": "Cross-Origin-Resource-Policy fehlt",
            "area": "BSI/Security-Header",
            "priority": "niedrig",
            "priority_score": 24,
            "owner": "Technik",
            "team_route": "Developer/Ops",
            "deadline": "Backlog",
            "effort": "mittel",
            "status": "offen",
            "action": "Cross-Origin-Resource-Policy nach Ressourcenprüfung setzen, damit fremde Einbettungen begrenzt werden.",
            "evidence": "",
            "guide_url": "/guides/security-header-setzen"
        }
    ],
    "guide_playbook": [
        {
            "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": 4,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 100,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "data_entry_privacy_context_missing",
                    "title": "Dateneingabe ohne klaren Datenschutzkontext",
                    "detail": "Vor Eingabe prüfen, welche Daten erhoben werden, wofür sie genutzt werden und wo die Datenschutzhinweise stehen.",
                    "source": "finding"
                },
                {
                    "id": "data_entry_privacy_context_missing",
                    "title": "Dateneingabe ohne klaren Datenschutzkontext",
                    "detail": "Datenschutzhinweise in Formularnähe ergänzen.",
                    "source": "task"
                },
                {
                    "id": "SP-001",
                    "title": "Dateneingabe ohne klaren Datenschutzkontext",
                    "detail": "Datenschutzhinweise in Formularnähe ergänzen.",
                    "source": "ticket"
                },
                {
                    "id": "forms_payments",
                    "title": "Formulare, Login & Zahlung",
                    "detail": "Bei Formularen Zweck, Pflichtfelder, Datenschutzkontext, HTTPS und Zahlungsanbieter klar machen.",
                    "source": "module"
                }
            ]
        },
        {
            "slug": "datenschutz-webseiten-pruefkatalog",
            "title": "Datenschutz Webseiten Pruefkatalog",
            "guide_url": "/guides/datenschutz-webseiten-pruefkatalog",
            "area": "Programmsteuerung",
            "owner": "Programm-Owner/Datenschutz",
            "effort": "hoch",
            "retest": "Gesamten Scan nach Umsetzung der priorisierten Guides wiederholen.",
            "evidence_required": "Prioritätenliste, Owner, Exportpaket, Re-Scan und Freigabe.",
            "affected_count": 2,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 88,
            "status": "sofort",
            "sample_findings": [
                {
                    "id": "important_pages_not_discovered",
                    "title": "Wichtige Betreiberseiten nicht vollständig in der Linkstruktur gefunden",
                    "detail": "Datenschutz und Impressum sollten von der Startseite aus klar erreichbar sein.",
                    "source": "finding"
                },
                {
                    "id": "site_coverage",
                    "title": "Seitenabdeckung & Crawl",
                    "detail": "Datenschutz, Impressum, Kontakt, Cookie-Hinweise und kritische Formularseiten klar verlinken und regelmäßig mitprü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": 21,
            "task_count": 6,
            "ticket_count": 6,
            "priority_score": 78,
            "status": "sprint",
            "sample_findings": [
                {
                    "id": "missing_csp",
                    "title": "Content-Security-Policy fehlt",
                    "detail": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.",
                    "source": "finding"
                },
                {
                    "id": "missing_x_frame_options",
                    "title": "X-Frame-Options fehlt",
                    "detail": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.",
                    "source": "finding"
                },
                {
                    "id": "missing_x_content_type_options",
                    "title": "X-Content-Type-Options fehlt",
                    "detail": "Header `x-content-type-options` 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"
                }
            ]
        },
        {
            "slug": "performance-und-mobile-usability-verbessern",
            "title": "Performance Und Mobile Usability Verbessern",
            "guide_url": "/guides/performance-und-mobile-usability-verbessern",
            "area": "Performance & Mobile",
            "owner": "Webentwicklung/UX",
            "effort": "mittel",
            "retest": "Mobilansicht, Asset-Größen und Ladeverhalten erneut prüfen.",
            "evidence_required": "Performance-Messung, Asset-Liste, Mobile-Screenshot.",
            "affected_count": 4,
            "task_count": 1,
            "ticket_count": 1,
            "priority_score": 70,
            "status": "sprint",
            "sample_findings": [
                {
                    "id": "viewport_missing",
                    "title": "Viewport-Meta-Tag fehlt",
                    "detail": "Für mobile Darstellung `meta name=viewport` setzen.",
                    "source": "finding"
                },
                {
                    "id": "viewport_missing",
                    "title": "Viewport-Meta-Tag fehlt",
                    "detail": "Mobile Basis mit Viewport-Meta-Tag sicherstellen.",
                    "source": "task"
                },
                {
                    "id": "SP-002",
                    "title": "Viewport-Meta-Tag fehlt",
                    "detail": "Mobile Basis mit Viewport-Meta-Tag sicherstellen.",
                    "source": "ticket"
                },
                {
                    "id": "performance_mobile",
                    "title": "Performance & mobile Nutzbarkeit",
                    "detail": "Antwortzeit, Komprimierung, Viewport und blockierende Ressourcen optimieren.",
                    "source": "module"
                }
            ]
        },
        {
            "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": 1,
            "task_count": 0,
            "ticket_count": 0,
            "priority_score": 52,
            "status": "einplanen",
            "sample_findings": [
                {
                    "id": "privacy_consent",
                    "title": "Datenschutz, Cookies & Consent",
                    "detail": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
                    "source": "module"
                }
            ]
        }
    ],
    "team_routing": {
        "Developer/Ops": 6,
        "Legal/Datenschutz": 1,
        "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."
}