{
    "schema": "https://saferpage.de/schemas/operator-remediation-ticket-delivery.v1",
    "generated_at": "2026-06-13T16:41:37+00:00",
    "domain": "bildung.jugendfeuerwehr.de",
    "available": true,
    "scan": {
        "id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
        "checked_at": "2026-06-12 08:50:57.634243+02"
    },
    "summary": "Delivery-Paket fuer Remediation-Tickets mit Webhook-, Slack-, Teams- und Jira-Payloads, HMAC-Receiver-Vertrag und Test-Fixture.",
    "dry_run": true,
    "does_not_send": true,
    "metrics": {
        "delivery_job_count": 29,
        "high_priority_count": 11,
        "channel_count": 4,
        "receiver_check_count": 6,
        "test_fixture_negative_count": 4
    },
    "signature_verification": {
        "algorithm": "HMAC-SHA256",
        "canonical_body": "Exakt canonical_webhook_body aus dem jeweiligen delivery_job signieren; keine Pretty-Print- oder Reordering-Variante verwenden.",
        "signature_secret_ref": "SAFERPAGE_OPERATOR_WEBHOOK_SECRET oder zielsystemspezifisches Secret im Secret Manager",
        "signature_header": "X-SaferPage-Signature",
        "signature_format": "sha256=<hex_hmac_sha256>",
        "body_sha256_header": "X-SaferPage-Body-SHA256",
        "idempotency_header": "X-SaferPage-Idempotency-Key",
        "receiver_must_check": [
            "HMAC ueber den exakten Request-Body stimmt mit X-SaferPage-Signature ueberein.",
            "SHA-256 des exakten Request-Body stimmt mit X-SaferPage-Body-SHA256 ueberein.",
            "X-SaferPage-Event ist operator.remediation.ticket_ready.",
            "X-SaferPage-Schema ist operator-remediation-ticket-delivery.v1.",
            "X-SaferPage-Idempotency-Key wurde fuer Domain, Scan und Ticket noch nicht verarbeitet.",
            "Empfaenger, Projekt, Queue und Owner sind fuer diese Domain freigegeben."
        ],
        "failure_policy": "Bei fehlender Signatur, Body-Hash-Abweichung, Replay oder unbekanntem Zielsystem ablehnen, nicht teilweise verarbeiten und Auditlog ohne Secret-Werte schreiben."
    },
    "verification_test_fixture": {
        "public_test_secret": "saferpage_remediation_ticket_test_secret_do_not_use_in_production",
        "canonical_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"example.test\",\"scan_id\":\"scan_test_2026_06_09\",\"ticket_id\":\"remediation_test_ticket\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Datenschutz/IT\",\"sla\":\"7 Tage\",\"title\":\"Consent-Befund reproduzieren und beheben\",\"evidence\":\"Test-Fixture fuer Receiver-Implementierung.\",\"action\":\"Testpayload unveraendert verifizieren, Idempotency-Key pruefen und danach verwerfen.\",\"acceptance_criteria\":[\"Signatur stimmt mit exakt diesem Body ueberein.\",\"Idempotency-Key wurde noch nicht verarbeitet.\",\"Event, Schema und Domain sind erlaubt.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/example.test\",\"rescan\":\"https://saferpage.de/scanbetrieb/example.test\",\"report\":\"https://saferpage.de/example.test\",\"fix_guides\":\"https://saferpage.de/fix-guides/example.test\"}}",
        "canonical_body_sha256": "cd19d86313ea4d6ea0f5dcd65b2b40794f017121c655dedcdfa6df362b480dcf",
        "expected_signature": "sha256=834a9f0cd7a3922648b8aa1ab00aef7ae7aa31d08b63e804ee4a586c0e9dd555",
        "expected_signature_header": "X-SaferPage-Signature: sha256=834a9f0cd7a3922648b8aa1ab00aef7ae7aa31d08b63e804ee4a586c0e9dd555",
        "idempotency_key": "sp-fix-test-fixture",
        "positive_test": "Empfaenger akzeptiert den unveraenderten canonical_body mit expected_signature und verwirft ihn danach als Testevent.",
        "negative_tests": [
            "Ein geaendertes Byte im Body muss abgelehnt werden.",
            "Ein fehlender oder doppelter X-SaferPage-Idempotency-Key muss abgelehnt werden.",
            "Eine Signatur mit anderem Secret muss abgelehnt werden.",
            "Ein erneuter Request mit derselben Idempotency-Key/Event-Kombination darf nicht erneut verarbeitet werden."
        ],
        "sample_commands": [
            "printf %s \"$BODY\" | openssl dgst -sha256 -hmac \"saferpage_remediation_ticket_test_secret_do_not_use_in_production\" -binary | xxd -p -c 256",
            "printf %s \"$BODY\" | sha256sum",
            "curl -X POST -H \"Content-Type: application/json\" -H \"X-SaferPage-Event: operator.remediation.ticket_ready\" -H \"X-SaferPage-Signature: sha256=834a9f0cd7a3922648b8aa1ab00aef7ae7aa31d08b63e804ee4a586c0e9dd555\" --data \"$BODY\" https://receiver.example.test/saferpage"
        ]
    },
    "retry_policy": {
        "max_attempts": 3,
        "backoff_seconds": [
            300,
            1800,
            7200
        ],
        "dead_letter_queue": "privacyops.remediation_ticket.failed"
    },
    "delivery_jobs": [
        {
            "id": "sp-fix-371e0b8dffb862069d48d3d6",
            "ticket_id": "remediation_vendor_contract_transfer_fix",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Legal/Vendor Owner",
            "sla": "7 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
            "description": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.",
            "idempotency_key": "sp-fix-371e0b8dffb862069d48d3d6",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-371e0b8dffb862069d48d3d6",
                "X-SaferPage-Body-SHA256": "971f35c53bf15f7abb5e8100f0b198b9c388dd11ef7aa383ee37e1c186816a14",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_vendor_contract_transfer_fix",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Legal/Vendor Owner",
                "sla": "7 Tage",
                "title": "Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                "evidence": "Vendor-Due-Diligence mit 2 Anbieter(n), 0 hohem Risiko, 2 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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_vendor_contract_transfer_fix\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Legal/Vendor Owner\",\"sla\":\"7 Tage\",\"title\":\"Anbieterakten, AVV/DPA und Transfers priorisiert schließen\",\"evidence\":\"Vendor-Due-Diligence mit 2 Anbieter(n), 0 hohem Risiko, 2 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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "971f35c53bf15f7abb5e8100f0b198b9c388dd11ef7aa383ee37e1c186816a14",
            "slack_payload": {
                "text": "[HOCH] bildung.jugendfeuerwehr.de: Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Anbieterakten, AVV/DPA und Transfers priorisiert schließen*\nTop-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Legal/Vendor Owner · SLA: 7 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] bildung.jugendfeuerwehr.de: Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Anbieterakten, AVV/DPA und Transfers priorisiert schließen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Legal/Vendor Owner"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                    "description": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-cc03df81a72c0e93dd35edb0",
            "ticket_id": "remediation_button_name_missing",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] Buttons ohne erkennbaren Namen",
            "description": "Buttons mit sichtbarem Text oder aria-label beschriften.",
            "idempotency_key": "sp-fix-cc03df81a72c0e93dd35edb0",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-cc03df81a72c0e93dd35edb0",
                "X-SaferPage-Body-SHA256": "77188d6d38875f98e91f03df7aeaa476676f1b420e16b7f21d0521dcae36d85b",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_button_name_missing",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Buttons ohne erkennbaren Namen",
                "evidence": "",
                "action": "Buttons mit sichtbarem Text oder aria-label beschriften.",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_button_name_missing\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Buttons ohne erkennbaren Namen\",\"evidence\":\"\",\"action\":\"Buttons mit sichtbarem Text oder aria-label beschriften.\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "77188d6d38875f98e91f03df7aeaa476676f1b420e16b7f21d0521dcae36d85b",
            "slack_payload": {
                "text": "[HOCH] bildung.jugendfeuerwehr.de: Buttons ohne erkennbaren Namen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Buttons ohne erkennbaren Namen*\nButtons mit sichtbarem Text oder aria-label beschriften."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: 7 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] bildung.jugendfeuerwehr.de: Buttons ohne erkennbaren Namen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Buttons ohne erkennbaren Namen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Buttons mit sichtbarem Text oder aria-label beschriften."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Buttons ohne erkennbaren Namen",
                    "description": "Buttons mit sichtbarem Text oder aria-label beschriften.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a3cce5a4197815217e8c4d7c",
            "ticket_id": "remediation_missing_csp",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] Content-Security-Policy fehlt",
            "description": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-a3cce5a4197815217e8c4d7c",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a3cce5a4197815217e8c4d7c",
                "X-SaferPage-Body-SHA256": "0c5ebd9e2626a0e05869037a409629f55822d4e49169ca57ddcd7089e9f8f275",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_missing_csp",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Content-Security-Policy fehlt",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_missing_csp\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Content-Security-Policy fehlt\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "0c5ebd9e2626a0e05869037a409629f55822d4e49169ca57ddcd7089e9f8f275",
            "slack_payload": {
                "text": "[HOCH] bildung.jugendfeuerwehr.de: Content-Security-Policy fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Content-Security-Policy fehlt*\nHeader `content-security-policy` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: 7 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] bildung.jugendfeuerwehr.de: Content-Security-Policy fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Content-Security-Policy fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `content-security-policy` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Content-Security-Policy fehlt",
                    "description": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-f736e4aba5f7658c38ec1916",
            "ticket_id": "remediation_consent_no_reject_option",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] Cookie-Hinweis ohne klare Ablehnen-Option",
            "description": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.",
            "idempotency_key": "sp-fix-f736e4aba5f7658c38ec1916",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-f736e4aba5f7658c38ec1916",
                "X-SaferPage-Body-SHA256": "63802f1abef03770167ea387a8f749eee364177fadb42038f3872e076361dfda",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_consent_no_reject_option",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Cookie-Hinweis ohne klare Ablehnen-Option",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_consent_no_reject_option\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Cookie-Hinweis ohne klare Ablehnen-Option\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "63802f1abef03770167ea387a8f749eee364177fadb42038f3872e076361dfda",
            "slack_payload": {
                "text": "[HOCH] bildung.jugendfeuerwehr.de: Cookie-Hinweis ohne klare Ablehnen-Option",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cookie-Hinweis ohne klare Ablehnen-Option*\nAblehnen sollte genauso leicht auffindbar sein wie Akzeptieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: 7 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] bildung.jugendfeuerwehr.de: Cookie-Hinweis ohne klare Ablehnen-Option",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cookie-Hinweis ohne klare Ablehnen-Option"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Cookie-Hinweis ohne klare Ablehnen-Option",
                    "description": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-4274331c13b9da586a4a7cd0",
            "ticket_id": "remediation_google_consent_mode_missing",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] Google Consent Mode Default nicht erkannt",
            "description": "Vor dem ersten Google-Tag Consent-Defaults setzen, typischerweise ad_storage, analytics_storage, ad_user_data und ad_personalization auf denied.",
            "idempotency_key": "sp-fix-4274331c13b9da586a4a7cd0",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-4274331c13b9da586a4a7cd0",
                "X-SaferPage-Body-SHA256": "04cdbd06baa999359fafe4868703f1986356d03fb422745d4f193049df31cc8a",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_google_consent_mode_missing",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Google Consent Mode Default nicht erkannt",
                "evidence": "",
                "action": "Vor dem ersten Google-Tag Consent-Defaults setzen, typischerweise ad_storage, analytics_storage, ad_user_data und ad_personalization auf denied.",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_google_consent_mode_missing\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Google Consent Mode Default nicht erkannt\",\"evidence\":\"\",\"action\":\"Vor dem ersten Google-Tag Consent-Defaults setzen, typischerweise ad_storage, analytics_storage, ad_user_data und ad_personalization auf denied.\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "04cdbd06baa999359fafe4868703f1986356d03fb422745d4f193049df31cc8a",
            "slack_payload": {
                "text": "[HOCH] bildung.jugendfeuerwehr.de: Google Consent Mode Default nicht erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Google Consent Mode Default nicht erkannt*\nVor dem ersten Google-Tag Consent-Defaults setzen, typischerweise ad_storage, analytics_storage, ad_user_data und ad_personalization auf denied."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: 7 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] bildung.jugendfeuerwehr.de: Google Consent Mode Default nicht erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Google Consent Mode Default nicht erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Vor dem ersten Google-Tag Consent-Defaults setzen, typischerweise ad_storage, analytics_storage, ad_user_data und ad_personalization auf denied."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Google Consent Mode Default nicht erkannt",
                    "description": "Vor dem ersten Google-Tag Consent-Defaults setzen, typischerweise ad_storage, analytics_storage, ad_user_data und ad_personalization auf denied.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-26647878a103ce897a85be99",
            "ticket_id": "remediation_missing_hsts",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] HSTS fehlt",
            "description": "Header `strict-transport-security` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-26647878a103ce897a85be99",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-26647878a103ce897a85be99",
                "X-SaferPage-Body-SHA256": "e156ef5c7b5b9e0d6658afbe8781c6c8703fd65f4af1dc550847f8652cffb8be",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_missing_hsts",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "HSTS fehlt",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_missing_hsts\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"HSTS fehlt\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "e156ef5c7b5b9e0d6658afbe8781c6c8703fd65f4af1dc550847f8652cffb8be",
            "slack_payload": {
                "text": "[HOCH] bildung.jugendfeuerwehr.de: HSTS fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*HSTS fehlt*\nHeader `strict-transport-security` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: 7 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] bildung.jugendfeuerwehr.de: HSTS fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "HSTS fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `strict-transport-security` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] HSTS fehlt",
                    "description": "Header `strict-transport-security` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-acffca8490b77d18a15c4b4c",
            "ticket_id": "remediation_security_header_gap",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "IT/Security",
            "sla": "7 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] Security-Header, Referrer-Policy und Browser-Schutz setzen",
            "description": "Befund mit Betreiber-Guide beheben und danach erneut scannen.",
            "idempotency_key": "sp-fix-acffca8490b77d18a15c4b4c",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-acffca8490b77d18a15c4b4c",
                "X-SaferPage-Body-SHA256": "9057a6695d2c7e59337c02867c8002aeb29a3538ca1cecbd7ac091f5f74acc8b",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_security_header_gap",
                "priority": "hoch",
                "severity": "critical",
                "owner": "IT/Security",
                "sla": "7 Tage",
                "title": "Security-Header, Referrer-Policy und Browser-Schutz setzen",
                "evidence": "0 von 9 wichtigen Security-Headern vorhanden, 0 korrekt bewertet. Keine Content-Security-Policy gefunden.",
                "action": "Befund mit Betreiber-Guide beheben 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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_security_header_gap\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"IT/Security\",\"sla\":\"7 Tage\",\"title\":\"Security-Header, Referrer-Policy und Browser-Schutz setzen\",\"evidence\":\"0 von 9 wichtigen Security-Headern vorhanden, 0 korrekt bewertet. Keine Content-Security-Policy gefunden.\",\"action\":\"Befund mit Betreiber-Guide beheben 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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "9057a6695d2c7e59337c02867c8002aeb29a3538ca1cecbd7ac091f5f74acc8b",
            "slack_payload": {
                "text": "[HOCH] bildung.jugendfeuerwehr.de: Security-Header, Referrer-Policy und Browser-Schutz setzen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Security-Header, Referrer-Policy und Browser-Schutz setzen*\nBefund mit Betreiber-Guide beheben und danach erneut scannen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: IT/Security · SLA: 7 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] bildung.jugendfeuerwehr.de: Security-Header, Referrer-Policy und Browser-Schutz setzen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Security-Header, Referrer-Policy und Browser-Schutz setzen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Befund mit Betreiber-Guide beheben und danach erneut scannen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "IT/Security"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Security-Header, Referrer-Policy und Browser-Schutz setzen",
                    "description": "Befund mit Betreiber-Guide beheben und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-00f2d7b550e85678eba43e0d",
            "ticket_id": "remediation_third_party_sensitive_query_leak",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] Sensible URL-Schlüssel im Drittanbieter-Kontext",
            "description": "Sensible Parameter wie E-Mail, Name, Token oder Session-IDs aus URLs entfernen und Drittanbieter-Tags auf solchen Seiten blockieren.",
            "idempotency_key": "sp-fix-00f2d7b550e85678eba43e0d",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-00f2d7b550e85678eba43e0d",
                "X-SaferPage-Body-SHA256": "85ac603c71ce63ddcf4331e797b851528e092800910d1aef542d2e71a6f4da3f",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_third_party_sensitive_query_leak",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Sensible URL-Schlüssel im Drittanbieter-Kontext",
                "evidence": "",
                "action": "Sensible Parameter wie E-Mail, Name, Token oder Session-IDs aus URLs entfernen und Drittanbieter-Tags auf solchen Seiten blockieren.",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/referrer-und-url-leaks-vermeiden",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_third_party_sensitive_query_leak\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Sensible URL-Schlüssel im Drittanbieter-Kontext\",\"evidence\":\"\",\"action\":\"Sensible Parameter wie E-Mail, Name, Token oder Session-IDs aus URLs entfernen und Drittanbieter-Tags auf solchen Seiten blockieren.\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/referrer-und-url-leaks-vermeiden\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "85ac603c71ce63ddcf4331e797b851528e092800910d1aef542d2e71a6f4da3f",
            "slack_payload": {
                "text": "[HOCH] bildung.jugendfeuerwehr.de: Sensible URL-Schlüssel im Drittanbieter-Kontext",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Sensible URL-Schlüssel im Drittanbieter-Kontext*\nSensible Parameter wie E-Mail, Name, Token oder Session-IDs aus URLs entfernen und Drittanbieter-Tags auf solchen Seiten blockieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: 7 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] bildung.jugendfeuerwehr.de: Sensible URL-Schlüssel im Drittanbieter-Kontext",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Sensible URL-Schlüssel im Drittanbieter-Kontext"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Sensible Parameter wie E-Mail, Name, Token oder Session-IDs aus URLs entfernen und Drittanbieter-Tags auf solchen Seiten blockieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Sensible URL-Schlüssel im Drittanbieter-Kontext",
                    "description": "Sensible Parameter wie E-Mail, Name, Token oder Session-IDs aus URLs entfernen und Drittanbieter-Tags auf solchen Seiten blockieren.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/referrer-und-url-leaks-vermeiden\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-1bfc5db4fe37605cafeca302",
            "ticket_id": "remediation_module_security_tls",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] Sicherheit, TLS & Header",
            "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
            "idempotency_key": "sp-fix-1bfc5db4fe37605cafeca302",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-1bfc5db4fe37605cafeca302",
                "X-SaferPage-Body-SHA256": "45dcf7cbc99cfcc1836e22cff8c5e3e4df06ce8c270b301ae2c02fff9e31a6b3",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_module_security_tls",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Sicherheit, TLS & Header",
                "evidence": "2 Infrastruktur-Hinweis(e), Security-Header: 0/9 vorhanden, 9 fehlen, externe Skript-Hosts: 2.",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_module_security_tls\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Sicherheit, TLS & Header\",\"evidence\":\"2 Infrastruktur-Hinweis(e), Security-Header: 0/9 vorhanden, 9 fehlen, externe Skript-Hosts: 2.\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "45dcf7cbc99cfcc1836e22cff8c5e3e4df06ce8c270b301ae2c02fff9e31a6b3",
            "slack_payload": {
                "text": "[HOCH] bildung.jugendfeuerwehr.de: Sicherheit, TLS & Header",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Sicherheit, TLS & Header*\nHTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: 7 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] bildung.jugendfeuerwehr.de: Sicherheit, TLS & Header",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Sicherheit, TLS & Header"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Sicherheit, TLS & Header",
                    "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-53d56d69649c0c16fbfcdde7",
            "ticket_id": "remediation_missing_x_content_type_options",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] X-Content-Type-Options fehlt",
            "description": "Header `x-content-type-options` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-53d56d69649c0c16fbfcdde7",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-53d56d69649c0c16fbfcdde7",
                "X-SaferPage-Body-SHA256": "dc2002cd785c9fd5bd32f0a0a99e61b331dd83a7b9b8a08faf9b23e8b2cbd0ef",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_missing_x_content_type_options",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "X-Content-Type-Options fehlt",
                "evidence": "",
                "action": "Header `x-content-type-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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_missing_x_content_type_options\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"X-Content-Type-Options fehlt\",\"evidence\":\"\",\"action\":\"Header `x-content-type-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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "dc2002cd785c9fd5bd32f0a0a99e61b331dd83a7b9b8a08faf9b23e8b2cbd0ef",
            "slack_payload": {
                "text": "[HOCH] bildung.jugendfeuerwehr.de: X-Content-Type-Options fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*X-Content-Type-Options fehlt*\nHeader `x-content-type-options` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: 7 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] bildung.jugendfeuerwehr.de: X-Content-Type-Options fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "X-Content-Type-Options fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `x-content-type-options` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] X-Content-Type-Options fehlt",
                    "description": "Header `x-content-type-options` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-0a6dbaecc66907b4e5d0eb06",
            "ticket_id": "remediation_missing_x_frame_options",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] X-Frame-Options fehlt",
            "description": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-0a6dbaecc66907b4e5d0eb06",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-0a6dbaecc66907b4e5d0eb06",
                "X-SaferPage-Body-SHA256": "00e57828db52634bd1aa98a513269d7bac445002815aba559e97973e883408d0",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_missing_x_frame_options",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "X-Frame-Options fehlt",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_missing_x_frame_options\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"X-Frame-Options fehlt\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "00e57828db52634bd1aa98a513269d7bac445002815aba559e97973e883408d0",
            "slack_payload": {
                "text": "[HOCH] bildung.jugendfeuerwehr.de: X-Frame-Options fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*X-Frame-Options fehlt*\nHeader `x-frame-options` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: 7 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] bildung.jugendfeuerwehr.de: X-Frame-Options fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "X-Frame-Options fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `x-frame-options` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] X-Frame-Options fehlt",
                    "description": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-fbdf66da8b27da5f16fb8627",
            "ticket_id": "remediation_module_accessibility_usability",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] Barrierefreiheit & Usability",
            "description": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.",
            "idempotency_key": "sp-fix-fbdf66da8b27da5f16fb8627",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-fbdf66da8b27da5f16fb8627",
                "X-SaferPage-Body-SHA256": "e6a6d4f2ccd3fe91e56b9dede27ce6d02be886a3d9f66eff54d0a6b036ace3a1",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_module_accessibility_usability",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Barrierefreiheit & Usability",
                "evidence": "8 Bild(er) ohne alt, 0 Formularfeld(er) ohne Beschriftung, 1 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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_module_accessibility_usability\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Barrierefreiheit & Usability\",\"evidence\":\"8 Bild(er) ohne alt, 0 Formularfeld(er) ohne Beschriftung, 1 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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "e6a6d4f2ccd3fe91e56b9dede27ce6d02be886a3d9f66eff54d0a6b036ace3a1",
            "slack_payload": {
                "text": "[MITTEL] bildung.jugendfeuerwehr.de: Barrierefreiheit & Usability",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Barrierefreiheit & Usability*\nAlt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: 30 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] bildung.jugendfeuerwehr.de: Barrierefreiheit & Usability",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Barrierefreiheit & Usability"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Barrierefreiheit & Usability",
                    "description": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-7910ee031c36c1db5430a8eb",
            "ticket_id": "remediation_accessibility_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "UX/IT",
            "sla": "30 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
            "description": "Befund mit Betreiber-Guide beheben und danach erneut scannen.",
            "idempotency_key": "sp-fix-7910ee031c36c1db5430a8eb",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-7910ee031c36c1db5430a8eb",
                "X-SaferPage-Body-SHA256": "009eb1be531487769293c0aead1ede53b342153575b3f1b8b3ad135532582d04",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_accessibility_gap",
                "priority": "mittel",
                "severity": "warning",
                "owner": "UX/IT",
                "sla": "30 Tage",
                "title": "Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
                "evidence": "16 Bild(er), 2 Formularfeld(er), 11 Button(s) im passiven HTML-Sample auf Basis-Barrierefreiheit geprüft.",
                "action": "Befund mit Betreiber-Guide beheben 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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_accessibility_gap\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"UX/IT\",\"sla\":\"30 Tage\",\"title\":\"Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen\",\"evidence\":\"16 Bild(er), 2 Formularfeld(er), 11 Button(s) im passiven HTML-Sample auf Basis-Barrierefreiheit geprüft.\",\"action\":\"Befund mit Betreiber-Guide beheben 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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "009eb1be531487769293c0aead1ede53b342153575b3f1b8b3ad135532582d04",
            "slack_payload": {
                "text": "[MITTEL] bildung.jugendfeuerwehr.de: Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen*\nBefund mit Betreiber-Guide beheben und danach erneut scannen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: UX/IT · SLA: 30 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] bildung.jugendfeuerwehr.de: Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Befund mit Betreiber-Guide beheben und danach erneut scannen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "UX/IT"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
                    "description": "Befund mit Betreiber-Guide beheben und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-047119bdbcfbab6fbc216b5f",
            "ticket_id": "remediation_module_privacy_consent",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] Datenschutz, Cookies & Consent",
            "description": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
            "idempotency_key": "sp-fix-047119bdbcfbab6fbc216b5f",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-047119bdbcfbab6fbc216b5f",
                "X-SaferPage-Body-SHA256": "7aecdee185a6f9ad994930a8acd494eeddef446e6d71baf210e4d68173ed4bbc",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_module_privacy_consent",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Datenschutz, Cookies & Consent",
                "evidence": "0 Tracking-Script(s), 0 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 60.",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_module_privacy_consent\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Datenschutz, Cookies & Consent\",\"evidence\":\"0 Tracking-Script(s), 0 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 60.\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "7aecdee185a6f9ad994930a8acd494eeddef446e6d71baf210e4d68173ed4bbc",
            "slack_payload": {
                "text": "[MITTEL] bildung.jugendfeuerwehr.de: Datenschutz, Cookies & Consent",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Datenschutz, Cookies & Consent*\nTracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: 30 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] bildung.jugendfeuerwehr.de: Datenschutz, Cookies & Consent",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Datenschutz, Cookies & Consent"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Datenschutz, Cookies & Consent",
                    "description": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-f97f09921a9150807142071f",
            "ticket_id": "remediation_google_consent_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing Ops/Webentwicklung",
            "sla": "30 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] Google-Dienste",
            "description": "Befund mit Betreiber-Guide beheben und danach erneut scannen.",
            "idempotency_key": "sp-fix-f97f09921a9150807142071f",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-f97f09921a9150807142071f",
                "X-SaferPage-Body-SHA256": "2e22d2eda81d92b25bb3a06c7ca21ff592801143f635f77d829e3f845d481002",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_google_consent_gap",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing Ops/Webentwicklung",
                "sla": "30 Tage",
                "title": "Google-Dienste",
                "evidence": "Google-Tags und Consent-Mode-Signale wurden aus HTML, Browserkontakten und Tracking-IDs abgeleitet.",
                "action": "Befund mit Betreiber-Guide beheben 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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_google_consent_gap\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing Ops/Webentwicklung\",\"sla\":\"30 Tage\",\"title\":\"Google-Dienste\",\"evidence\":\"Google-Tags und Consent-Mode-Signale wurden aus HTML, Browserkontakten und Tracking-IDs abgeleitet.\",\"action\":\"Befund mit Betreiber-Guide beheben 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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "2e22d2eda81d92b25bb3a06c7ca21ff592801143f635f77d829e3f845d481002",
            "slack_payload": {
                "text": "[MITTEL] bildung.jugendfeuerwehr.de: Google-Dienste",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Google-Dienste*\nBefund mit Betreiber-Guide beheben und danach erneut scannen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Marketing Ops/Webentwicklung · SLA: 30 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] bildung.jugendfeuerwehr.de: Google-Dienste",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Google-Dienste"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Befund mit Betreiber-Guide beheben und danach erneut scannen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Marketing Ops/Webentwicklung"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Google-Dienste",
                    "description": "Befund mit Betreiber-Guide beheben und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-11c7d39b5a0cc845d41df3cb",
            "ticket_id": "remediation_module_google_third_parties",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] Google-Dienste & Drittanbieter",
            "description": "Google-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern.",
            "idempotency_key": "sp-fix-11c7d39b5a0cc845d41df3cb",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-11c7d39b5a0cc845d41df3cb",
                "X-SaferPage-Body-SHA256": "c1c4e1b7b5593e455fdff906cf26fed45b9fc93fda1d4bd7da34ed64144d53c3",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_module_google_third_parties",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Google-Dienste & Drittanbieter",
                "evidence": "Google-Tags: ja, 0 Google-nahe Domain(s), Consent-Default: nein, Analytics: nein, Werbung: nein, Fonts: nein.",
                "action": "Google-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern.",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_module_google_third_parties\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Google-Dienste & Drittanbieter\",\"evidence\":\"Google-Tags: ja, 0 Google-nahe Domain(s), Consent-Default: nein, Analytics: nein, Werbung: nein, Fonts: nein.\",\"action\":\"Google-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern.\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "c1c4e1b7b5593e455fdff906cf26fed45b9fc93fda1d4bd7da34ed64144d53c3",
            "slack_payload": {
                "text": "[MITTEL] bildung.jugendfeuerwehr.de: Google-Dienste & Drittanbieter",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Google-Dienste & Drittanbieter*\nGoogle-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: 30 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] bildung.jugendfeuerwehr.de: Google-Dienste & Drittanbieter",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Google-Dienste & Drittanbieter"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Google-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Google-Dienste & Drittanbieter",
                    "description": "Google-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-dd83218070b877aa2fa3897a",
            "ticket_id": "remediation_consent_preconsent_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT",
            "sla": "30 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
            "description": "Befund mit Betreiber-Guide beheben und danach erneut scannen.",
            "idempotency_key": "sp-fix-dd83218070b877aa2fa3897a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-dd83218070b877aa2fa3897a",
                "X-SaferPage-Body-SHA256": "7afd476552c99195f884742f21f3a35847197c9f814126144c25aae4138e019e",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_consent_preconsent_gap",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT",
                "sla": "30 Tage",
                "title": "Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                "evidence": "Consent ist teilweise erkennbar, aber einzelne Punkte sollten Betreiber nachpruefen.",
                "action": "Befund mit Betreiber-Guide beheben 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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_consent_preconsent_gap\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT\",\"sla\":\"30 Tage\",\"title\":\"Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren\",\"evidence\":\"Consent ist teilweise erkennbar, aber einzelne Punkte sollten Betreiber nachpruefen.\",\"action\":\"Befund mit Betreiber-Guide beheben 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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "7afd476552c99195f884742f21f3a35847197c9f814126144c25aae4138e019e",
            "slack_payload": {
                "text": "[MITTEL] bildung.jugendfeuerwehr.de: Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren*\nBefund mit Betreiber-Guide beheben und danach erneut scannen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Marketing/IT · SLA: 30 Tage · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] bildung.jugendfeuerwehr.de: Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Befund mit Betreiber-Guide beheben und danach erneut scannen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Marketing/IT"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                    "description": "Befund mit Betreiber-Guide beheben und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-5af79aab5bf63ae2a685eae6",
            "ticket_id": "mapping_vendor_cdn.jsdelivr.net",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] cdn.jsdelivr.net",
            "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
            "idempotency_key": "sp-fix-5af79aab5bf63ae2a685eae6",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-5af79aab5bf63ae2a685eae6",
                "X-SaferPage-Body-SHA256": "134ed03fcc9008c756a4a7bfd824c99313c6ff95afd135103ae4e509cf0d21b1",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "mapping_vendor_cdn.jsdelivr.net",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "cdn.jsdelivr.net",
                "evidence": "CDN",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"mapping_vendor_cdn.jsdelivr.net\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"cdn.jsdelivr.net\",\"evidence\":\"CDN\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "134ed03fcc9008c756a4a7bfd824c99313c6ff95afd135103ae4e509cf0d21b1",
            "slack_payload": {
                "text": "[MITTEL] bildung.jugendfeuerwehr.de: cdn.jsdelivr.net",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*cdn.jsdelivr.net*\nZweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Marketing/IT/Datenschutz · SLA: 30 Tage · https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] bildung.jugendfeuerwehr.de: cdn.jsdelivr.net",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "cdn.jsdelivr.net"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] cdn.jsdelivr.net",
                    "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\n\nNachweis: https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-10e9fc5d50812f841cbe522a",
            "ticket_id": "mapping_request_cdn.jsdelivr.net",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] cdn.jsdelivr.net",
            "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
            "idempotency_key": "sp-fix-10e9fc5d50812f841cbe522a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-10e9fc5d50812f841cbe522a",
                "X-SaferPage-Body-SHA256": "6daaacfd46bd42d104ab0f881b22554d86df3817fd72aed4d22a4cb80e71fcf6",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "mapping_request_cdn.jsdelivr.net",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "cdn.jsdelivr.net",
                "evidence": "cdn",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen",
                    "evidence": "https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"mapping_request_cdn.jsdelivr.net\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"cdn.jsdelivr.net\",\"evidence\":\"cdn\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\",\"evidence\":\"https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "6daaacfd46bd42d104ab0f881b22554d86df3817fd72aed4d22a4cb80e71fcf6",
            "slack_payload": {
                "text": "[MITTEL] bildung.jugendfeuerwehr.de: cdn.jsdelivr.net",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*cdn.jsdelivr.net*\nRequest einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Marketing/IT/Datenschutz · SLA: 30 Tage · https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] bildung.jugendfeuerwehr.de: cdn.jsdelivr.net",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "cdn.jsdelivr.net"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] cdn.jsdelivr.net",
                    "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\n\nNachweis: https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-fecbdbf9e93a255a9eb5afa7",
            "ticket_id": "mapping_vendor_cloud.ccm19.de",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] cloud.ccm19.de",
            "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
            "idempotency_key": "sp-fix-fecbdbf9e93a255a9eb5afa7",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-fecbdbf9e93a255a9eb5afa7",
                "X-SaferPage-Body-SHA256": "95047e1cf1c546206c8707f80d14c96ea8b0aaf417a4027d1b20f68350bca04b",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "mapping_vendor_cloud.ccm19.de",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "cloud.ccm19.de",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"mapping_vendor_cloud.ccm19.de\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"cloud.ccm19.de\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "95047e1cf1c546206c8707f80d14c96ea8b0aaf417a4027d1b20f68350bca04b",
            "slack_payload": {
                "text": "[MITTEL] bildung.jugendfeuerwehr.de: cloud.ccm19.de",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*cloud.ccm19.de*\nZweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Marketing/IT/Datenschutz · SLA: 30 Tage · https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] bildung.jugendfeuerwehr.de: cloud.ccm19.de",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "cloud.ccm19.de"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] cloud.ccm19.de",
                    "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\n\nNachweis: https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-6ff51db61872e96de5a37f90",
            "ticket_id": "mapping_request_cloud.ccm19.de",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[bildung.jugendfeuerwehr.de] cloud.ccm19.de",
            "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
            "idempotency_key": "sp-fix-6ff51db61872e96de5a37f90",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-6ff51db61872e96de5a37f90",
                "X-SaferPage-Body-SHA256": "845e3786adb8bb6d54471ae1bb60066705baf9bad3ac431dfd38884a6d422c01",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "mapping_request_cloud.ccm19.de",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "cloud.ccm19.de",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen",
                    "evidence": "https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"mapping_request_cloud.ccm19.de\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"cloud.ccm19.de\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\",\"evidence\":\"https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "845e3786adb8bb6d54471ae1bb60066705baf9bad3ac431dfd38884a6d422c01",
            "slack_payload": {
                "text": "[MITTEL] bildung.jugendfeuerwehr.de: cloud.ccm19.de",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*cloud.ccm19.de*\nRequest einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Marketing/IT/Datenschutz · SLA: 30 Tage · https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] bildung.jugendfeuerwehr.de: cloud.ccm19.de",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "cloud.ccm19.de"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] cloud.ccm19.de",
                    "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\n\nNachweis: https://saferpage.de/anbieter/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-1a50fac7b96363a513f57ed9",
            "ticket_id": "remediation_image_alt_missing",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bildung.jugendfeuerwehr.de] Bilder ohne Alternativtext",
            "description": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.",
            "idempotency_key": "sp-fix-1a50fac7b96363a513f57ed9",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-1a50fac7b96363a513f57ed9",
                "X-SaferPage-Body-SHA256": "572990d3de646e07efab375eea45dcdfe0c6185e7fbf11351bd2bc423d5169ad",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_image_alt_missing",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Bilder ohne Alternativtext",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_image_alt_missing\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Bilder ohne Alternativtext\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "572990d3de646e07efab375eea45dcdfe0c6185e7fbf11351bd2bc423d5169ad",
            "slack_payload": {
                "text": "[NIEDRIG] bildung.jugendfeuerwehr.de: Bilder ohne Alternativtext",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Bilder ohne Alternativtext*\nInhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: quartalsweise · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bildung.jugendfeuerwehr.de: Bilder ohne Alternativtext",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Bilder ohne Alternativtext"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Bilder ohne Alternativtext",
                    "description": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-1bc36c61dc8ac520dc5c1c02",
            "ticket_id": "remediation_missing_cross_origin_embedder_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bildung.jugendfeuerwehr.de] Cross-Origin-Embedder-Policy fehlt",
            "description": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-1bc36c61dc8ac520dc5c1c02",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-1bc36c61dc8ac520dc5c1c02",
                "X-SaferPage-Body-SHA256": "caf4d468cfcc28511d47e59faa9208ca85a54a89d1f8e88022de015e347a4294",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_missing_cross_origin_embedder_policy",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Cross-Origin-Embedder-Policy fehlt",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_missing_cross_origin_embedder_policy\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Cross-Origin-Embedder-Policy fehlt\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "caf4d468cfcc28511d47e59faa9208ca85a54a89d1f8e88022de015e347a4294",
            "slack_payload": {
                "text": "[NIEDRIG] bildung.jugendfeuerwehr.de: Cross-Origin-Embedder-Policy fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cross-Origin-Embedder-Policy fehlt*\nHeader `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: quartalsweise · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bildung.jugendfeuerwehr.de: Cross-Origin-Embedder-Policy fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cross-Origin-Embedder-Policy fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Cross-Origin-Embedder-Policy fehlt",
                    "description": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-837173cd3cf7f0e0c3f120d2",
            "ticket_id": "remediation_missing_cross_origin_opener_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bildung.jugendfeuerwehr.de] Cross-Origin-Opener-Policy fehlt",
            "description": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-837173cd3cf7f0e0c3f120d2",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-837173cd3cf7f0e0c3f120d2",
                "X-SaferPage-Body-SHA256": "a55feece6011ffa3b3e2b4fc5199dd507ae6c8407a5f9a26f99152855bdacf19",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_missing_cross_origin_opener_policy",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Cross-Origin-Opener-Policy fehlt",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_missing_cross_origin_opener_policy\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Cross-Origin-Opener-Policy fehlt\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "a55feece6011ffa3b3e2b4fc5199dd507ae6c8407a5f9a26f99152855bdacf19",
            "slack_payload": {
                "text": "[NIEDRIG] bildung.jugendfeuerwehr.de: Cross-Origin-Opener-Policy fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cross-Origin-Opener-Policy fehlt*\nHeader `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: quartalsweise · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bildung.jugendfeuerwehr.de: Cross-Origin-Opener-Policy fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cross-Origin-Opener-Policy fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Cross-Origin-Opener-Policy fehlt",
                    "description": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-345d655d7303a48eda05e365",
            "ticket_id": "remediation_missing_cross_origin_resource_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bildung.jugendfeuerwehr.de] Cross-Origin-Resource-Policy fehlt",
            "description": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-345d655d7303a48eda05e365",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-345d655d7303a48eda05e365",
                "X-SaferPage-Body-SHA256": "abea4204d93c81b6a6a24d84395e702fa3cdcb77ab3b8c9141ec81a76946d456",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_missing_cross_origin_resource_policy",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Cross-Origin-Resource-Policy fehlt",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_missing_cross_origin_resource_policy\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Cross-Origin-Resource-Policy fehlt\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "abea4204d93c81b6a6a24d84395e702fa3cdcb77ab3b8c9141ec81a76946d456",
            "slack_payload": {
                "text": "[NIEDRIG] bildung.jugendfeuerwehr.de: Cross-Origin-Resource-Policy fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cross-Origin-Resource-Policy fehlt*\nHeader `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: quartalsweise · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bildung.jugendfeuerwehr.de: Cross-Origin-Resource-Policy fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cross-Origin-Resource-Policy fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Cross-Origin-Resource-Policy fehlt",
                    "description": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a950eda2d32a9e4b4237c4d8",
            "ticket_id": "remediation_external_script_without_sri",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bildung.jugendfeuerwehr.de] Externe Skripte ohne Subresource Integrity",
            "description": "Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern.",
            "idempotency_key": "sp-fix-a950eda2d32a9e4b4237c4d8",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a950eda2d32a9e4b4237c4d8",
                "X-SaferPage-Body-SHA256": "a026237ab0a87732fe20ae36dce709646292a6980756a265210cd0697a794dbb",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_external_script_without_sri",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Externe Skripte ohne Subresource Integrity",
                "evidence": "",
                "action": "Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern.",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/externe-skripte-und-sri-absichern",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_external_script_without_sri\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Externe Skripte ohne Subresource Integrity\",\"evidence\":\"\",\"action\":\"Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern.\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/externe-skripte-und-sri-absichern\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "a026237ab0a87732fe20ae36dce709646292a6980756a265210cd0697a794dbb",
            "slack_payload": {
                "text": "[NIEDRIG] bildung.jugendfeuerwehr.de: Externe Skripte ohne Subresource Integrity",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Externe Skripte ohne Subresource Integrity*\nFür statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: quartalsweise · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bildung.jugendfeuerwehr.de: Externe Skripte ohne Subresource Integrity",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Externe Skripte ohne Subresource Integrity"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Externe Skripte ohne Subresource Integrity",
                    "description": "Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/externe-skripte-und-sri-absichern\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-2cbab33fe25de60a0f9755b7",
            "ticket_id": "remediation_missing_meta_description",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bildung.jugendfeuerwehr.de] Meta-Description fehlt",
            "description": "Eine kurze Beschreibung setzen, die den Zweck der Seite erklärt.",
            "idempotency_key": "sp-fix-2cbab33fe25de60a0f9755b7",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-2cbab33fe25de60a0f9755b7",
                "X-SaferPage-Body-SHA256": "39cfa5c1d26aaae6d34a4a041f174f8e0540de53d93237e8d37a7b777ad3ae91",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_missing_meta_description",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Meta-Description fehlt",
                "evidence": "",
                "action": "Eine kurze Beschreibung setzen, die den Zweck der Seite erklärt.",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/externe-skripte-und-sri-absichern",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_missing_meta_description\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Meta-Description fehlt\",\"evidence\":\"\",\"action\":\"Eine kurze Beschreibung setzen, die den Zweck der Seite erklärt.\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/externe-skripte-und-sri-absichern\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "39cfa5c1d26aaae6d34a4a041f174f8e0540de53d93237e8d37a7b777ad3ae91",
            "slack_payload": {
                "text": "[NIEDRIG] bildung.jugendfeuerwehr.de: Meta-Description fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Meta-Description fehlt*\nEine kurze Beschreibung setzen, die den Zweck der Seite erklärt."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: quartalsweise · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bildung.jugendfeuerwehr.de: Meta-Description fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Meta-Description fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Eine kurze Beschreibung setzen, die den Zweck der Seite erklärt."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Meta-Description fehlt",
                    "description": "Eine kurze Beschreibung setzen, die den Zweck der Seite erklärt.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/externe-skripte-und-sri-absichern\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-876d062f39e756b0564610dd",
            "ticket_id": "remediation_missing_permissions_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bildung.jugendfeuerwehr.de] Permissions-Policy fehlt",
            "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-876d062f39e756b0564610dd",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-876d062f39e756b0564610dd",
                "X-SaferPage-Body-SHA256": "af70ea65f6a5bb7274244295aa4ce2fdf1b8b5bb3c736e1ff01f7cc91764ed4a",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_missing_permissions_policy",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Permissions-Policy fehlt",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_missing_permissions_policy\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Permissions-Policy fehlt\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "af70ea65f6a5bb7274244295aa4ce2fdf1b8b5bb3c736e1ff01f7cc91764ed4a",
            "slack_payload": {
                "text": "[NIEDRIG] bildung.jugendfeuerwehr.de: Permissions-Policy fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Permissions-Policy fehlt*\nHeader `permissions-policy` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: quartalsweise · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bildung.jugendfeuerwehr.de: Permissions-Policy fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Permissions-Policy fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `permissions-policy` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Permissions-Policy fehlt",
                    "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-b2c3e6ad3b5d24689f3ccb0c",
            "ticket_id": "remediation_missing_referrer_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bildung.jugendfeuerwehr.de] Referrer-Policy fehlt",
            "description": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-b2c3e6ad3b5d24689f3ccb0c",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-b2c3e6ad3b5d24689f3ccb0c",
                "X-SaferPage-Body-SHA256": "3a5c3c9dbc23382c6967925f57fb5833b9acf395e2774794c15493cdbe377668",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bildung.jugendfeuerwehr.de",
                "scan_id": "8bc1bda4-416e-421f-89e6-07e9f9f3ec96",
                "ticket_id": "remediation_missing_referrer_policy",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Referrer-Policy fehlt",
                "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."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/bildung.jugendfeuerwehr.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "report": "https://saferpage.de/bildung.jugendfeuerwehr.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bildung.jugendfeuerwehr.de\",\"scan_id\":\"8bc1bda4-416e-421f-89e6-07e9f9f3ec96\",\"ticket_id\":\"remediation_missing_referrer_policy\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Referrer-Policy fehlt\",\"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.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de\",\"report\":\"https://saferpage.de/bildung.jugendfeuerwehr.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de\"}}",
            "canonical_body_sha256": "3a5c3c9dbc23382c6967925f57fb5833b9acf395e2774794c15493cdbe377668",
            "slack_payload": {
                "text": "[NIEDRIG] bildung.jugendfeuerwehr.de: Referrer-Policy fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Referrer-Policy fehlt*\nHeader `referrer-policy` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: quartalsweise · https://saferpage.de/befunde/bildung.jugendfeuerwehr.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bildung.jugendfeuerwehr.de: Referrer-Policy fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Referrer-Policy fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `referrer-policy` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bildung.jugendfeuerwehr.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bildung.jugendfeuerwehr.de] Referrer-Policy fehlt",
                    "description": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/bildung.jugendfeuerwehr.de\nGuide: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bildung.jugendfeuerwehr.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        }
    ],
    "links": {
        "fix_guides": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de",
        "tickets_json": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de/tickets-json",
        "json": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de/tickets-delivery-json",
        "csv": "https://saferpage.de/fix-guides/bildung.jugendfeuerwehr.de/tickets-delivery-csv"
    },
    "disclaimer": "Payload-Vorlagen ohne aktive Zustellung und ohne echte Secrets. Betreiber muessen Zielsysteme, Authentifizierung, HMAC-Secret, Projekte, Empfaenger und Freigaben selbst konfigurieren."
}
