{
    "schema": "https://saferpage.de/schemas/operator-remediation-ticket-delivery.v1",
    "generated_at": "2026-06-13T12:57:17+00:00",
    "domain": "mein.berlin.de",
    "available": true,
    "scan": {
        "id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
        "checked_at": "2026-06-12 22:06:09.575496+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": 17,
        "high_priority_count": 5,
        "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-6345b652d6e11063b45b28c9",
            "ticket_id": "remediation_vendor_contract_transfer_fix",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Legal/Vendor Owner",
            "sla": "7 Tage",
            "summary": "[mein.berlin.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-6345b652d6e11063b45b28c9",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-6345b652d6e11063b45b28c9",
                "X-SaferPage-Body-SHA256": "91daa00c34136435f71b2439161b3df653e9d5b5ea2ae0ddc2245200e80f7d30",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "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/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"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/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "91daa00c34136435f71b2439161b3df653e9d5b5ea2ae0ddc2245200e80f7d30",
            "slack_payload": {
                "text": "[HOCH] mein.berlin.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/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] mein.berlin.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": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Legal/Vendor Owner"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.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/mein.berlin.de\nGuide: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-80b6607e4d789abdd29674bf",
            "ticket_id": "remediation_beacon_api_usage",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[mein.berlin.de] Beacon-/Keepalive-Telemetrie erkannt",
            "description": "navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen.",
            "idempotency_key": "sp-fix-80b6607e4d789abdd29674bf",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-80b6607e4d789abdd29674bf",
                "X-SaferPage-Body-SHA256": "48d661b4c4d273fb7bffa008989c91426cd3cf06cb4996723974306840594794",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "ticket_id": "remediation_beacon_api_usage",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Beacon-/Keepalive-Telemetrie erkannt",
                "evidence": "",
                "action": "navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen",
                    "evidence": "https://saferpage.de/befunde/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"ticket_id\":\"remediation_beacon_api_usage\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Beacon-/Keepalive-Telemetrie erkannt\",\"evidence\":\"\",\"action\":\"navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen\",\"evidence\":\"https://saferpage.de/befunde/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "48d661b4c4d273fb7bffa008989c91426cd3cf06cb4996723974306840594794",
            "slack_payload": {
                "text": "[HOCH] mein.berlin.de: Beacon-/Keepalive-Telemetrie erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Beacon-/Keepalive-Telemetrie erkannt*\nnavigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: 7 Tage · https://saferpage.de/befunde/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] mein.berlin.de: Beacon-/Keepalive-Telemetrie erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Beacon-/Keepalive-Telemetrie erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.de] Beacon-/Keepalive-Telemetrie erkannt",
                    "description": "navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen.\n\nNachweis: https://saferpage.de/befunde/mein.berlin.de\nGuide: https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-bc762010663a13191b88c479",
            "ticket_id": "remediation_consent_no_reject_option",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[mein.berlin.de] Cookie-Hinweis ohne klare Ablehnen-Option",
            "description": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.",
            "idempotency_key": "sp-fix-bc762010663a13191b88c479",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-bc762010663a13191b88c479",
                "X-SaferPage-Body-SHA256": "1990ebe6053c67eba49c08dcf2bf2dd2667b442f2a0d64ae5ed70d7e7a2b22f0",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "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/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"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/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "1990ebe6053c67eba49c08dcf2bf2dd2667b442f2a0d64ae5ed70d7e7a2b22f0",
            "slack_payload": {
                "text": "[HOCH] mein.berlin.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/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] mein.berlin.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": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.de] Cookie-Hinweis ohne klare Ablehnen-Option",
                    "description": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.\n\nNachweis: https://saferpage.de/befunde/mein.berlin.de\nGuide: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a1acef492c8da2211c3cb800",
            "ticket_id": "remediation_external_link_spam",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[mein.berlin.de] Sehr viele externe Links erkannt",
            "description": "Prüfen, ob die Seite als Linkfarm, Affiliate-Brücke oder Spam-Seite dient.",
            "idempotency_key": "sp-fix-a1acef492c8da2211c3cb800",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a1acef492c8da2211c3cb800",
                "X-SaferPage-Body-SHA256": "b4f56001972a16fda8215f6c33e0921bcedaf14cb334acd0312af2ad01d65b61",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "ticket_id": "remediation_external_link_spam",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Sehr viele externe Links erkannt",
                "evidence": "",
                "action": "Prüfen, ob die Seite als Linkfarm, Affiliate-Brücke oder Spam-Seite dient.",
                "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/seo-spam-und-cloaking-bereinigen",
                    "evidence": "https://saferpage.de/befunde/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"ticket_id\":\"remediation_external_link_spam\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Sehr viele externe Links erkannt\",\"evidence\":\"\",\"action\":\"Prüfen, ob die Seite als Linkfarm, Affiliate-Brücke oder Spam-Seite dient.\",\"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/seo-spam-und-cloaking-bereinigen\",\"evidence\":\"https://saferpage.de/befunde/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "b4f56001972a16fda8215f6c33e0921bcedaf14cb334acd0312af2ad01d65b61",
            "slack_payload": {
                "text": "[HOCH] mein.berlin.de: Sehr viele externe Links erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Sehr viele externe Links erkannt*\nPrüfen, ob die Seite als Linkfarm, Affiliate-Brücke oder Spam-Seite dient."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: 7 Tage · https://saferpage.de/befunde/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] mein.berlin.de: Sehr viele externe Links erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Sehr viele externe Links erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Prüfen, ob die Seite als Linkfarm, Affiliate-Brücke oder Spam-Seite dient."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.de] Sehr viele externe Links erkannt",
                    "description": "Prüfen, ob die Seite als Linkfarm, Affiliate-Brücke oder Spam-Seite dient.\n\nNachweis: https://saferpage.de/befunde/mein.berlin.de\nGuide: https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-56fdfa563904bd64411243b5",
            "ticket_id": "remediation_third_party_page_url_parameter",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[mein.berlin.de] Seiten-URL wird in Drittanbieter-Requests übertragen",
            "description": "Tracking-/Tag-Parameter für Anbieter wie stats.liqd.net so konfigurieren, dass keine unnötigen Pfade, Suchparameter oder Formularumfelder gesendet werden.",
            "idempotency_key": "sp-fix-56fdfa563904bd64411243b5",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-56fdfa563904bd64411243b5",
                "X-SaferPage-Body-SHA256": "81eceda7feb28ddfb487f9a4785a6f68152e045819e9d104f1dddee41146bad1",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "ticket_id": "remediation_third_party_page_url_parameter",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Seiten-URL wird in Drittanbieter-Requests übertragen",
                "evidence": "",
                "action": "Tracking-/Tag-Parameter für Anbieter wie stats.liqd.net so konfigurieren, dass keine unnötigen Pfade, Suchparameter oder Formularumfelder gesendet werden.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/referrer-und-url-leaks-vermeiden",
                    "evidence": "https://saferpage.de/befunde/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"ticket_id\":\"remediation_third_party_page_url_parameter\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Seiten-URL wird in Drittanbieter-Requests übertragen\",\"evidence\":\"\",\"action\":\"Tracking-/Tag-Parameter für Anbieter wie stats.liqd.net so konfigurieren, dass keine unnötigen Pfade, Suchparameter oder Formularumfelder gesendet werden.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/referrer-und-url-leaks-vermeiden\",\"evidence\":\"https://saferpage.de/befunde/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "81eceda7feb28ddfb487f9a4785a6f68152e045819e9d104f1dddee41146bad1",
            "slack_payload": {
                "text": "[HOCH] mein.berlin.de: Seiten-URL wird in Drittanbieter-Requests übertragen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Seiten-URL wird in Drittanbieter-Requests übertragen*\nTracking-/Tag-Parameter für Anbieter wie stats.liqd.net so konfigurieren, dass keine unnötigen Pfade, Suchparameter oder Formularumfelder gesendet werden."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: 7 Tage · https://saferpage.de/befunde/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] mein.berlin.de: Seiten-URL wird in Drittanbieter-Requests übertragen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Seiten-URL wird in Drittanbieter-Requests übertragen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Tracking-/Tag-Parameter für Anbieter wie stats.liqd.net so konfigurieren, dass keine unnötigen Pfade, Suchparameter oder Formularumfelder gesendet werden."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.de] Seiten-URL wird in Drittanbieter-Requests übertragen",
                    "description": "Tracking-/Tag-Parameter für Anbieter wie stats.liqd.net so konfigurieren, dass keine unnötigen Pfade, Suchparameter oder Formularumfelder gesendet werden.\n\nNachweis: https://saferpage.de/befunde/mein.berlin.de\nGuide: https://saferpage.de/guides/referrer-und-url-leaks-vermeiden\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-6c20ca45dac7e3ff08acd6e8",
            "ticket_id": "remediation_module_privacy_consent",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[mein.berlin.de] Datenschutz, Cookies & Consent",
            "description": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
            "idempotency_key": "sp-fix-6c20ca45dac7e3ff08acd6e8",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-6c20ca45dac7e3ff08acd6e8",
                "X-SaferPage-Body-SHA256": "eb5b1fa81d8905e1fb3a04569d47f07d7c850dc945309530412df393ac837835",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "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: 78.",
                "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/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"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: 78.\",\"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/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "eb5b1fa81d8905e1fb3a04569d47f07d7c850dc945309530412df393ac837835",
            "slack_payload": {
                "text": "[MITTEL] mein.berlin.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/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] mein.berlin.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": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.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/mein.berlin.de\nGuide: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-3e07fd226ff149042ac6dde7",
            "ticket_id": "mapping_vendor_berlin.de",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[mein.berlin.de] berlin.de",
            "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
            "idempotency_key": "sp-fix-3e07fd226ff149042ac6dde7",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-3e07fd226ff149042ac6dde7",
                "X-SaferPage-Body-SHA256": "1b4c2747733b4a4365c82cfd89adb32eb8a6b390a4d190902fb0c3f773e47481",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "ticket_id": "mapping_vendor_berlin.de",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "berlin.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/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"ticket_id\":\"mapping_vendor_berlin.de\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"berlin.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/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "1b4c2747733b4a4365c82cfd89adb32eb8a6b390a4d190902fb0c3f773e47481",
            "slack_payload": {
                "text": "[MITTEL] mein.berlin.de: berlin.de",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*berlin.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/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] mein.berlin.de: berlin.de",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "berlin.de"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.de] berlin.de",
                    "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\n\nNachweis: https://saferpage.de/anbieter/mein.berlin.de\nGuide: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-7ea0ef4813098e373b45b2a3",
            "ticket_id": "mapping_request_berlin.de",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[mein.berlin.de] berlin.de",
            "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
            "idempotency_key": "sp-fix-7ea0ef4813098e373b45b2a3",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-7ea0ef4813098e373b45b2a3",
                "X-SaferPage-Body-SHA256": "a9559430daa7ec9fcda09e42654ded7f8c40c254e0635f5299de6b22e3dc9ca5",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "ticket_id": "mapping_request_berlin.de",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "berlin.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/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"ticket_id\":\"mapping_request_berlin.de\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"berlin.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/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "a9559430daa7ec9fcda09e42654ded7f8c40c254e0635f5299de6b22e3dc9ca5",
            "slack_payload": {
                "text": "[MITTEL] mein.berlin.de: berlin.de",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*berlin.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/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] mein.berlin.de: berlin.de",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "berlin.de"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.de] berlin.de",
                    "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\n\nNachweis: https://saferpage.de/anbieter/mein.berlin.de\nGuide: https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-0ca94101c98df5b793a8c3a5",
            "ticket_id": "mapping_vendor_stats.liqd.net",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[mein.berlin.de] stats.liqd.net",
            "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
            "idempotency_key": "sp-fix-0ca94101c98df5b793a8c3a5",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-0ca94101c98df5b793a8c3a5",
                "X-SaferPage-Body-SHA256": "750db6b95d5d59dac3ed8e8a3a24456d3a27e32fc97b0a42c2e1e7302a67ecbf",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "ticket_id": "mapping_vendor_stats.liqd.net",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "stats.liqd.net",
                "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/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"ticket_id\":\"mapping_vendor_stats.liqd.net\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"stats.liqd.net\",\"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/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "750db6b95d5d59dac3ed8e8a3a24456d3a27e32fc97b0a42c2e1e7302a67ecbf",
            "slack_payload": {
                "text": "[MITTEL] mein.berlin.de: stats.liqd.net",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*stats.liqd.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/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] mein.berlin.de: stats.liqd.net",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "stats.liqd.net"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.de] stats.liqd.net",
                    "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\n\nNachweis: https://saferpage.de/anbieter/mein.berlin.de\nGuide: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-54013ae87ca03be06cea5849",
            "ticket_id": "mapping_request_stats.liqd.net",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[mein.berlin.de] stats.liqd.net",
            "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
            "idempotency_key": "sp-fix-54013ae87ca03be06cea5849",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-54013ae87ca03be06cea5849",
                "X-SaferPage-Body-SHA256": "458ccd894eff1089958132476e82620ab6ab1358588fcea14ebd7d08dbe92286",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "ticket_id": "mapping_request_stats.liqd.net",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "stats.liqd.net",
                "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/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"ticket_id\":\"mapping_request_stats.liqd.net\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"stats.liqd.net\",\"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/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "458ccd894eff1089958132476e82620ab6ab1358588fcea14ebd7d08dbe92286",
            "slack_payload": {
                "text": "[MITTEL] mein.berlin.de: stats.liqd.net",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*stats.liqd.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/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] mein.berlin.de: stats.liqd.net",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "stats.liqd.net"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.de] stats.liqd.net",
                    "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\n\nNachweis: https://saferpage.de/anbieter/mein.berlin.de\nGuide: https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-f19b115928695817751e0fca",
            "ticket_id": "remediation_unknown_vendor_jurisdiction",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[mein.berlin.de] Anbieter-Jurisdiktion nicht klar ableitbar",
            "description": "Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren.",
            "idempotency_key": "sp-fix-f19b115928695817751e0fca",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-f19b115928695817751e0fca",
                "X-SaferPage-Body-SHA256": "77ee37bd30074e6cee5e115dc9a8d8bb3e8d21dee81771726f3380bcb2a247f4",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "ticket_id": "remediation_unknown_vendor_jurisdiction",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Anbieter-Jurisdiktion nicht klar ableitbar",
                "evidence": "",
                "action": "Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittlandtransfer-und-anbieter-pruefen",
                    "evidence": "https://saferpage.de/befunde/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"ticket_id\":\"remediation_unknown_vendor_jurisdiction\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Anbieter-Jurisdiktion nicht klar ableitbar\",\"evidence\":\"\",\"action\":\"Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittlandtransfer-und-anbieter-pruefen\",\"evidence\":\"https://saferpage.de/befunde/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "77ee37bd30074e6cee5e115dc9a8d8bb3e8d21dee81771726f3380bcb2a247f4",
            "slack_payload": {
                "text": "[NIEDRIG] mein.berlin.de: Anbieter-Jurisdiktion nicht klar ableitbar",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Anbieter-Jurisdiktion nicht klar ableitbar*\nUnklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: quartalsweise · https://saferpage.de/befunde/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] mein.berlin.de: Anbieter-Jurisdiktion nicht klar ableitbar",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Anbieter-Jurisdiktion nicht klar ableitbar"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.de] Anbieter-Jurisdiktion nicht klar ableitbar",
                    "description": "Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren.\n\nNachweis: https://saferpage.de/befunde/mein.berlin.de\nGuide: https://saferpage.de/guides/drittlandtransfer-und-anbieter-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-896f9b6bba26da8534d28e84",
            "ticket_id": "remediation_missing_cross_origin_embedder_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[mein.berlin.de] Cross-Origin-Embedder-Policy fehlt",
            "description": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-896f9b6bba26da8534d28e84",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-896f9b6bba26da8534d28e84",
                "X-SaferPage-Body-SHA256": "cbe29807344021e994faa6dafcce9df7fbf85e86a5d4b3553fdc863b01da9e56",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "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/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"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/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "cbe29807344021e994faa6dafcce9df7fbf85e86a5d4b3553fdc863b01da9e56",
            "slack_payload": {
                "text": "[NIEDRIG] mein.berlin.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/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] mein.berlin.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": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.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/mein.berlin.de\nGuide: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-b4178bbe3b4dda9e86f99c89",
            "ticket_id": "remediation_missing_cross_origin_resource_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[mein.berlin.de] Cross-Origin-Resource-Policy fehlt",
            "description": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-b4178bbe3b4dda9e86f99c89",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-b4178bbe3b4dda9e86f99c89",
                "X-SaferPage-Body-SHA256": "55ce4bfcc4b7f7edd19bb45b8461412c083f1b5285339737db633c07207b9bc7",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "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/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"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/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "55ce4bfcc4b7f7edd19bb45b8461412c083f1b5285339737db633c07207b9bc7",
            "slack_payload": {
                "text": "[NIEDRIG] mein.berlin.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/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] mein.berlin.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": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.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/mein.berlin.de\nGuide: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-cf9d622770b3b8bd62fa7beb",
            "ticket_id": "remediation_external_script_without_sri",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[mein.berlin.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-cf9d622770b3b8bd62fa7beb",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-cf9d622770b3b8bd62fa7beb",
                "X-SaferPage-Body-SHA256": "20af47b486ca15ed8490e25176ec0baf2cad25fe094bd0d400bf0e5f79117c8c",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "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/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"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/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "20af47b486ca15ed8490e25176ec0baf2cad25fe094bd0d400bf0e5f79117c8c",
            "slack_payload": {
                "text": "[NIEDRIG] mein.berlin.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/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] mein.berlin.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": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.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/mein.berlin.de\nGuide: https://saferpage.de/guides/externe-skripte-und-sri-absichern\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-c6ebf59740b3a121138f278f",
            "ticket_id": "remediation_missing_meta_description",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[mein.berlin.de] Meta-Description fehlt",
            "description": "Eine kurze Beschreibung setzen, die den Zweck der Seite erklärt.",
            "idempotency_key": "sp-fix-c6ebf59740b3a121138f278f",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-c6ebf59740b3a121138f278f",
                "X-SaferPage-Body-SHA256": "cb6d72b7eb844f3b7ca6d02d1394adbdd3ee11d2e37194a7ea93373427243fbb",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "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/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"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/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "cb6d72b7eb844f3b7ca6d02d1394adbdd3ee11d2e37194a7ea93373427243fbb",
            "slack_payload": {
                "text": "[NIEDRIG] mein.berlin.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/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] mein.berlin.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": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.de] Meta-Description fehlt",
                    "description": "Eine kurze Beschreibung setzen, die den Zweck der Seite erklärt.\n\nNachweis: https://saferpage.de/befunde/mein.berlin.de\nGuide: https://saferpage.de/guides/externe-skripte-und-sri-absichern\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-6d07bfd21f24884237ae2098",
            "ticket_id": "remediation_missing_permissions_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[mein.berlin.de] Permissions-Policy fehlt",
            "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-6d07bfd21f24884237ae2098",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-6d07bfd21f24884237ae2098",
                "X-SaferPage-Body-SHA256": "286278cbe104052a8349ce9463574c5847b1e9830663c64599e07d20d64af11b",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "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/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"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/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "286278cbe104052a8349ce9463574c5847b1e9830663c64599e07d20d64af11b",
            "slack_payload": {
                "text": "[NIEDRIG] mein.berlin.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/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] mein.berlin.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": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.de] Permissions-Policy fehlt",
                    "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/mein.berlin.de\nGuide: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-e511c3e87c2f68328ce79815",
            "ticket_id": "remediation_browser_keystroke_listener_signals",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[mein.berlin.de] Viele Tastatur-/Eingabe-Listener im Browser erkannt",
            "description": "Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen.",
            "idempotency_key": "sp-fix-e511c3e87c2f68328ce79815",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-e511c3e87c2f68328ce79815",
                "X-SaferPage-Body-SHA256": "8c71efcd8b48cb6e82b29c339da2f5a0c6062cb939a0dd03d8fb60ee13d45a61",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "mein.berlin.de",
                "scan_id": "de8950d5-5e39-466f-b926-42fe0f8da67a",
                "ticket_id": "remediation_browser_keystroke_listener_signals",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Viele Tastatur-/Eingabe-Listener im Browser erkannt",
                "evidence": "",
                "action": "Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen.",
                "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/session-replay-und-fingerprinting-pruefen",
                    "evidence": "https://saferpage.de/befunde/mein.berlin.de",
                    "rescan": "https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "report": "https://saferpage.de/mein.berlin.de",
                    "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"mein.berlin.de\",\"scan_id\":\"de8950d5-5e39-466f-b926-42fe0f8da67a\",\"ticket_id\":\"remediation_browser_keystroke_listener_signals\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Viele Tastatur-/Eingabe-Listener im Browser erkannt\",\"evidence\":\"\",\"action\":\"Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen.\",\"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/session-replay-und-fingerprinting-pruefen\",\"evidence\":\"https://saferpage.de/befunde/mein.berlin.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/mein.berlin.de\",\"report\":\"https://saferpage.de/mein.berlin.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/mein.berlin.de\"}}",
            "canonical_body_sha256": "8c71efcd8b48cb6e82b29c339da2f5a0c6062cb939a0dd03d8fb60ee13d45a61",
            "slack_payload": {
                "text": "[NIEDRIG] mein.berlin.de: Viele Tastatur-/Eingabe-Listener im Browser erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Viele Tastatur-/Eingabe-Listener im Browser erkannt*\nPrüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Owner: Website-Betrieb/Datenschutz · SLA: quartalsweise · https://saferpage.de/befunde/mein.berlin.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] mein.berlin.de: Viele Tastatur-/Eingabe-Listener im Browser erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Viele Tastatur-/Eingabe-Listener im Browser erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "mein.berlin.de"
                                        },
                                        {
                                            "title": "Owner",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "SLA",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[mein.berlin.de] Viele Tastatur-/Eingabe-Listener im Browser erkannt",
                    "description": "Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen.\n\nNachweis: https://saferpage.de/befunde/mein.berlin.de\nGuide: https://saferpage.de/guides/session-replay-und-fingerprinting-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/mein.berlin.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        }
    ],
    "links": {
        "fix_guides": "https://saferpage.de/fix-guides/mein.berlin.de",
        "tickets_json": "https://saferpage.de/fix-guides/mein.berlin.de/tickets-json",
        "json": "https://saferpage.de/fix-guides/mein.berlin.de/tickets-delivery-json",
        "csv": "https://saferpage.de/fix-guides/mein.berlin.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."
}
