{
    "schema": "https://saferpage.de/schemas/operator-remediation-ticket-delivery.v1",
    "generated_at": "2026-06-22T04:48:44+00:00",
    "domain": "bavarikon.de",
    "available": true,
    "scan": {
        "id": "32d443b5-d418-47cd-8263-9a31106c942e",
        "checked_at": "2026-06-19 16:39:08.58067+02"
    },
    "summary": "Delivery-Paket fuer Nachweispositionen 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": 4,
        "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 Nachweisposition noch nicht verarbeitet.",
            "Empfaenger, Projekt, Queue und Verantwortlichkeit 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-5b4be052a074376aeb3a46e9",
            "ticket_id": "remediation_button_name_missing",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[bavarikon.de] Buttons ohne erkennbaren Namen",
            "description": "Buttons mit sichtbarem Text oder aria-label beschriften.",
            "idempotency_key": "sp-fix-5b4be052a074376aeb3a46e9",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-5b4be052a074376aeb3a46e9",
                "X-SaferPage-Body-SHA256": "dc99791df6f94d0aec3e8bead9b826aeec5fb10325dcc7154f8854711cfab177",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "ticket_id": "remediation_button_name_missing",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Buttons ohne erkennbaren Namen",
                "evidence": "",
                "action": "Buttons mit sichtbarem Text oder aria-label beschriften.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
                    "evidence": "https://saferpage.de/befunde/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"ticket_id\":\"remediation_button_name_missing\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Buttons ohne erkennbaren Namen\",\"evidence\":\"\",\"action\":\"Buttons mit sichtbarem Text oder aria-label beschriften.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\",\"evidence\":\"https://saferpage.de/befunde/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "dc99791df6f94d0aec3e8bead9b826aeec5fb10325dcc7154f8854711cfab177",
            "slack_payload": {
                "text": "[HOCH] bavarikon.de: Buttons ohne erkennbaren Namen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Buttons ohne erkennbaren Namen*\nButtons mit sichtbarem Text oder aria-label beschriften."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] bavarikon.de: Buttons ohne erkennbaren Namen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Buttons ohne erkennbaren Namen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Buttons mit sichtbarem Text oder aria-label beschriften."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.de] Buttons ohne erkennbaren Namen",
                    "description": "Buttons mit sichtbarem Text oder aria-label beschriften.\n\nNachweis: https://saferpage.de/befunde/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-b31e39e598cb552136eb95ff",
            "ticket_id": "remediation_csp_unsafe_eval",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[bavarikon.de] CSP erlaubt eval-nahe Skriptausführung",
            "description": "unsafe-eval vermeiden und betroffene Bibliotheken oder Build-Konfigurationen prüfen.",
            "idempotency_key": "sp-fix-b31e39e598cb552136eb95ff",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-b31e39e598cb552136eb95ff",
                "X-SaferPage-Body-SHA256": "ebc9f9ccfb1121599db1694d3f22f683acf01710c8d0b7b8fc0a8b059ec2e357",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "ticket_id": "remediation_csp_unsafe_eval",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "CSP erlaubt eval-nahe Skriptausführung",
                "evidence": "",
                "action": "unsafe-eval vermeiden und betroffene Bibliotheken oder Build-Konfigurationen 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/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"ticket_id\":\"remediation_csp_unsafe_eval\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"CSP erlaubt eval-nahe Skriptausführung\",\"evidence\":\"\",\"action\":\"unsafe-eval vermeiden und betroffene Bibliotheken oder Build-Konfigurationen 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/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "ebc9f9ccfb1121599db1694d3f22f683acf01710c8d0b7b8fc0a8b059ec2e357",
            "slack_payload": {
                "text": "[HOCH] bavarikon.de: CSP erlaubt eval-nahe Skriptausführung",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*CSP erlaubt eval-nahe Skriptausführung*\nunsafe-eval vermeiden und betroffene Bibliotheken oder Build-Konfigurationen prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] bavarikon.de: CSP erlaubt eval-nahe Skriptausführung",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "CSP erlaubt eval-nahe Skriptausführung"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "unsafe-eval vermeiden und betroffene Bibliotheken oder Build-Konfigurationen prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.de] CSP erlaubt eval-nahe Skriptausführung",
                    "description": "unsafe-eval vermeiden und betroffene Bibliotheken oder Build-Konfigurationen prüfen.\n\nNachweis: https://saferpage.de/befunde/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-90bd40d8b40a3e8ac9833ad4",
            "ticket_id": "remediation_csp_unsafe_inline",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[bavarikon.de] CSP erlaubt unsafe-inline für Skripte",
            "description": "Inline-Skripte über Nonces oder Hashes freigeben und unsafe-inline aus script-src entfernen.",
            "idempotency_key": "sp-fix-90bd40d8b40a3e8ac9833ad4",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-90bd40d8b40a3e8ac9833ad4",
                "X-SaferPage-Body-SHA256": "92a08f5a2bbda92e3cd610afab0b116d1a035c70d859f495f528c637debd96a3",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "ticket_id": "remediation_csp_unsafe_inline",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "CSP erlaubt unsafe-inline für Skripte",
                "evidence": "",
                "action": "Inline-Skripte über Nonces oder Hashes freigeben und unsafe-inline aus script-src entfernen.",
                "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/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"ticket_id\":\"remediation_csp_unsafe_inline\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"CSP erlaubt unsafe-inline für Skripte\",\"evidence\":\"\",\"action\":\"Inline-Skripte über Nonces oder Hashes freigeben und unsafe-inline aus script-src entfernen.\",\"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/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "92a08f5a2bbda92e3cd610afab0b116d1a035c70d859f495f528c637debd96a3",
            "slack_payload": {
                "text": "[HOCH] bavarikon.de: CSP erlaubt unsafe-inline für Skripte",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*CSP erlaubt unsafe-inline für Skripte*\nInline-Skripte über Nonces oder Hashes freigeben und unsafe-inline aus script-src entfernen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] bavarikon.de: CSP erlaubt unsafe-inline für Skripte",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "CSP erlaubt unsafe-inline für Skripte"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Inline-Skripte über Nonces oder Hashes freigeben und unsafe-inline aus script-src entfernen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.de] CSP erlaubt unsafe-inline für Skripte",
                    "description": "Inline-Skripte über Nonces oder Hashes freigeben und unsafe-inline aus script-src entfernen.\n\nNachweis: https://saferpage.de/befunde/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-2b03e96dc9fdeca49908f6b0",
            "ticket_id": "remediation_external_link_spam",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[bavarikon.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-2b03e96dc9fdeca49908f6b0",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-2b03e96dc9fdeca49908f6b0",
                "X-SaferPage-Body-SHA256": "b10ff140bd3aab5454dd92bf8bb60eed71f6dcc5214980d0da76587cbd899e23",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "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/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"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/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "b10ff140bd3aab5454dd92bf8bb60eed71f6dcc5214980d0da76587cbd899e23",
            "slack_payload": {
                "text": "[HOCH] bavarikon.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": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] bavarikon.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": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.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/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-0baaa8e835e013312b1914c2",
            "ticket_id": "mapping_cookie_jsessionid",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[bavarikon.de] JSESSIONID",
            "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
            "idempotency_key": "sp-fix-0baaa8e835e013312b1914c2",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-0baaa8e835e013312b1914c2",
                "X-SaferPage-Body-SHA256": "8638eb0ddd5a7a04fe0af8a22db69ba4d3d330ac26ca89a037c0b6113d70b2e0",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "ticket_id": "mapping_cookie_jsessionid",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "JSESSIONID",
                "evidence": "bavarikon.de",
                "action": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
                "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/cookie-laufzeiten-und-zwecke-pruefen",
                    "evidence": "https://saferpage.de/cookies/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"ticket_id\":\"mapping_cookie_jsessionid\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"JSESSIONID\",\"evidence\":\"bavarikon.de\",\"action\":\"Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.\",\"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/cookie-laufzeiten-und-zwecke-pruefen\",\"evidence\":\"https://saferpage.de/cookies/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "8638eb0ddd5a7a04fe0af8a22db69ba4d3d330ac26ca89a037c0b6113d70b2e0",
            "slack_payload": {
                "text": "[MITTEL] bavarikon.de: JSESSIONID",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*JSESSIONID*\nZweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/cookies/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] bavarikon.de: JSESSIONID",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "JSESSIONID"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.de] JSESSIONID",
                    "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.\n\nNachweis: https://saferpage.de/cookies/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-6eca4d5f3a12bf253317b3ec",
            "ticket_id": "remediation_security_header_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "IT/Security",
            "sla": "30 Tage",
            "summary": "[bavarikon.de] Security-Header, Referrer-Policy und Browser-Schutz setzen",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-6eca4d5f3a12bf253317b3ec",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-6eca4d5f3a12bf253317b3ec",
                "X-SaferPage-Body-SHA256": "dfd6041a55254cf4d1333d13a83ac856985c3195746b8e726c544444bfe99b8c",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "ticket_id": "remediation_security_header_gap",
                "priority": "mittel",
                "severity": "warning",
                "owner": "IT/Security",
                "sla": "30 Tage",
                "title": "Security-Header, Referrer-Policy und Browser-Schutz setzen",
                "evidence": "4 von 9 wichtigen Security-Headern vorhanden, 4 korrekt bewertet. CSP wirksam mit 13 Direktive(n), 2 Warnung(en), 0 Hinweis(e).",
                "action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"ticket_id\":\"remediation_security_header_gap\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"IT/Security\",\"sla\":\"30 Tage\",\"title\":\"Security-Header, Referrer-Policy und Browser-Schutz setzen\",\"evidence\":\"4 von 9 wichtigen Security-Headern vorhanden, 4 korrekt bewertet. CSP wirksam mit 13 Direktive(n), 2 Warnung(en), 0 Hinweis(e).\",\"action\":\"Befund mit Hintergrundseite einordnen und danach erneut scannen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "dfd6041a55254cf4d1333d13a83ac856985c3195746b8e726c544444bfe99b8c",
            "slack_payload": {
                "text": "[MITTEL] bavarikon.de: Security-Header, Referrer-Policy und Browser-Schutz setzen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Security-Header, Referrer-Policy und Browser-Schutz setzen*\nBefund mit Hintergrundseite einordnen und danach erneut scannen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: IT/Security · Zielzeit: 30 Tage · https://saferpage.de/befunde/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] bavarikon.de: Security-Header, Referrer-Policy und Browser-Schutz setzen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Security-Header, Referrer-Policy und Browser-Schutz setzen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Befund mit Hintergrundseite einordnen und danach erneut scannen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "IT/Security"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.de] Security-Header, Referrer-Policy und Browser-Schutz setzen",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-dd4016bf7e72cbd3626facb6",
            "ticket_id": "remediation_module_security_tls",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[bavarikon.de] Sicherheit, TLS & Header",
            "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
            "idempotency_key": "sp-fix-dd4016bf7e72cbd3626facb6",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-dd4016bf7e72cbd3626facb6",
                "X-SaferPage-Body-SHA256": "79dcd8165be2e710f4b97cc5f6bd03d328b4f7a0a46e9593137d26f61c6d6210",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "ticket_id": "remediation_module_security_tls",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Sicherheit, TLS & Header",
                "evidence": "1 Infrastruktur-Hinweis(e), Security-Header: 4/9 vorhanden, 5 fehlen, externe Skript-Hosts: 0.",
                "action": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"ticket_id\":\"remediation_module_security_tls\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Sicherheit, TLS & Header\",\"evidence\":\"1 Infrastruktur-Hinweis(e), Security-Header: 4/9 vorhanden, 5 fehlen, externe Skript-Hosts: 0.\",\"action\":\"HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "79dcd8165be2e710f4b97cc5f6bd03d328b4f7a0a46e9593137d26f61c6d6210",
            "slack_payload": {
                "text": "[MITTEL] bavarikon.de: Sicherheit, TLS & Header",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Sicherheit, TLS & Header*\nHTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] bavarikon.de: Sicherheit, TLS & Header",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Sicherheit, TLS & Header"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.de] Sicherheit, TLS & Header",
                    "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.\n\nNachweis: https://saferpage.de/befunde/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-f2815b66c7f630952bc79177",
            "ticket_id": "mapping_cookie_xsrf-token",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[bavarikon.de] XSRF-TOKEN",
            "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
            "idempotency_key": "sp-fix-f2815b66c7f630952bc79177",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-f2815b66c7f630952bc79177",
                "X-SaferPage-Body-SHA256": "4242eb069cfdb3f3c611cd4fbb35aa7f10610be1af81dac1004d2cd42632f01f",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "ticket_id": "mapping_cookie_xsrf-token",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "XSRF-TOKEN",
                "evidence": "bavarikon.de",
                "action": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
                "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/cookie-laufzeiten-und-zwecke-pruefen",
                    "evidence": "https://saferpage.de/cookies/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"ticket_id\":\"mapping_cookie_xsrf-token\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"XSRF-TOKEN\",\"evidence\":\"bavarikon.de\",\"action\":\"Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.\",\"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/cookie-laufzeiten-und-zwecke-pruefen\",\"evidence\":\"https://saferpage.de/cookies/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "4242eb069cfdb3f3c611cd4fbb35aa7f10610be1af81dac1004d2cd42632f01f",
            "slack_payload": {
                "text": "[MITTEL] bavarikon.de: XSRF-TOKEN",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*XSRF-TOKEN*\nZweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/cookies/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] bavarikon.de: XSRF-TOKEN",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "XSRF-TOKEN"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.de] XSRF-TOKEN",
                    "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.\n\nNachweis: https://saferpage.de/cookies/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-aba1b3f3abacaaa2e199f530",
            "ticket_id": "remediation_missing_cross_origin_embedder_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bavarikon.de] Cross-Origin-Embedder-Policy fehlt",
            "description": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-aba1b3f3abacaaa2e199f530",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-aba1b3f3abacaaa2e199f530",
                "X-SaferPage-Body-SHA256": "4412fe497ca5b880d0589dc08f72f4edfc0cc969b6ae0fe649a523ce0b257f49",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "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/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"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/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "4412fe497ca5b880d0589dc08f72f4edfc0cc969b6ae0fe649a523ce0b257f49",
            "slack_payload": {
                "text": "[NIEDRIG] bavarikon.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": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bavarikon.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": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.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/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-7c573018625ca4383d866199",
            "ticket_id": "remediation_missing_cross_origin_opener_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bavarikon.de] Cross-Origin-Opener-Policy fehlt",
            "description": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-7c573018625ca4383d866199",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-7c573018625ca4383d866199",
                "X-SaferPage-Body-SHA256": "ce86547fba4544ca4696501ad8c8d94fda608dfbc6589eb19d46a2eb71582b59",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "ticket_id": "remediation_missing_cross_origin_opener_policy",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Cross-Origin-Opener-Policy fehlt",
                "evidence": "",
                "action": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"ticket_id\":\"remediation_missing_cross_origin_opener_policy\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Cross-Origin-Opener-Policy fehlt\",\"evidence\":\"\",\"action\":\"Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "ce86547fba4544ca4696501ad8c8d94fda608dfbc6589eb19d46a2eb71582b59",
            "slack_payload": {
                "text": "[NIEDRIG] bavarikon.de: Cross-Origin-Opener-Policy fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cross-Origin-Opener-Policy fehlt*\nHeader `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bavarikon.de: Cross-Origin-Opener-Policy fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cross-Origin-Opener-Policy fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.de] Cross-Origin-Opener-Policy fehlt",
                    "description": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-5bdfa7a965e60f4ba0c257d4",
            "ticket_id": "remediation_missing_cross_origin_resource_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bavarikon.de] Cross-Origin-Resource-Policy fehlt",
            "description": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-5bdfa7a965e60f4ba0c257d4",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-5bdfa7a965e60f4ba0c257d4",
                "X-SaferPage-Body-SHA256": "15f1d32b09ec0da428a9fb37b844f2dead7ed095bb336498c011c0feca5c89c5",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "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/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"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/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "15f1d32b09ec0da428a9fb37b844f2dead7ed095bb336498c011c0feca5c89c5",
            "slack_payload": {
                "text": "[NIEDRIG] bavarikon.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": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bavarikon.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": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.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/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-086cfdbd3fcfe215e6d9e21b",
            "ticket_id": "remediation_pii_sensitive_link_query",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bavarikon.de] Links mit sensiblen Query-Parametern erkannt",
            "description": "Sensible Parameter aus Links entfernen oder durch serverseitige, kurzlebige Zustände ersetzen.",
            "idempotency_key": "sp-fix-086cfdbd3fcfe215e6d9e21b",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-086cfdbd3fcfe215e6d9e21b",
                "X-SaferPage-Body-SHA256": "1e03b4c52957175565e73cae6ef63c73be911f0987b5f7917fdf4ea913178bcc",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "ticket_id": "remediation_pii_sensitive_link_query",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Links mit sensiblen Query-Parametern erkannt",
                "evidence": "",
                "action": "Sensible Parameter aus Links entfernen oder durch serverseitige, kurzlebige Zustände ersetzen.",
                "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/pii-und-url-datenlecks-vermeiden",
                    "evidence": "https://saferpage.de/befunde/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"ticket_id\":\"remediation_pii_sensitive_link_query\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Links mit sensiblen Query-Parametern erkannt\",\"evidence\":\"\",\"action\":\"Sensible Parameter aus Links entfernen oder durch serverseitige, kurzlebige Zustände ersetzen.\",\"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/pii-und-url-datenlecks-vermeiden\",\"evidence\":\"https://saferpage.de/befunde/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "1e03b4c52957175565e73cae6ef63c73be911f0987b5f7917fdf4ea913178bcc",
            "slack_payload": {
                "text": "[NIEDRIG] bavarikon.de: Links mit sensiblen Query-Parametern erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Links mit sensiblen Query-Parametern erkannt*\nSensible Parameter aus Links entfernen oder durch serverseitige, kurzlebige Zustände ersetzen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bavarikon.de: Links mit sensiblen Query-Parametern erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Links mit sensiblen Query-Parametern erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Sensible Parameter aus Links entfernen oder durch serverseitige, kurzlebige Zustände ersetzen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.de] Links mit sensiblen Query-Parametern erkannt",
                    "description": "Sensible Parameter aus Links entfernen oder durch serverseitige, kurzlebige Zustände ersetzen.\n\nNachweis: https://saferpage.de/befunde/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/pii-und-url-datenlecks-vermeiden\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-28ec0e673c32b2ff32c883c3",
            "ticket_id": "remediation_missing_permissions_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bavarikon.de] Permissions-Policy fehlt",
            "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-28ec0e673c32b2ff32c883c3",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-28ec0e673c32b2ff32c883c3",
                "X-SaferPage-Body-SHA256": "c03876e5439cf8bfc79de686851e82579c39e2741473e2ab7be142288bf274b2",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "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/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"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/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "c03876e5439cf8bfc79de686851e82579c39e2741473e2ab7be142288bf274b2",
            "slack_payload": {
                "text": "[NIEDRIG] bavarikon.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": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bavarikon.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": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.de] Permissions-Policy fehlt",
                    "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-cf1c3b07c4dd50032dd9792a",
            "ticket_id": "remediation_missing_referrer_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bavarikon.de] Referrer-Policy fehlt",
            "description": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-cf1c3b07c4dd50032dd9792a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-cf1c3b07c4dd50032dd9792a",
                "X-SaferPage-Body-SHA256": "2063b5cbf8b52211c1b26237f776c17ad33fd24d71df2dc57db236eeb5630b25",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "ticket_id": "remediation_missing_referrer_policy",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Referrer-Policy fehlt",
                "evidence": "",
                "action": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"ticket_id\":\"remediation_missing_referrer_policy\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Referrer-Policy fehlt\",\"evidence\":\"\",\"action\":\"Header `referrer-policy` setzen und nach Deployment erneut prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "2063b5cbf8b52211c1b26237f776c17ad33fd24d71df2dc57db236eeb5630b25",
            "slack_payload": {
                "text": "[NIEDRIG] bavarikon.de: Referrer-Policy fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Referrer-Policy fehlt*\nHeader `referrer-policy` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bavarikon.de: Referrer-Policy fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Referrer-Policy fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `referrer-policy` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.de] Referrer-Policy fehlt",
                    "description": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-750b5f9ad637e900e0eedb9d",
            "ticket_id": "remediation_privacy_policy_update_date_missing",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bavarikon.de] Stand der Datenschutzerklärung nicht klar erkennbar",
            "description": "Ergänzen Sie ein gut sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach technischen Änderungen.",
            "idempotency_key": "sp-fix-750b5f9ad637e900e0eedb9d",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-750b5f9ad637e900e0eedb9d",
                "X-SaferPage-Body-SHA256": "bbff10562bbb74f7368c6b3e199b4f4a79488cfdc9fcef30d8be3f08339813a1",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "ticket_id": "remediation_privacy_policy_update_date_missing",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Stand der Datenschutzerklärung nicht klar erkennbar",
                "evidence": "",
                "action": "Ergänzen Sie ein gut sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach technischen Änderungen.",
                "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/datenschutzerklaerung-verbessern",
                    "evidence": "https://saferpage.de/befunde/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"ticket_id\":\"remediation_privacy_policy_update_date_missing\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Stand der Datenschutzerklärung nicht klar erkennbar\",\"evidence\":\"\",\"action\":\"Ergänzen Sie ein gut sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach technischen Änderungen.\",\"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/datenschutzerklaerung-verbessern\",\"evidence\":\"https://saferpage.de/befunde/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "bbff10562bbb74f7368c6b3e199b4f4a79488cfdc9fcef30d8be3f08339813a1",
            "slack_payload": {
                "text": "[NIEDRIG] bavarikon.de: Stand der Datenschutzerklärung nicht klar erkennbar",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Stand der Datenschutzerklärung nicht klar erkennbar*\nErgänzen Sie ein gut sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach technischen Änderungen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bavarikon.de: Stand der Datenschutzerklärung nicht klar erkennbar",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Stand der Datenschutzerklärung nicht klar erkennbar"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Ergänzen Sie ein gut sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach technischen Änderungen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.de] Stand der Datenschutzerklärung nicht klar erkennbar",
                    "description": "Ergänzen Sie ein gut sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach technischen Änderungen.\n\nNachweis: https://saferpage.de/befunde/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/datenschutzerklaerung-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-de3cc661b9fa6b7ad8c14fed",
            "ticket_id": "remediation_tracking_pixel_detected",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bavarikon.de] Tracking-Pixel oder pixelnahe Requests erkannt",
            "description": "Pixel von bavarikon.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen.",
            "idempotency_key": "sp-fix-de3cc661b9fa6b7ad8c14fed",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-de3cc661b9fa6b7ad8c14fed",
                "X-SaferPage-Body-SHA256": "72d46dc030ceeee9a7812d718576b7fe7346a68c7b95e97b65df5a883ac04ea3",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "ticket_id": "remediation_tracking_pixel_detected",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Tracking-Pixel oder pixelnahe Requests erkannt",
                "evidence": "",
                "action": "Pixel von bavarikon.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen.",
                "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/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"ticket_id\":\"remediation_tracking_pixel_detected\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Tracking-Pixel oder pixelnahe Requests erkannt\",\"evidence\":\"\",\"action\":\"Pixel von bavarikon.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen.\",\"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/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "72d46dc030ceeee9a7812d718576b7fe7346a68c7b95e97b65df5a883ac04ea3",
            "slack_payload": {
                "text": "[NIEDRIG] bavarikon.de: Tracking-Pixel oder pixelnahe Requests erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Tracking-Pixel oder pixelnahe Requests erkannt*\nPixel von bavarikon.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bavarikon.de: Tracking-Pixel oder pixelnahe Requests erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Tracking-Pixel oder pixelnahe Requests erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Pixel von bavarikon.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.de] Tracking-Pixel oder pixelnahe Requests erkannt",
                    "description": "Pixel von bavarikon.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen.\n\nNachweis: https://saferpage.de/befunde/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-83493edef895257d19312e3c",
            "ticket_id": "remediation_too_many_render_blocking_assets",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[bavarikon.de] Viele potenziell blockierende Assets",
            "description": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.",
            "idempotency_key": "sp-fix-83493edef895257d19312e3c",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-83493edef895257d19312e3c",
                "X-SaferPage-Body-SHA256": "ce395116cb845fe6b2fca164c0b44149c4e1dcae8a786e3bfcfef6b6c8e35201",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "bavarikon.de",
                "scan_id": "32d443b5-d418-47cd-8263-9a31106c942e",
                "ticket_id": "remediation_too_many_render_blocking_assets",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Viele potenziell blockierende Assets",
                "evidence": "",
                "action": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.",
                "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/performance-und-mobile-usability-verbessern",
                    "evidence": "https://saferpage.de/befunde/bavarikon.de",
                    "rescan": "https://saferpage.de/scanbetrieb/bavarikon.de",
                    "report": "https://saferpage.de/bavarikon.de",
                    "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"bavarikon.de\",\"scan_id\":\"32d443b5-d418-47cd-8263-9a31106c942e\",\"ticket_id\":\"remediation_too_many_render_blocking_assets\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Viele potenziell blockierende Assets\",\"evidence\":\"\",\"action\":\"Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.\",\"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/performance-und-mobile-usability-verbessern\",\"evidence\":\"https://saferpage.de/befunde/bavarikon.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/bavarikon.de\",\"report\":\"https://saferpage.de/bavarikon.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/bavarikon.de\"}}",
            "canonical_body_sha256": "ce395116cb845fe6b2fca164c0b44149c4e1dcae8a786e3bfcfef6b6c8e35201",
            "slack_payload": {
                "text": "[NIEDRIG] bavarikon.de: Viele potenziell blockierende Assets",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Viele potenziell blockierende Assets*\nSkripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/bavarikon.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] bavarikon.de: Viele potenziell blockierende Assets",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Viele potenziell blockierende Assets"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "bavarikon.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[bavarikon.de] Viele potenziell blockierende Assets",
                    "description": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.\n\nNachweis: https://saferpage.de/befunde/bavarikon.de\nHintergrundseite: https://saferpage.de/guides/performance-und-mobile-usability-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/bavarikon.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        }
    ],
    "links": {
        "fix_guides": "https://saferpage.de/fix-guides/bavarikon.de",
        "tickets_json": "https://saferpage.de/fix-guides/bavarikon.de/tickets-json",
        "json": "https://saferpage.de/fix-guides/bavarikon.de/tickets-delivery-json",
        "csv": "https://saferpage.de/fix-guides/bavarikon.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."
}
