{
    "schema": "https://saferpage.de/schemas/operator-remediation-ticket-delivery.v1",
    "generated_at": "2026-06-24T11:05:24+00:00",
    "domain": "blog.muenchner-stadtbibliothek.de",
    "available": true,
    "scan": {
        "id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
        "checked_at": "2026-06-20 02:31:50.879493+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": 40,
        "high_priority_count": 13,
        "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-066a873231d606f0fd4a8aaa",
            "ticket_id": "remediation_vendor_contract_transfer_fix",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Legal/Vendor-Verantwortung",
            "sla": "7 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
            "description": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.",
            "idempotency_key": "sp-fix-066a873231d606f0fd4a8aaa",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-066a873231d606f0fd4a8aaa",
                "X-SaferPage-Body-SHA256": "03840bc91f59151c56260d407b2b2d4f2facdf27b237432c52460fda6f15357b",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_vendor_contract_transfer_fix",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Legal/Vendor-Verantwortung",
                "sla": "7 Tage",
                "title": "Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                "evidence": "Vendor-Due-Diligence mit 5 Anbieter(n), 0 hohem Risiko, 5 AVV-/DPA-Prüfung(en) und 0 Transfer-/Jurisdiktionsfrage(n).",
                "action": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_vendor_contract_transfer_fix\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Legal/Vendor-Verantwortung\",\"sla\":\"7 Tage\",\"title\":\"Anbieterakten, AVV/DPA und Transfers priorisiert schließen\",\"evidence\":\"Vendor-Due-Diligence mit 5 Anbieter(n), 0 hohem Risiko, 5 AVV-/DPA-Prüfung(en) und 0 Transfer-/Jurisdiktionsfrage(n).\",\"action\":\"Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "03840bc91f59151c56260d407b2b2d4f2facdf27b237432c52460fda6f15357b",
            "slack_payload": {
                "text": "[HOCH] blog.muenchner-stadtbibliothek.de: Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Anbieterakten, AVV/DPA und Transfers priorisiert schließen*\nTop-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Legal/Vendor-Verantwortung · Zielzeit: 7 Tage · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] blog.muenchner-stadtbibliothek.de: Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Anbieterakten, AVV/DPA und Transfers priorisiert schließen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Legal/Vendor-Verantwortung"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                    "description": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-936fc06228b8ae94b4df6792",
            "ticket_id": "remediation_button_name_missing",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Buttons ohne erkennbaren Namen",
            "description": "Buttons mit sichtbarem Text oder aria-label beschriften.",
            "idempotency_key": "sp-fix-936fc06228b8ae94b4df6792",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-936fc06228b8ae94b4df6792",
                "X-SaferPage-Body-SHA256": "d0ec04ec204ca07549d6b743a0d4017fdc84d0fe2d7a249c67a347f0aa770bea",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "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/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"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/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "d0ec04ec204ca07549d6b743a0d4017fdc84d0fe2d7a249c67a347f0aa770bea",
            "slack_payload": {
                "text": "[HOCH] blog.muenchner-stadtbibliothek.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/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] blog.muenchner-stadtbibliothek.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": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Buttons ohne erkennbaren Namen",
                    "description": "Buttons mit sichtbarem Text oder aria-label beschriften.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-ba110f453d5e12b70c8cf961",
            "ticket_id": "remediation_consent_accept_only",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Consent wirkt wie Nur-Akzeptieren",
            "description": "Cookie-Auswahl und Ablehnen-Option sichtbar anbieten.",
            "idempotency_key": "sp-fix-ba110f453d5e12b70c8cf961",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-ba110f453d5e12b70c8cf961",
                "X-SaferPage-Body-SHA256": "eac67afbbcdef7281f6fb68e7df87e0a6303cc4775ea680e3ce7a75334d57133",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_consent_accept_only",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Consent wirkt wie Nur-Akzeptieren",
                "evidence": "",
                "action": "Cookie-Auswahl und Ablehnen-Option sichtbar anbieten.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_consent_accept_only\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Consent wirkt wie Nur-Akzeptieren\",\"evidence\":\"\",\"action\":\"Cookie-Auswahl und Ablehnen-Option sichtbar anbieten.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "eac67afbbcdef7281f6fb68e7df87e0a6303cc4775ea680e3ce7a75334d57133",
            "slack_payload": {
                "text": "[HOCH] blog.muenchner-stadtbibliothek.de: Consent wirkt wie Nur-Akzeptieren",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Consent wirkt wie Nur-Akzeptieren*\nCookie-Auswahl und Ablehnen-Option sichtbar anbieten."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] blog.muenchner-stadtbibliothek.de: Consent wirkt wie Nur-Akzeptieren",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Consent wirkt wie Nur-Akzeptieren"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Cookie-Auswahl und Ablehnen-Option sichtbar anbieten."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Consent wirkt wie Nur-Akzeptieren",
                    "description": "Cookie-Auswahl und Ablehnen-Option sichtbar anbieten.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-1bb6266f3890611e2a065e9e",
            "ticket_id": "remediation_consent_state_reject_evidence_failed",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus",
            "description": "Reject-Zustand gegen Cookies, Storage und Drittanbieter prüfen; nicht notwendige Signale nach Ablehnen blockieren.",
            "idempotency_key": "sp-fix-1bb6266f3890611e2a065e9e",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-1bb6266f3890611e2a065e9e",
                "X-SaferPage-Body-SHA256": "45d80e18c3f567b95fa42a188c6bcca0fd2462a0917ddf7a653a6fca67a0923d",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_consent_state_reject_evidence_failed",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus",
                "evidence": "",
                "action": "Reject-Zustand gegen Cookies, Storage und Drittanbieter prüfen; nicht notwendige Signale nach Ablehnen blockieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_consent_state_reject_evidence_failed\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus\",\"evidence\":\"\",\"action\":\"Reject-Zustand gegen Cookies, Storage und Drittanbieter prüfen; nicht notwendige Signale nach Ablehnen blockieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "45d80e18c3f567b95fa42a188c6bcca0fd2462a0917ddf7a653a6fca67a0923d",
            "slack_payload": {
                "text": "[HOCH] blog.muenchner-stadtbibliothek.de: Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus*\nReject-Zustand gegen Cookies, Storage und Drittanbieter prüfen; nicht notwendige Signale nach Ablehnen blockieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] blog.muenchner-stadtbibliothek.de: Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Reject-Zustand gegen Cookies, Storage und Drittanbieter prüfen; nicht notwendige Signale nach Ablehnen blockieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus",
                    "description": "Reject-Zustand gegen Cookies, Storage und Drittanbieter prüfen; nicht notwendige Signale nach Ablehnen blockieren.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-1e8e1b16d07d9cedf8eb062a",
            "ticket_id": "remediation_missing_csp",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Content-Security-Policy fehlt",
            "description": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-1e8e1b16d07d9cedf8eb062a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-1e8e1b16d07d9cedf8eb062a",
                "X-SaferPage-Body-SHA256": "62472150737800b61617d4e9178a843a0938ef6f0f4fb8343b0be747bb6298db",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_missing_csp",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Content-Security-Policy fehlt",
                "evidence": "",
                "action": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_missing_csp\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Content-Security-Policy fehlt\",\"evidence\":\"\",\"action\":\"Header `content-security-policy` setzen und nach Deployment erneut prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "62472150737800b61617d4e9178a843a0938ef6f0f4fb8343b0be747bb6298db",
            "slack_payload": {
                "text": "[HOCH] blog.muenchner-stadtbibliothek.de: Content-Security-Policy fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Content-Security-Policy fehlt*\nHeader `content-security-policy` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] blog.muenchner-stadtbibliothek.de: Content-Security-Policy fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Content-Security-Policy fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `content-security-policy` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Content-Security-Policy fehlt",
                    "description": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-cdc485cd264f02703af216f0",
            "ticket_id": "remediation_consent_no_reject_option",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Cookie-Hinweis ohne klare Ablehnen-Option",
            "description": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.",
            "idempotency_key": "sp-fix-cdc485cd264f02703af216f0",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-cdc485cd264f02703af216f0",
                "X-SaferPage-Body-SHA256": "d4725a6acb20078dd91d01c13144265fac7aee300eb4425f430e762aacae0dbb",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_consent_no_reject_option",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Cookie-Hinweis ohne klare Ablehnen-Option",
                "evidence": "",
                "action": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_consent_no_reject_option\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Cookie-Hinweis ohne klare Ablehnen-Option\",\"evidence\":\"\",\"action\":\"Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "d4725a6acb20078dd91d01c13144265fac7aee300eb4425f430e762aacae0dbb",
            "slack_payload": {
                "text": "[HOCH] blog.muenchner-stadtbibliothek.de: Cookie-Hinweis ohne klare Ablehnen-Option",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cookie-Hinweis ohne klare Ablehnen-Option*\nAblehnen sollte genauso leicht auffindbar sein wie Akzeptieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] blog.muenchner-stadtbibliothek.de: Cookie-Hinweis ohne klare Ablehnen-Option",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cookie-Hinweis ohne klare Ablehnen-Option"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Cookie-Hinweis ohne klare Ablehnen-Option",
                    "description": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-f9065f383f189a361cc036a9",
            "ticket_id": "remediation_module_privacy_consent",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Datenschutz, Cookies & Consent",
            "description": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
            "idempotency_key": "sp-fix-f9065f383f189a361cc036a9",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-f9065f383f189a361cc036a9",
                "X-SaferPage-Body-SHA256": "d33897dfaa935ebc3612edc7590f69b71e3e725f1a2b1425381d8c04ba09c51f",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_module_privacy_consent",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Datenschutz, Cookies & Consent",
                "evidence": "0 Tracking-Script(s), 0 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 26.",
                "action": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_module_privacy_consent\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Datenschutz, Cookies & Consent\",\"evidence\":\"0 Tracking-Script(s), 0 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 26.\",\"action\":\"Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "d33897dfaa935ebc3612edc7590f69b71e3e725f1a2b1425381d8c04ba09c51f",
            "slack_payload": {
                "text": "[HOCH] blog.muenchner-stadtbibliothek.de: Datenschutz, Cookies & Consent",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Datenschutz, Cookies & Consent*\nTracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] blog.muenchner-stadtbibliothek.de: Datenschutz, Cookies & Consent",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Datenschutz, Cookies & Consent"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Datenschutz, Cookies & Consent",
                    "description": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-01379debeb5c3ef1fca05c9b",
            "ticket_id": "remediation_privacy_policy_required_items_missing",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab",
            "description": "Verantwortlicher, Zwecke, Rechtsgrundlagen, Rechte, Speicherfristen, Empfänger, Cookies/Tracking und Widerruf strukturiert ergänzen.",
            "idempotency_key": "sp-fix-01379debeb5c3ef1fca05c9b",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-01379debeb5c3ef1fca05c9b",
                "X-SaferPage-Body-SHA256": "e401b7c2a33bfadaaf7bd79597afbcc5ee2d30d9d7ed3e95b96967bcd90d357a",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_privacy_policy_required_items_missing",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab",
                "evidence": "",
                "action": "Verantwortlicher, Zwecke, Rechtsgrundlagen, Rechte, Speicherfristen, Empfänger, Cookies/Tracking und Widerruf strukturiert ergänzen.",
                "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/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_privacy_policy_required_items_missing\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab\",\"evidence\":\"\",\"action\":\"Verantwortlicher, Zwecke, Rechtsgrundlagen, Rechte, Speicherfristen, Empfänger, Cookies/Tracking und Widerruf strukturiert ergänzen.\",\"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/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "e401b7c2a33bfadaaf7bd79597afbcc5ee2d30d9d7ed3e95b96967bcd90d357a",
            "slack_payload": {
                "text": "[HOCH] blog.muenchner-stadtbibliothek.de: Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab*\nVerantwortlicher, Zwecke, Rechtsgrundlagen, Rechte, Speicherfristen, Empfänger, Cookies/Tracking und Widerruf strukturiert ergänzen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] blog.muenchner-stadtbibliothek.de: Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Verantwortlicher, Zwecke, Rechtsgrundlagen, Rechte, Speicherfristen, Empfänger, Cookies/Tracking und Widerruf strukturiert ergänzen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab",
                    "description": "Verantwortlicher, Zwecke, Rechtsgrundlagen, Rechte, Speicherfristen, Empfänger, Cookies/Tracking und Widerruf strukturiert ergänzen.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/datenschutzerklaerung-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-863cc210c7d02a6334ba0cfb",
            "ticket_id": "remediation_privacy_policy_too_thin",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Datenschutzhinweis wirkt sehr dünn",
            "description": "Datenschutzerklärung sollte Verarbeitung, Rechtsgrundlagen, Cookies/Drittanbieter und Betroffenenrechte nachvollziehbar erklären.",
            "idempotency_key": "sp-fix-863cc210c7d02a6334ba0cfb",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-863cc210c7d02a6334ba0cfb",
                "X-SaferPage-Body-SHA256": "5c4ac44ebbd5d59f43f4f4d7e7b5f5285adbaaa099e9860d85af8607aa94926f",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_privacy_policy_too_thin",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Datenschutzhinweis wirkt sehr dünn",
                "evidence": "",
                "action": "Datenschutzerklärung sollte Verarbeitung, Rechtsgrundlagen, Cookies/Drittanbieter und Betroffenenrechte nachvollziehbar erklären.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/datenschutzerklaerung-verbessern",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_privacy_policy_too_thin\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Datenschutzhinweis wirkt sehr dünn\",\"evidence\":\"\",\"action\":\"Datenschutzerklärung sollte Verarbeitung, Rechtsgrundlagen, Cookies/Drittanbieter und Betroffenenrechte nachvollziehbar erklären.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/datenschutzerklaerung-verbessern\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "5c4ac44ebbd5d59f43f4f4d7e7b5f5285adbaaa099e9860d85af8607aa94926f",
            "slack_payload": {
                "text": "[HOCH] blog.muenchner-stadtbibliothek.de: Datenschutzhinweis wirkt sehr dünn",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Datenschutzhinweis wirkt sehr dünn*\nDatenschutzerklärung sollte Verarbeitung, Rechtsgrundlagen, Cookies/Drittanbieter und Betroffenenrechte nachvollziehbar erklären."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] blog.muenchner-stadtbibliothek.de: Datenschutzhinweis wirkt sehr dünn",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Datenschutzhinweis wirkt sehr dünn"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Datenschutzerklärung sollte Verarbeitung, Rechtsgrundlagen, Cookies/Drittanbieter und Betroffenenrechte nachvollziehbar erklären."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Datenschutzhinweis wirkt sehr dünn",
                    "description": "Datenschutzerklärung sollte Verarbeitung, Rechtsgrundlagen, Cookies/Drittanbieter und Betroffenenrechte nachvollziehbar erklären.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/datenschutzerklaerung-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-85e6d2fa2d97c013eb41cf83",
            "ticket_id": "remediation_third_party_page_url_parameter",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Seiten-URL wird in Drittanbieter-Requests übertragen",
            "description": "Tracking-/Tag-Parameter für Anbieter wie uct.service.usercentrics.eu so konfigurieren, dass keine unnötigen Pfade, Suchparameter oder Formularumfelder gesendet werden.",
            "idempotency_key": "sp-fix-85e6d2fa2d97c013eb41cf83",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-85e6d2fa2d97c013eb41cf83",
                "X-SaferPage-Body-SHA256": "e693041e2869f69caebad18d9593597a2d7e0356a692f2dc011dc9b01572bf8f",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_third_party_page_url_parameter",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Seiten-URL wird in Drittanbieter-Requests übertragen",
                "evidence": "",
                "action": "Tracking-/Tag-Parameter für Anbieter wie uct.service.usercentrics.eu so konfigurieren, dass keine unnötigen Pfade, Suchparameter oder Formularumfelder gesendet werden.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/referrer-und-url-leaks-vermeiden",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_third_party_page_url_parameter\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Seiten-URL wird in Drittanbieter-Requests übertragen\",\"evidence\":\"\",\"action\":\"Tracking-/Tag-Parameter für Anbieter wie uct.service.usercentrics.eu so konfigurieren, dass keine unnötigen Pfade, Suchparameter oder Formularumfelder gesendet werden.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/referrer-und-url-leaks-vermeiden\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "e693041e2869f69caebad18d9593597a2d7e0356a692f2dc011dc9b01572bf8f",
            "slack_payload": {
                "text": "[HOCH] blog.muenchner-stadtbibliothek.de: Seiten-URL wird in Drittanbieter-Requests übertragen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Seiten-URL wird in Drittanbieter-Requests übertragen*\nTracking-/Tag-Parameter für Anbieter wie uct.service.usercentrics.eu so konfigurieren, dass keine unnötigen Pfade, Suchparameter oder Formularumfelder gesendet werden."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] blog.muenchner-stadtbibliothek.de: Seiten-URL wird in Drittanbieter-Requests übertragen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Seiten-URL wird in Drittanbieter-Requests übertragen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Tracking-/Tag-Parameter für Anbieter wie uct.service.usercentrics.eu so konfigurieren, dass keine unnötigen Pfade, Suchparameter oder Formularumfelder gesendet werden."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Seiten-URL wird in Drittanbieter-Requests übertragen",
                    "description": "Tracking-/Tag-Parameter für Anbieter wie uct.service.usercentrics.eu so konfigurieren, dass keine unnötigen Pfade, Suchparameter oder Formularumfelder gesendet werden.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/referrer-und-url-leaks-vermeiden\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a7783a1c49ae6cf216aaa2cd",
            "ticket_id": "remediation_third_party_sensitive_query_leak",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Sensible URL-Schlüssel im Drittanbieter-Kontext",
            "description": "Sensible Parameter wie E-Mail, Name, Token oder Session-IDs aus URLs entfernen und Drittanbieter-Tags auf solchen Seiten blockieren.",
            "idempotency_key": "sp-fix-a7783a1c49ae6cf216aaa2cd",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a7783a1c49ae6cf216aaa2cd",
                "X-SaferPage-Body-SHA256": "9a7a1de9e47e33a62eda5a444a8e3cbf2ce8bc48462480dac33ee5a52c15869c",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_third_party_sensitive_query_leak",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Sensible URL-Schlüssel im Drittanbieter-Kontext",
                "evidence": "",
                "action": "Sensible Parameter wie E-Mail, Name, Token oder Session-IDs aus URLs entfernen und Drittanbieter-Tags auf solchen Seiten blockieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/referrer-und-url-leaks-vermeiden",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_third_party_sensitive_query_leak\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Sensible URL-Schlüssel im Drittanbieter-Kontext\",\"evidence\":\"\",\"action\":\"Sensible Parameter wie E-Mail, Name, Token oder Session-IDs aus URLs entfernen und Drittanbieter-Tags auf solchen Seiten blockieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/referrer-und-url-leaks-vermeiden\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "9a7a1de9e47e33a62eda5a444a8e3cbf2ce8bc48462480dac33ee5a52c15869c",
            "slack_payload": {
                "text": "[HOCH] blog.muenchner-stadtbibliothek.de: Sensible URL-Schlüssel im Drittanbieter-Kontext",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Sensible URL-Schlüssel im Drittanbieter-Kontext*\nSensible Parameter wie E-Mail, Name, Token oder Session-IDs aus URLs entfernen und Drittanbieter-Tags auf solchen Seiten blockieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] blog.muenchner-stadtbibliothek.de: Sensible URL-Schlüssel im Drittanbieter-Kontext",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Sensible URL-Schlüssel im Drittanbieter-Kontext"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Sensible Parameter wie E-Mail, Name, Token oder Session-IDs aus URLs entfernen und Drittanbieter-Tags auf solchen Seiten blockieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Sensible URL-Schlüssel im Drittanbieter-Kontext",
                    "description": "Sensible Parameter wie E-Mail, Name, Token oder Session-IDs aus URLs entfernen und Drittanbieter-Tags auf solchen Seiten blockieren.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/referrer-und-url-leaks-vermeiden\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-c155b9a25553371de36fdb71",
            "ticket_id": "remediation_consent_preconsent_gap",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Marketing/IT",
            "sla": "7 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-c155b9a25553371de36fdb71",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-c155b9a25553371de36fdb71",
                "X-SaferPage-Body-SHA256": "5ee1c751b05ad4c48e3f4b19e6ae726a54a897bd7f2078315f0d09950c3d533e",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_consent_preconsent_gap",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Marketing/IT",
                "sla": "7 Tage",
                "title": "Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                "evidence": "Consent, Tracking oder Drittanbieter wirken im Erstaufruf deutlich nachbesserungsbeduerftig.",
                "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/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_consent_preconsent_gap\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Marketing/IT\",\"sla\":\"7 Tage\",\"title\":\"Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren\",\"evidence\":\"Consent, Tracking oder Drittanbieter wirken im Erstaufruf deutlich nachbesserungsbeduerftig.\",\"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/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "5ee1c751b05ad4c48e3f4b19e6ae726a54a897bd7f2078315f0d09950c3d533e",
            "slack_payload": {
                "text": "[HOCH] blog.muenchner-stadtbibliothek.de: Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren*\nBefund mit Hintergrundseite einordnen und danach erneut scannen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT · Zielzeit: 7 Tage · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] blog.muenchner-stadtbibliothek.de: Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Befund mit Hintergrundseite einordnen und danach erneut scannen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-934bdbb54ae8b0088da45461",
            "ticket_id": "remediation_browser_storage_tracking_hints",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Tracking-Hinweise im Browser-Storage",
            "description": "LocalStorage und SessionStorage wie Cookies inventarisieren und nicht notwendige IDs an Consent koppeln.",
            "idempotency_key": "sp-fix-934bdbb54ae8b0088da45461",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-934bdbb54ae8b0088da45461",
                "X-SaferPage-Body-SHA256": "e41fd01ed06afa831803012948ea9462b514d0c9e13d759634943e202fa550fd",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_browser_storage_tracking_hints",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Tracking-Hinweise im Browser-Storage",
                "evidence": "",
                "action": "LocalStorage und SessionStorage wie Cookies inventarisieren und nicht notwendige IDs an Consent koppeln.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_browser_storage_tracking_hints\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Tracking-Hinweise im Browser-Storage\",\"evidence\":\"\",\"action\":\"LocalStorage und SessionStorage wie Cookies inventarisieren und nicht notwendige IDs an Consent koppeln.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "e41fd01ed06afa831803012948ea9462b514d0c9e13d759634943e202fa550fd",
            "slack_payload": {
                "text": "[HOCH] blog.muenchner-stadtbibliothek.de: Tracking-Hinweise im Browser-Storage",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Tracking-Hinweise im Browser-Storage*\nLocalStorage und SessionStorage wie Cookies inventarisieren und nicht notwendige IDs an Consent koppeln."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] blog.muenchner-stadtbibliothek.de: Tracking-Hinweise im Browser-Storage",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Tracking-Hinweise im Browser-Storage"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "LocalStorage und SessionStorage wie Cookies inventarisieren und nicht notwendige IDs an Consent koppeln."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Tracking-Hinweise im Browser-Storage",
                    "description": "LocalStorage und SessionStorage wie Cookies inventarisieren und nicht notwendige IDs an Consent koppeln.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-aa6938fd806638cfb51ee0b5",
            "ticket_id": "remediation_module_browser_evidence",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Browser-Nachweis",
            "description": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.",
            "idempotency_key": "sp-fix-aa6938fd806638cfb51ee0b5",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-aa6938fd806638cfb51ee0b5",
                "X-SaferPage-Body-SHA256": "47db7a6c02c822ccd382cf35a166009e899e4b210c549cf3ad7bf912ce4cc0ef",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_module_browser_evidence",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Browser-Nachweis",
                "evidence": "25 Request(s), 5 Drittanbieter-Domain(s), davon 0 datenschutzrelevant, 0 Browser-Cookie(s), Transfer-Prüfbedarf: 0, Referrer-/URL-Leaks: 1, Fingerprinting-/Replay-Hinweise: 1.",
                "action": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_module_browser_evidence\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Browser-Nachweis\",\"evidence\":\"25 Request(s), 5 Drittanbieter-Domain(s), davon 0 datenschutzrelevant, 0 Browser-Cookie(s), Transfer-Prüfbedarf: 0, Referrer-/URL-Leaks: 1, Fingerprinting-/Replay-Hinweise: 1.\",\"action\":\"Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "47db7a6c02c822ccd382cf35a166009e899e4b210c549cf3ad7bf912ce4cc0ef",
            "slack_payload": {
                "text": "[MITTEL] blog.muenchner-stadtbibliothek.de: Browser-Nachweis",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Browser-Nachweis*\nUnnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] blog.muenchner-stadtbibliothek.de: Browser-Nachweis",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Browser-Nachweis"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Browser-Nachweis",
                    "description": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-76ecef801a05e7540ff54d82",
            "ticket_id": "remediation_third_party_mapping_fix",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Datenschutz/Marketing/IT",
            "sla": "30 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Drittanbieter aus Browserkontakten einem Dienst zuordnen",
            "description": "Servicekarte je Anbieter anlegen und Datenschutzhinweis, CMP und Anbieterregister synchronisieren.",
            "idempotency_key": "sp-fix-76ecef801a05e7540ff54d82",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-76ecef801a05e7540ff54d82",
                "X-SaferPage-Body-SHA256": "1cc1dcd7a7b71c111272453c6ec08837a5f88d81b93b18df46147d754c06470a",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_third_party_mapping_fix",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Datenschutz/Marketing/IT",
                "sla": "30 Tage",
                "title": "Drittanbieter aus Browserkontakten einem Dienst zuordnen",
                "evidence": "5 Drittanbieter-Domain(s) im Browserlauf.",
                "action": "Servicekarte je Anbieter anlegen und Datenschutzhinweis, CMP und Anbieterregister synchronisieren.",
                "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/servicekarte-und-anbieterinventar-aufbauen",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_third_party_mapping_fix\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Datenschutz/Marketing/IT\",\"sla\":\"30 Tage\",\"title\":\"Drittanbieter aus Browserkontakten einem Dienst zuordnen\",\"evidence\":\"5 Drittanbieter-Domain(s) im Browserlauf.\",\"action\":\"Servicekarte je Anbieter anlegen und Datenschutzhinweis, CMP und Anbieterregister synchronisieren.\",\"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/servicekarte-und-anbieterinventar-aufbauen\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "1cc1dcd7a7b71c111272453c6ec08837a5f88d81b93b18df46147d754c06470a",
            "slack_payload": {
                "text": "[MITTEL] blog.muenchner-stadtbibliothek.de: Drittanbieter aus Browserkontakten einem Dienst zuordnen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Drittanbieter aus Browserkontakten einem Dienst zuordnen*\nServicekarte je Anbieter anlegen und Datenschutzhinweis, CMP und Anbieterregister synchronisieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Datenschutz/Marketing/IT · Zielzeit: 30 Tage · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] blog.muenchner-stadtbibliothek.de: Drittanbieter aus Browserkontakten einem Dienst zuordnen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Drittanbieter aus Browserkontakten einem Dienst zuordnen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Servicekarte je Anbieter anlegen und Datenschutzhinweis, CMP und Anbieterregister synchronisieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Datenschutz/Marketing/IT"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Drittanbieter aus Browserkontakten einem Dienst zuordnen",
                    "description": "Servicekarte je Anbieter anlegen und Datenschutzhinweis, CMP und Anbieterregister synchronisieren.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-245a23385045ee9ab69eebdb",
            "ticket_id": "remediation_module_referrer_url_leaks",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Referrer & URL-Leaks",
            "description": "Referrer-Policy härten, sensible Query-Parameter entfernen und Tracking-Parameter ohne volle Seiten-URL konfigurieren.",
            "idempotency_key": "sp-fix-245a23385045ee9ab69eebdb",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-245a23385045ee9ab69eebdb",
                "X-SaferPage-Body-SHA256": "f5bc4c5b7207f47b6a04142f9efecd1c980bc24f29823468e9a5869869920680",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_module_referrer_url_leaks",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Referrer & URL-Leaks",
                "evidence": "1 Drittanbieter-Domain(s) mit Referrer-/URL-Leak-Prüfbedarf, 1 sensible Query-Kontexte.",
                "action": "Referrer-Policy härten, sensible Query-Parameter entfernen und Tracking-Parameter ohne volle Seiten-URL 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/referrer-und-url-leaks-vermeiden",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_module_referrer_url_leaks\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Referrer & URL-Leaks\",\"evidence\":\"1 Drittanbieter-Domain(s) mit Referrer-/URL-Leak-Prüfbedarf, 1 sensible Query-Kontexte.\",\"action\":\"Referrer-Policy härten, sensible Query-Parameter entfernen und Tracking-Parameter ohne volle Seiten-URL 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/referrer-und-url-leaks-vermeiden\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "f5bc4c5b7207f47b6a04142f9efecd1c980bc24f29823468e9a5869869920680",
            "slack_payload": {
                "text": "[MITTEL] blog.muenchner-stadtbibliothek.de: Referrer & URL-Leaks",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Referrer & URL-Leaks*\nReferrer-Policy härten, sensible Query-Parameter entfernen und Tracking-Parameter ohne volle Seiten-URL konfigurieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] blog.muenchner-stadtbibliothek.de: Referrer & URL-Leaks",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Referrer & URL-Leaks"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Referrer-Policy härten, sensible Query-Parameter entfernen und Tracking-Parameter ohne volle Seiten-URL konfigurieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Referrer & URL-Leaks",
                    "description": "Referrer-Policy härten, sensible Query-Parameter entfernen und Tracking-Parameter ohne volle Seiten-URL konfigurieren.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/referrer-und-url-leaks-vermeiden\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-bdedaf7c8f8b25d49e9885b7",
            "ticket_id": "remediation_security_header_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "IT/Security",
            "sla": "30 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Security-Header, Referrer-Policy und Browser-Schutz setzen",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-bdedaf7c8f8b25d49e9885b7",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-bdedaf7c8f8b25d49e9885b7",
                "X-SaferPage-Body-SHA256": "a665c98544e8288b05f234d0a3e56b6d69348622bfab14ca129b776e03e8bea6",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "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. Keine Content-Security-Policy gefunden.",
                "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/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"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. Keine Content-Security-Policy gefunden.\",\"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/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "a665c98544e8288b05f234d0a3e56b6d69348622bfab14ca129b776e03e8bea6",
            "slack_payload": {
                "text": "[MITTEL] blog.muenchner-stadtbibliothek.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/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] blog.muenchner-stadtbibliothek.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": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "IT/Security"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Security-Header, Referrer-Policy und Browser-Schutz setzen",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-366a03c7cb0296dccd565984",
            "ticket_id": "remediation_module_security_tls",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] Sicherheit, TLS & Header",
            "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
            "idempotency_key": "sp-fix-366a03c7cb0296dccd565984",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-366a03c7cb0296dccd565984",
                "X-SaferPage-Body-SHA256": "77c8c2c37dcc5cf0585415c9fdb6a7759a4c35a139b7a0da5ba0d8209060dfa1",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "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: 2.",
                "action": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"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: 2.\",\"action\":\"HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "77c8c2c37dcc5cf0585415c9fdb6a7759a4c35a139b7a0da5ba0d8209060dfa1",
            "slack_payload": {
                "text": "[MITTEL] blog.muenchner-stadtbibliothek.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/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] blog.muenchner-stadtbibliothek.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": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Sicherheit, TLS & Header",
                    "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-e2dca560e36e9b75ef9ea7b9",
            "ticket_id": "mapping_vendor_api.usercentrics.eu",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] api.usercentrics.eu",
            "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
            "idempotency_key": "sp-fix-e2dca560e36e9b75ef9ea7b9",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-e2dca560e36e9b75ef9ea7b9",
                "X-SaferPage-Body-SHA256": "b6a5d92c0555feb6ce49abcbba2d31bfe9922aa0f1e2483fbc2c2809d9641e6d",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "mapping_vendor_api.usercentrics.eu",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "api.usercentrics.eu",
                "evidence": "Sonstige",
                "action": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"mapping_vendor_api.usercentrics.eu\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"api.usercentrics.eu\",\"evidence\":\"Sonstige\",\"action\":\"Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "b6a5d92c0555feb6ce49abcbba2d31bfe9922aa0f1e2483fbc2c2809d9641e6d",
            "slack_payload": {
                "text": "[MITTEL] blog.muenchner-stadtbibliothek.de: api.usercentrics.eu",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*api.usercentrics.eu*\nZweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] blog.muenchner-stadtbibliothek.de: api.usercentrics.eu",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "api.usercentrics.eu"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] api.usercentrics.eu",
                    "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\n\nNachweis: https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-286b376c6ae65cfe3907534e",
            "ticket_id": "mapping_request_api.usercentrics.eu",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] api.usercentrics.eu",
            "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
            "idempotency_key": "sp-fix-286b376c6ae65cfe3907534e",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-286b376c6ae65cfe3907534e",
                "X-SaferPage-Body-SHA256": "8c30c4edeed4840e508ee6c90ec7a2a8dbf7a71527b08e2557de8e6199328a8b",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "mapping_request_api.usercentrics.eu",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "api.usercentrics.eu",
                "evidence": "other",
                "action": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen",
                    "evidence": "https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"mapping_request_api.usercentrics.eu\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"api.usercentrics.eu\",\"evidence\":\"other\",\"action\":\"Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\",\"evidence\":\"https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "8c30c4edeed4840e508ee6c90ec7a2a8dbf7a71527b08e2557de8e6199328a8b",
            "slack_payload": {
                "text": "[MITTEL] blog.muenchner-stadtbibliothek.de: api.usercentrics.eu",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*api.usercentrics.eu*\nRequest einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] blog.muenchner-stadtbibliothek.de: api.usercentrics.eu",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "api.usercentrics.eu"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] api.usercentrics.eu",
                    "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\n\nNachweis: https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-fc57571f5da4542c56d808c6",
            "ticket_id": "mapping_vendor_app.usercentrics.eu",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] app.usercentrics.eu",
            "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
            "idempotency_key": "sp-fix-fc57571f5da4542c56d808c6",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-fc57571f5da4542c56d808c6",
                "X-SaferPage-Body-SHA256": "a8f1bb9ca00c3a59333f03e02a6b3ffdf5fc1d0869ec515586a8dc9c4ac706b0",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "mapping_vendor_app.usercentrics.eu",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "app.usercentrics.eu",
                "evidence": "Sonstige",
                "action": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"mapping_vendor_app.usercentrics.eu\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"app.usercentrics.eu\",\"evidence\":\"Sonstige\",\"action\":\"Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "a8f1bb9ca00c3a59333f03e02a6b3ffdf5fc1d0869ec515586a8dc9c4ac706b0",
            "slack_payload": {
                "text": "[MITTEL] blog.muenchner-stadtbibliothek.de: app.usercentrics.eu",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*app.usercentrics.eu*\nZweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] blog.muenchner-stadtbibliothek.de: app.usercentrics.eu",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "app.usercentrics.eu"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] app.usercentrics.eu",
                    "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\n\nNachweis: https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-c9ceb2e15853de08bd1c96fa",
            "ticket_id": "mapping_request_app.usercentrics.eu",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] app.usercentrics.eu",
            "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
            "idempotency_key": "sp-fix-c9ceb2e15853de08bd1c96fa",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-c9ceb2e15853de08bd1c96fa",
                "X-SaferPage-Body-SHA256": "d61e55a4fc301da37704bf4652f58ddcf3db4339fede2b9ea8d845e96a94ad6b",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "mapping_request_app.usercentrics.eu",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "app.usercentrics.eu",
                "evidence": "other",
                "action": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen",
                    "evidence": "https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"mapping_request_app.usercentrics.eu\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"app.usercentrics.eu\",\"evidence\":\"other\",\"action\":\"Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\",\"evidence\":\"https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "d61e55a4fc301da37704bf4652f58ddcf3db4339fede2b9ea8d845e96a94ad6b",
            "slack_payload": {
                "text": "[MITTEL] blog.muenchner-stadtbibliothek.de: app.usercentrics.eu",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*app.usercentrics.eu*\nRequest einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] blog.muenchner-stadtbibliothek.de: app.usercentrics.eu",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "app.usercentrics.eu"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] app.usercentrics.eu",
                    "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\n\nNachweis: https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-691a43887f60115951002479",
            "ticket_id": "mapping_vendor_consent-api.service.consent.usercentrics.eu",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] consent-api.service.consent.usercentrics.eu",
            "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
            "idempotency_key": "sp-fix-691a43887f60115951002479",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-691a43887f60115951002479",
                "X-SaferPage-Body-SHA256": "2d73765f615e4ca51f4bd0e352e7c22bb1d92a70502e959ead1db2ca864b678d",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "mapping_vendor_consent-api.service.consent.usercentrics.eu",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "consent-api.service.consent.usercentrics.eu",
                "evidence": "Sonstige",
                "action": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"mapping_vendor_consent-api.service.consent.usercentrics.eu\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"consent-api.service.consent.usercentrics.eu\",\"evidence\":\"Sonstige\",\"action\":\"Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "2d73765f615e4ca51f4bd0e352e7c22bb1d92a70502e959ead1db2ca864b678d",
            "slack_payload": {
                "text": "[MITTEL] blog.muenchner-stadtbibliothek.de: consent-api.service.consent.usercentrics.eu",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*consent-api.service.consent.usercentrics.eu*\nZweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] blog.muenchner-stadtbibliothek.de: consent-api.service.consent.usercentrics.eu",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "consent-api.service.consent.usercentrics.eu"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] consent-api.service.consent.usercentrics.eu",
                    "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\n\nNachweis: https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-de0b86f076d0fe6411984253",
            "ticket_id": "mapping_request_consent-api.service.consent.usercentrics.eu",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] consent-api.service.consent.usercentrics.eu",
            "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
            "idempotency_key": "sp-fix-de0b86f076d0fe6411984253",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-de0b86f076d0fe6411984253",
                "X-SaferPage-Body-SHA256": "4921ba7ea8f5c37d17b0ac9bfb72dd8cfdab2881decb9e0f264336540c5850cd",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "mapping_request_consent-api.service.consent.usercentrics.eu",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "consent-api.service.consent.usercentrics.eu",
                "evidence": "other",
                "action": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen",
                    "evidence": "https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"mapping_request_consent-api.service.consent.usercentrics.eu\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"consent-api.service.consent.usercentrics.eu\",\"evidence\":\"other\",\"action\":\"Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\",\"evidence\":\"https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "4921ba7ea8f5c37d17b0ac9bfb72dd8cfdab2881decb9e0f264336540c5850cd",
            "slack_payload": {
                "text": "[MITTEL] blog.muenchner-stadtbibliothek.de: consent-api.service.consent.usercentrics.eu",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*consent-api.service.consent.usercentrics.eu*\nRequest einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] blog.muenchner-stadtbibliothek.de: consent-api.service.consent.usercentrics.eu",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "consent-api.service.consent.usercentrics.eu"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] consent-api.service.consent.usercentrics.eu",
                    "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\n\nNachweis: https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-f959a6f6a3b9ff905c956942",
            "ticket_id": "mapping_vendor_privacy-proxy.usercentrics.eu",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] privacy-proxy.usercentrics.eu",
            "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
            "idempotency_key": "sp-fix-f959a6f6a3b9ff905c956942",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-f959a6f6a3b9ff905c956942",
                "X-SaferPage-Body-SHA256": "c8d92d8b70d074f56670f07d5dbd99bd7b5e4e590bc8568528c81828aea66840",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "mapping_vendor_privacy-proxy.usercentrics.eu",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "privacy-proxy.usercentrics.eu",
                "evidence": "Sonstige",
                "action": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"mapping_vendor_privacy-proxy.usercentrics.eu\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"privacy-proxy.usercentrics.eu\",\"evidence\":\"Sonstige\",\"action\":\"Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "c8d92d8b70d074f56670f07d5dbd99bd7b5e4e590bc8568528c81828aea66840",
            "slack_payload": {
                "text": "[MITTEL] blog.muenchner-stadtbibliothek.de: privacy-proxy.usercentrics.eu",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*privacy-proxy.usercentrics.eu*\nZweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] blog.muenchner-stadtbibliothek.de: privacy-proxy.usercentrics.eu",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "privacy-proxy.usercentrics.eu"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] privacy-proxy.usercentrics.eu",
                    "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\n\nNachweis: https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-f8205294ac362420f63e34c1",
            "ticket_id": "mapping_request_privacy-proxy.usercentrics.eu",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] privacy-proxy.usercentrics.eu",
            "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
            "idempotency_key": "sp-fix-f8205294ac362420f63e34c1",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-f8205294ac362420f63e34c1",
                "X-SaferPage-Body-SHA256": "64bf87ffa2594b94e4a6d8b9318d9895fd5211494700fbef3981341afbd74c78",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "mapping_request_privacy-proxy.usercentrics.eu",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "privacy-proxy.usercentrics.eu",
                "evidence": "other",
                "action": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen",
                    "evidence": "https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"mapping_request_privacy-proxy.usercentrics.eu\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"privacy-proxy.usercentrics.eu\",\"evidence\":\"other\",\"action\":\"Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\",\"evidence\":\"https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "64bf87ffa2594b94e4a6d8b9318d9895fd5211494700fbef3981341afbd74c78",
            "slack_payload": {
                "text": "[MITTEL] blog.muenchner-stadtbibliothek.de: privacy-proxy.usercentrics.eu",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*privacy-proxy.usercentrics.eu*\nRequest einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] blog.muenchner-stadtbibliothek.de: privacy-proxy.usercentrics.eu",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "privacy-proxy.usercentrics.eu"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] privacy-proxy.usercentrics.eu",
                    "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\n\nNachweis: https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-91a4f0bdd80fedac8eed7529",
            "ticket_id": "mapping_vendor_uct.service.usercentrics.eu",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] uct.service.usercentrics.eu",
            "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
            "idempotency_key": "sp-fix-91a4f0bdd80fedac8eed7529",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-91a4f0bdd80fedac8eed7529",
                "X-SaferPage-Body-SHA256": "c332c1b48fe13215b3730f04753242a6d5326cd6981f9ae6a55e9d7c0759bc9c",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "mapping_vendor_uct.service.usercentrics.eu",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "uct.service.usercentrics.eu",
                "evidence": "Sonstige",
                "action": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"mapping_vendor_uct.service.usercentrics.eu\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"uct.service.usercentrics.eu\",\"evidence\":\"Sonstige\",\"action\":\"Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "c332c1b48fe13215b3730f04753242a6d5326cd6981f9ae6a55e9d7c0759bc9c",
            "slack_payload": {
                "text": "[MITTEL] blog.muenchner-stadtbibliothek.de: uct.service.usercentrics.eu",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*uct.service.usercentrics.eu*\nZweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] blog.muenchner-stadtbibliothek.de: uct.service.usercentrics.eu",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "uct.service.usercentrics.eu"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] uct.service.usercentrics.eu",
                    "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\n\nNachweis: https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-29229be25072e93ad6b75ced",
            "ticket_id": "mapping_request_uct.service.usercentrics.eu",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[blog.muenchner-stadtbibliothek.de] uct.service.usercentrics.eu",
            "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
            "idempotency_key": "sp-fix-29229be25072e93ad6b75ced",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-29229be25072e93ad6b75ced",
                "X-SaferPage-Body-SHA256": "18bdcf827f37a46cd0465c4aa91d71d232fe1ea3e9edfab0446476ccef1839f7",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "mapping_request_uct.service.usercentrics.eu",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "uct.service.usercentrics.eu",
                "evidence": "other",
                "action": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen",
                    "evidence": "https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"mapping_request_uct.service.usercentrics.eu\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"uct.service.usercentrics.eu\",\"evidence\":\"other\",\"action\":\"Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\",\"evidence\":\"https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "18bdcf827f37a46cd0465c4aa91d71d232fe1ea3e9edfab0446476ccef1839f7",
            "slack_payload": {
                "text": "[MITTEL] blog.muenchner-stadtbibliothek.de: uct.service.usercentrics.eu",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*uct.service.usercentrics.eu*\nRequest einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] blog.muenchner-stadtbibliothek.de: uct.service.usercentrics.eu",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "uct.service.usercentrics.eu"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] uct.service.usercentrics.eu",
                    "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\n\nNachweis: https://saferpage.de/anbieter/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-c0a0b36e8fe835f7001a513f",
            "ticket_id": "remediation_consent_state_gpc_evidence_review",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[blog.muenchner-stadtbibliothek.de] Consent-Zustand: GPC mit Tracking-Hinweisen",
            "description": "GPC-Aufruf auf Datenschutz-Drittanbieter, Drittanbieter-Cookies und Storage-IDs prüfen.",
            "idempotency_key": "sp-fix-c0a0b36e8fe835f7001a513f",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-c0a0b36e8fe835f7001a513f",
                "X-SaferPage-Body-SHA256": "d0032c86af1b032cc7eb960d266f20db067e885f17e370f468646d750d633cb5",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_consent_state_gpc_evidence_review",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Consent-Zustand: GPC mit Tracking-Hinweisen",
                "evidence": "",
                "action": "GPC-Aufruf auf Datenschutz-Drittanbieter, Drittanbieter-Cookies und Storage-IDs prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_consent_state_gpc_evidence_review\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Consent-Zustand: GPC mit Tracking-Hinweisen\",\"evidence\":\"\",\"action\":\"GPC-Aufruf auf Datenschutz-Drittanbieter, Drittanbieter-Cookies und Storage-IDs prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "d0032c86af1b032cc7eb960d266f20db067e885f17e370f468646d750d633cb5",
            "slack_payload": {
                "text": "[NIEDRIG] blog.muenchner-stadtbibliothek.de: Consent-Zustand: GPC mit Tracking-Hinweisen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Consent-Zustand: GPC mit Tracking-Hinweisen*\nGPC-Aufruf auf Datenschutz-Drittanbieter, Drittanbieter-Cookies und Storage-IDs prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] blog.muenchner-stadtbibliothek.de: Consent-Zustand: GPC mit Tracking-Hinweisen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Consent-Zustand: GPC mit Tracking-Hinweisen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "GPC-Aufruf auf Datenschutz-Drittanbieter, Drittanbieter-Cookies und Storage-IDs prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Consent-Zustand: GPC mit Tracking-Hinweisen",
                    "description": "GPC-Aufruf auf Datenschutz-Drittanbieter, Drittanbieter-Cookies und Storage-IDs prüfen.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a169429acb42c80320d14ca4",
            "ticket_id": "remediation_missing_cross_origin_embedder_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[blog.muenchner-stadtbibliothek.de] Cross-Origin-Embedder-Policy fehlt",
            "description": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-a169429acb42c80320d14ca4",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a169429acb42c80320d14ca4",
                "X-SaferPage-Body-SHA256": "2ac812df5ddf556ab614b66237dec90276fd146416cd718229f1afbca36c57a6",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "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/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"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/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "2ac812df5ddf556ab614b66237dec90276fd146416cd718229f1afbca36c57a6",
            "slack_payload": {
                "text": "[NIEDRIG] blog.muenchner-stadtbibliothek.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/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] blog.muenchner-stadtbibliothek.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": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.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/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-63499090f80b86a2128f86e2",
            "ticket_id": "remediation_missing_cross_origin_opener_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[blog.muenchner-stadtbibliothek.de] Cross-Origin-Opener-Policy fehlt",
            "description": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-63499090f80b86a2128f86e2",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-63499090f80b86a2128f86e2",
                "X-SaferPage-Body-SHA256": "2e16f8d00dbc19c136e683cd3d595f6f08ed74b066fad1b3c1e461fef75605eb",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "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/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"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/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "2e16f8d00dbc19c136e683cd3d595f6f08ed74b066fad1b3c1e461fef75605eb",
            "slack_payload": {
                "text": "[NIEDRIG] blog.muenchner-stadtbibliothek.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/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] blog.muenchner-stadtbibliothek.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": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.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/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-28b8c0141228617ec76522b8",
            "ticket_id": "remediation_missing_cross_origin_resource_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[blog.muenchner-stadtbibliothek.de] Cross-Origin-Resource-Policy fehlt",
            "description": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-28b8c0141228617ec76522b8",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-28b8c0141228617ec76522b8",
                "X-SaferPage-Body-SHA256": "4ed7e0a872dce457c74c3218b8540eeb99979d0db67ceb1645981646350044c0",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "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/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"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/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "4ed7e0a872dce457c74c3218b8540eeb99979d0db67ceb1645981646350044c0",
            "slack_payload": {
                "text": "[NIEDRIG] blog.muenchner-stadtbibliothek.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/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] blog.muenchner-stadtbibliothek.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": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.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/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-0b4cf14fe1ef5110e2ddd30d",
            "ticket_id": "remediation_privacy_policy_dpo_contact_missing",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[blog.muenchner-stadtbibliothek.de] Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
            "description": "Nennen Sie einen Datenschutzkontakt oder erklären Sie nachvollziehbar, wie Datenschutzanfragen gestellt werden können.",
            "idempotency_key": "sp-fix-0b4cf14fe1ef5110e2ddd30d",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-0b4cf14fe1ef5110e2ddd30d",
                "X-SaferPage-Body-SHA256": "7ed1b1ee1894f805f6be61fd67cd5b3eb17002e33c1cc1497cf9bd469f667c22",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_privacy_policy_dpo_contact_missing",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
                "evidence": "",
                "action": "Nennen Sie einen Datenschutzkontakt oder erklären Sie nachvollziehbar, wie Datenschutzanfragen gestellt werden können.",
                "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/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_privacy_policy_dpo_contact_missing\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt\",\"evidence\":\"\",\"action\":\"Nennen Sie einen Datenschutzkontakt oder erklären Sie nachvollziehbar, wie Datenschutzanfragen gestellt werden können.\",\"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/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "7ed1b1ee1894f805f6be61fd67cd5b3eb17002e33c1cc1497cf9bd469f667c22",
            "slack_payload": {
                "text": "[NIEDRIG] blog.muenchner-stadtbibliothek.de: Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt*\nNennen Sie einen Datenschutzkontakt oder erklären Sie nachvollziehbar, wie Datenschutzanfragen gestellt werden können."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] blog.muenchner-stadtbibliothek.de: Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Nennen Sie einen Datenschutzkontakt oder erklären Sie nachvollziehbar, wie Datenschutzanfragen gestellt werden können."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
                    "description": "Nennen Sie einen Datenschutzkontakt oder erklären Sie nachvollziehbar, wie Datenschutzanfragen gestellt werden können.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/datenschutzerklaerung-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-9ae08236f9528465e70ab345",
            "ticket_id": "remediation_external_script_without_sri",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[blog.muenchner-stadtbibliothek.de] Externe Skripte ohne Subresource Integrity",
            "description": "Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern.",
            "idempotency_key": "sp-fix-9ae08236f9528465e70ab345",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-9ae08236f9528465e70ab345",
                "X-SaferPage-Body-SHA256": "8bbc61ee2916781304e4455a7dd649b27a593dc9567d523d8f3adb81910f9fbd",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_external_script_without_sri",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Externe Skripte ohne Subresource Integrity",
                "evidence": "",
                "action": "Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/externe-skripte-und-sri-absichern",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_external_script_without_sri\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Externe Skripte ohne Subresource Integrity\",\"evidence\":\"\",\"action\":\"Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/externe-skripte-und-sri-absichern\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "8bbc61ee2916781304e4455a7dd649b27a593dc9567d523d8f3adb81910f9fbd",
            "slack_payload": {
                "text": "[NIEDRIG] blog.muenchner-stadtbibliothek.de: Externe Skripte ohne Subresource Integrity",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Externe Skripte ohne Subresource Integrity*\nFür statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] blog.muenchner-stadtbibliothek.de: Externe Skripte ohne Subresource Integrity",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Externe Skripte ohne Subresource Integrity"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Externe Skripte ohne Subresource Integrity",
                    "description": "Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/externe-skripte-und-sri-absichern\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-633a834f7a6131e59c353642",
            "ticket_id": "remediation_compression_missing",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[blog.muenchner-stadtbibliothek.de] Komprimierung nicht erkannt",
            "description": "Brotli oder gzip für HTML/CSS/JS aktivieren.",
            "idempotency_key": "sp-fix-633a834f7a6131e59c353642",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-633a834f7a6131e59c353642",
                "X-SaferPage-Body-SHA256": "995188f2a94e0b8ad92bfa6f2e44c7cc5e4ebc2894d0f74fa4d659dd12e3ffbe",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_compression_missing",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Komprimierung nicht erkannt",
                "evidence": "",
                "action": "Brotli oder gzip für HTML/CSS/JS aktivieren.",
                "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/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_compression_missing\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Komprimierung nicht erkannt\",\"evidence\":\"\",\"action\":\"Brotli oder gzip für HTML/CSS/JS aktivieren.\",\"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/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "995188f2a94e0b8ad92bfa6f2e44c7cc5e4ebc2894d0f74fa4d659dd12e3ffbe",
            "slack_payload": {
                "text": "[NIEDRIG] blog.muenchner-stadtbibliothek.de: Komprimierung nicht erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Komprimierung nicht erkannt*\nBrotli oder gzip für HTML/CSS/JS aktivieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] blog.muenchner-stadtbibliothek.de: Komprimierung nicht erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Komprimierung nicht erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Brotli oder gzip für HTML/CSS/JS aktivieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Komprimierung nicht erkannt",
                    "description": "Brotli oder gzip für HTML/CSS/JS aktivieren.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/performance-und-mobile-usability-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-946ea24fa1f9e9d64d642e83",
            "ticket_id": "remediation_missing_permissions_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[blog.muenchner-stadtbibliothek.de] Permissions-Policy fehlt",
            "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-946ea24fa1f9e9d64d642e83",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-946ea24fa1f9e9d64d642e83",
                "X-SaferPage-Body-SHA256": "5ca573ec31a364f78c1590f73db4ce66765c1171267917550b5ff08245175a49",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "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/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"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/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "5ca573ec31a364f78c1590f73db4ce66765c1171267917550b5ff08245175a49",
            "slack_payload": {
                "text": "[NIEDRIG] blog.muenchner-stadtbibliothek.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/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] blog.muenchner-stadtbibliothek.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": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Permissions-Policy fehlt",
                    "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-eccc9261e04f3b2d6c9ace36",
            "ticket_id": "remediation_privacy_policy_update_date_missing",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[blog.muenchner-stadtbibliothek.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-eccc9261e04f3b2d6c9ace36",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-eccc9261e04f3b2d6c9ace36",
                "X-SaferPage-Body-SHA256": "94cccd94c4606fc6048c31eee992723185b7f59224bfaecf90191c2e3d5bca41",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "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/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"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/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "94cccd94c4606fc6048c31eee992723185b7f59224bfaecf90191c2e3d5bca41",
            "slack_payload": {
                "text": "[NIEDRIG] blog.muenchner-stadtbibliothek.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/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] blog.muenchner-stadtbibliothek.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": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.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/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/datenschutzerklaerung-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a8d465ef6825665054f089bf",
            "ticket_id": "remediation_gpc_tracking_storage_hints",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[blog.muenchner-stadtbibliothek.de] Tracking-Hinweise im Storage trotz GPC-Signal",
            "description": "Bei Global Privacy Control sollten Tracking-IDs in LocalStorage und SessionStorage vermieden oder klar an Opt-out gekoppelt werden.",
            "idempotency_key": "sp-fix-a8d465ef6825665054f089bf",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a8d465ef6825665054f089bf",
                "X-SaferPage-Body-SHA256": "20a7cb64e2394f938698a3cf4822c673392d9633e8507827c88940c70afb954f",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_gpc_tracking_storage_hints",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Tracking-Hinweise im Storage trotz GPC-Signal",
                "evidence": "",
                "action": "Bei Global Privacy Control sollten Tracking-IDs in LocalStorage und SessionStorage vermieden oder klar an Opt-out gekoppelt werden.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_gpc_tracking_storage_hints\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Tracking-Hinweise im Storage trotz GPC-Signal\",\"evidence\":\"\",\"action\":\"Bei Global Privacy Control sollten Tracking-IDs in LocalStorage und SessionStorage vermieden oder klar an Opt-out gekoppelt werden.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "20a7cb64e2394f938698a3cf4822c673392d9633e8507827c88940c70afb954f",
            "slack_payload": {
                "text": "[NIEDRIG] blog.muenchner-stadtbibliothek.de: Tracking-Hinweise im Storage trotz GPC-Signal",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Tracking-Hinweise im Storage trotz GPC-Signal*\nBei Global Privacy Control sollten Tracking-IDs in LocalStorage und SessionStorage vermieden oder klar an Opt-out gekoppelt werden."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] blog.muenchner-stadtbibliothek.de: Tracking-Hinweise im Storage trotz GPC-Signal",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Tracking-Hinweise im Storage trotz GPC-Signal"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Bei Global Privacy Control sollten Tracking-IDs in LocalStorage und SessionStorage vermieden oder klar an Opt-out gekoppelt werden."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Tracking-Hinweise im Storage trotz GPC-Signal",
                    "description": "Bei Global Privacy Control sollten Tracking-IDs in LocalStorage und SessionStorage vermieden oder klar an Opt-out gekoppelt werden.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-22fe9a88524fb6e2a69e654e",
            "ticket_id": "remediation_tracking_pixel_detected",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[blog.muenchner-stadtbibliothek.de] Tracking-Pixel oder pixelnahe Requests erkannt",
            "description": "Pixel von uct.service.usercentrics.eu erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen.",
            "idempotency_key": "sp-fix-22fe9a88524fb6e2a69e654e",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-22fe9a88524fb6e2a69e654e",
                "X-SaferPage-Body-SHA256": "5d4f1517552da603f2b93cf30364736b86ee2fa0a54fb2033347f04c8bdadc10",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "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 uct.service.usercentrics.eu 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/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"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 uct.service.usercentrics.eu 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/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "5d4f1517552da603f2b93cf30364736b86ee2fa0a54fb2033347f04c8bdadc10",
            "slack_payload": {
                "text": "[NIEDRIG] blog.muenchner-stadtbibliothek.de: Tracking-Pixel oder pixelnahe Requests erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Tracking-Pixel oder pixelnahe Requests erkannt*\nPixel von uct.service.usercentrics.eu 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/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] blog.muenchner-stadtbibliothek.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 uct.service.usercentrics.eu erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Tracking-Pixel oder pixelnahe Requests erkannt",
                    "description": "Pixel von uct.service.usercentrics.eu erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-091c3b6e2e5da483c9ad8b55",
            "ticket_id": "remediation_browser_keystroke_listener_signals",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[blog.muenchner-stadtbibliothek.de] Viele Tastatur-/Eingabe-Listener im Browser erkannt",
            "description": "Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen.",
            "idempotency_key": "sp-fix-091c3b6e2e5da483c9ad8b55",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-091c3b6e2e5da483c9ad8b55",
                "X-SaferPage-Body-SHA256": "ba090d30487d3dafae32446cfb0300a5ee99c19cf832a62b2eade79269e75824",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "blog.muenchner-stadtbibliothek.de",
                "scan_id": "ce4c24aa-b298-477a-9ee7-89f98982a328",
                "ticket_id": "remediation_browser_keystroke_listener_signals",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Viele Tastatur-/Eingabe-Listener im Browser erkannt",
                "evidence": "",
                "action": "Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/session-replay-und-fingerprinting-pruefen",
                    "evidence": "https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de",
                    "rescan": "https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "report": "https://saferpage.de/blog.muenchner-stadtbibliothek.de",
                    "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"blog.muenchner-stadtbibliothek.de\",\"scan_id\":\"ce4c24aa-b298-477a-9ee7-89f98982a328\",\"ticket_id\":\"remediation_browser_keystroke_listener_signals\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Viele Tastatur-/Eingabe-Listener im Browser erkannt\",\"evidence\":\"\",\"action\":\"Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/session-replay-und-fingerprinting-pruefen\",\"evidence\":\"https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de\",\"report\":\"https://saferpage.de/blog.muenchner-stadtbibliothek.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de\"}}",
            "canonical_body_sha256": "ba090d30487d3dafae32446cfb0300a5ee99c19cf832a62b2eade79269e75824",
            "slack_payload": {
                "text": "[NIEDRIG] blog.muenchner-stadtbibliothek.de: Viele Tastatur-/Eingabe-Listener im Browser erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Viele Tastatur-/Eingabe-Listener im Browser erkannt*\nPrüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] blog.muenchner-stadtbibliothek.de: Viele Tastatur-/Eingabe-Listener im Browser erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Viele Tastatur-/Eingabe-Listener im Browser erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "blog.muenchner-stadtbibliothek.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[blog.muenchner-stadtbibliothek.de] Viele Tastatur-/Eingabe-Listener im Browser erkannt",
                    "description": "Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen.\n\nNachweis: https://saferpage.de/befunde/blog.muenchner-stadtbibliothek.de\nHintergrundseite: https://saferpage.de/guides/session-replay-und-fingerprinting-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/blog.muenchner-stadtbibliothek.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        }
    ],
    "links": {
        "fix_guides": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de",
        "tickets_json": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de/tickets-json",
        "json": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.de/tickets-delivery-json",
        "csv": "https://saferpage.de/fix-guides/blog.muenchner-stadtbibliothek.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."
}
