{
    "schema": "https://saferpage.de/schemas/operator-remediation-ticket-delivery.v1",
    "generated_at": "2026-06-23T02:46:21+00:00",
    "domain": "1podcast.de",
    "available": true,
    "scan": {
        "id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
        "checked_at": "2026-06-20 14:01:45.738093+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": 28,
        "high_priority_count": 11,
        "channel_count": 4,
        "receiver_check_count": 6,
        "test_fixture_negative_count": 4
    },
    "signature_verification": {
        "algorithm": "HMAC-SHA256",
        "canonical_body": "Exakt canonical_webhook_body aus dem jeweiligen delivery_job signieren; keine Pretty-Print- oder Reordering-Variante verwenden.",
        "signature_secret_ref": "SAFERPAGE_OPERATOR_WEBHOOK_SECRET oder zielsystemspezifisches Secret im Secret Manager",
        "signature_header": "X-SaferPage-Signature",
        "signature_format": "sha256=<hex_hmac_sha256>",
        "body_sha256_header": "X-SaferPage-Body-SHA256",
        "idempotency_header": "X-SaferPage-Idempotency-Key",
        "receiver_must_check": [
            "HMAC ueber den exakten Request-Body stimmt mit X-SaferPage-Signature ueberein.",
            "SHA-256 des exakten Request-Body stimmt mit X-SaferPage-Body-SHA256 ueberein.",
            "X-SaferPage-Event ist operator.remediation.ticket_ready.",
            "X-SaferPage-Schema ist operator-remediation-ticket-delivery.v1.",
            "X-SaferPage-Idempotency-Key wurde fuer Domain, Scan und 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-566c38d1f2b7e520a32641b9",
            "ticket_id": "remediation_consent_banner_dark_pattern_risk",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[1podcast.de] Consent-Banner mit Dark-Pattern-/UX-Risiko",
            "description": "Ablehnen, Einstellungen und Akzeptieren gleichwertig anbieten und Reject technisch wirksam machen.",
            "idempotency_key": "sp-fix-566c38d1f2b7e520a32641b9",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-566c38d1f2b7e520a32641b9",
                "X-SaferPage-Body-SHA256": "ff66ffa9ce03957bbdd172d3a984a3ece34d4f01c3e24ec4e5be9074be84ac6c",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_consent_banner_dark_pattern_risk",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Consent-Banner mit Dark-Pattern-/UX-Risiko",
                "evidence": "",
                "action": "Ablehnen, Einstellungen und Akzeptieren gleichwertig anbieten und Reject technisch wirksam machen.",
                "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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_consent_banner_dark_pattern_risk\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Consent-Banner mit Dark-Pattern-/UX-Risiko\",\"evidence\":\"\",\"action\":\"Ablehnen, Einstellungen und Akzeptieren gleichwertig anbieten und Reject technisch wirksam machen.\",\"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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "ff66ffa9ce03957bbdd172d3a984a3ece34d4f01c3e24ec4e5be9074be84ac6c",
            "slack_payload": {
                "text": "[HOCH] 1podcast.de: Consent-Banner mit Dark-Pattern-/UX-Risiko",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Consent-Banner mit Dark-Pattern-/UX-Risiko*\nAblehnen, Einstellungen und Akzeptieren gleichwertig anbieten und Reject technisch wirksam machen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] 1podcast.de: Consent-Banner mit Dark-Pattern-/UX-Risiko",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Consent-Banner mit Dark-Pattern-/UX-Risiko"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Ablehnen, Einstellungen und Akzeptieren gleichwertig anbieten und Reject technisch wirksam machen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Consent-Banner mit Dark-Pattern-/UX-Risiko",
                    "description": "Ablehnen, Einstellungen und Akzeptieren gleichwertig anbieten und Reject technisch wirksam machen.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-64954c7d5303cb9400393acd",
            "ticket_id": "remediation_consent_state_reject_evidence_failed",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[1podcast.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-64954c7d5303cb9400393acd",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-64954c7d5303cb9400393acd",
                "X-SaferPage-Body-SHA256": "a000701be01aab7248facac443841b2fb42fdac5d7dd0cfe7b9e450b7981e1c1",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "a000701be01aab7248facac443841b2fb42fdac5d7dd0cfe7b9e450b7981e1c1",
            "slack_payload": {
                "text": "[HOCH] 1podcast.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/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] 1podcast.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": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.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/1podcast.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-82c5fd27d23cb78417a607bd",
            "ticket_id": "remediation_missing_csp",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[1podcast.de] Content-Security-Policy fehlt",
            "description": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-82c5fd27d23cb78417a607bd",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-82c5fd27d23cb78417a607bd",
                "X-SaferPage-Body-SHA256": "fc652e11bec848ddf9ef6194e2b9edfebb44526c5469507b21ce035de0059813",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "fc652e11bec848ddf9ef6194e2b9edfebb44526c5469507b21ce035de0059813",
            "slack_payload": {
                "text": "[HOCH] 1podcast.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/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] 1podcast.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": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Content-Security-Policy fehlt",
                    "description": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-9397d07dc5d143c393c5049a",
            "ticket_id": "remediation_form_label_missing",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[1podcast.de] Formularfelder ohne klare Beschriftung",
            "description": "Für jedes Eingabefeld ein sichtbares label, aria-label oder aria-labelledby setzen.",
            "idempotency_key": "sp-fix-9397d07dc5d143c393c5049a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-9397d07dc5d143c393c5049a",
                "X-SaferPage-Body-SHA256": "0e498406e7bdd6a6872b9e43dafa2c8f49b78849b2b958c58e85d51086fc8ad3",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_form_label_missing",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Formularfelder ohne klare Beschriftung",
                "evidence": "",
                "action": "Für jedes Eingabefeld ein sichtbares label, aria-label oder aria-labelledby setzen.",
                "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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_form_label_missing\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Formularfelder ohne klare Beschriftung\",\"evidence\":\"\",\"action\":\"Für jedes Eingabefeld ein sichtbares label, aria-label oder aria-labelledby setzen.\",\"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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "0e498406e7bdd6a6872b9e43dafa2c8f49b78849b2b958c58e85d51086fc8ad3",
            "slack_payload": {
                "text": "[HOCH] 1podcast.de: Formularfelder ohne klare Beschriftung",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Formularfelder ohne klare Beschriftung*\nFür jedes Eingabefeld ein sichtbares label, aria-label oder aria-labelledby setzen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] 1podcast.de: Formularfelder ohne klare Beschriftung",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Formularfelder ohne klare Beschriftung"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Für jedes Eingabefeld ein sichtbares label, aria-label oder aria-labelledby setzen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Formularfelder ohne klare Beschriftung",
                    "description": "Für jedes Eingabefeld ein sichtbares label, aria-label oder aria-labelledby setzen.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-7a445c7dabd4d9db863e4b28",
            "ticket_id": "remediation_google_consent_mode_missing",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[1podcast.de] Google Consent Mode Default nicht erkannt",
            "description": "Vor dem ersten Google-Tag Consent-Defaults setzen, typischerweise ad_storage, analytics_storage, ad_user_data und ad_personalization auf denied.",
            "idempotency_key": "sp-fix-7a445c7dabd4d9db863e4b28",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-7a445c7dabd4d9db863e4b28",
                "X-SaferPage-Body-SHA256": "f3f0aa980ad579234b7e4c464eed9d3e3d617c185b0494fda9d627f1500f4b2c",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_google_consent_mode_missing",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Google Consent Mode Default nicht erkannt",
                "evidence": "",
                "action": "Vor dem ersten Google-Tag Consent-Defaults setzen, typischerweise ad_storage, analytics_storage, ad_user_data und ad_personalization auf denied.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden",
                    "evidence": "https://saferpage.de/befunde/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_google_consent_mode_missing\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Google Consent Mode Default nicht erkannt\",\"evidence\":\"\",\"action\":\"Vor dem ersten Google-Tag Consent-Defaults setzen, typischerweise ad_storage, analytics_storage, ad_user_data und ad_personalization auf denied.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden\",\"evidence\":\"https://saferpage.de/befunde/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "f3f0aa980ad579234b7e4c464eed9d3e3d617c185b0494fda9d627f1500f4b2c",
            "slack_payload": {
                "text": "[HOCH] 1podcast.de: Google Consent Mode Default nicht erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Google Consent Mode Default nicht erkannt*\nVor dem ersten Google-Tag Consent-Defaults setzen, typischerweise ad_storage, analytics_storage, ad_user_data und ad_personalization auf denied."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] 1podcast.de: Google Consent Mode Default nicht erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Google Consent Mode Default nicht erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Vor dem ersten Google-Tag Consent-Defaults setzen, typischerweise ad_storage, analytics_storage, ad_user_data und ad_personalization auf denied."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Google Consent Mode Default nicht erkannt",
                    "description": "Vor dem ersten Google-Tag Consent-Defaults setzen, typischerweise ad_storage, analytics_storage, ad_user_data und ad_personalization auf denied.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-92090eb3535fe056a2f007ea",
            "ticket_id": "remediation_security_header_gap",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "IT/Security",
            "sla": "7 Tage",
            "summary": "[1podcast.de] Security-Header, Referrer-Policy und Browser-Schutz setzen",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-92090eb3535fe056a2f007ea",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-92090eb3535fe056a2f007ea",
                "X-SaferPage-Body-SHA256": "638262cdedaa7b81d609cd501baa47c3e88d0cc71d06ba65147c004a13037ce2",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_security_header_gap",
                "priority": "hoch",
                "severity": "critical",
                "owner": "IT/Security",
                "sla": "7 Tage",
                "title": "Security-Header, Referrer-Policy und Browser-Schutz setzen",
                "evidence": "1 von 9 wichtigen Security-Headern vorhanden, 1 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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_security_header_gap\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"IT/Security\",\"sla\":\"7 Tage\",\"title\":\"Security-Header, Referrer-Policy und Browser-Schutz setzen\",\"evidence\":\"1 von 9 wichtigen Security-Headern vorhanden, 1 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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "638262cdedaa7b81d609cd501baa47c3e88d0cc71d06ba65147c004a13037ce2",
            "slack_payload": {
                "text": "[HOCH] 1podcast.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: 7 Tage · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] 1podcast.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": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "IT/Security"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Security-Header, Referrer-Policy und Browser-Schutz setzen",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-b48248b89ca058a9f44cbde7",
            "ticket_id": "remediation_module_security_tls",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[1podcast.de] Sicherheit, TLS & Header",
            "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
            "idempotency_key": "sp-fix-b48248b89ca058a9f44cbde7",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-b48248b89ca058a9f44cbde7",
                "X-SaferPage-Body-SHA256": "b1244c145291bf6ae2e1b699b558617fe131f78dffba55d2a7c5c8a210f06420",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_module_security_tls",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Sicherheit, TLS & Header",
                "evidence": "1 Infrastruktur-Hinweis(e), Security-Header: 1/9 vorhanden, 8 fehlen, externe Skript-Hosts: 0.",
                "action": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_module_security_tls\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Sicherheit, TLS & Header\",\"evidence\":\"1 Infrastruktur-Hinweis(e), Security-Header: 1/9 vorhanden, 8 fehlen, externe Skript-Hosts: 0.\",\"action\":\"HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "b1244c145291bf6ae2e1b699b558617fe131f78dffba55d2a7c5c8a210f06420",
            "slack_payload": {
                "text": "[HOCH] 1podcast.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: 7 Tage · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] 1podcast.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": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Sicherheit, TLS & Header",
                    "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-3b9365c364913e819235aa71",
            "ticket_id": "remediation_browser_storage_tracking_hints",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[1podcast.de] Tracking-Hinweise im Browser-Storage",
            "description": "LocalStorage und SessionStorage wie Cookies inventarisieren und nicht notwendige IDs an Consent koppeln.",
            "idempotency_key": "sp-fix-3b9365c364913e819235aa71",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-3b9365c364913e819235aa71",
                "X-SaferPage-Body-SHA256": "bb9fe95b879b6d71465efb1f0a2f834301552f86e21b3755411d0daa4caaea7b",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "bb9fe95b879b6d71465efb1f0a2f834301552f86e21b3755411d0daa4caaea7b",
            "slack_payload": {
                "text": "[HOCH] 1podcast.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/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] 1podcast.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": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.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/1podcast.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-db4a614f671ef28e20d2ec9a",
            "ticket_id": "remediation_post_reject_tracking_storage_hints",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[1podcast.de] Tracking-Hinweise im Storage nach Ablehnen",
            "description": "Tracking-IDs in LocalStorage oder SessionStorage nach Ablehnen entfernen oder gar nicht erst setzen.",
            "idempotency_key": "sp-fix-db4a614f671ef28e20d2ec9a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-db4a614f671ef28e20d2ec9a",
                "X-SaferPage-Body-SHA256": "0334547c63ba1a77412118bd4661e8d87b57c932351d4e94033e2454d2945281",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_post_reject_tracking_storage_hints",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Tracking-Hinweise im Storage nach Ablehnen",
                "evidence": "",
                "action": "Tracking-IDs in LocalStorage oder SessionStorage nach Ablehnen entfernen oder gar nicht erst setzen.",
                "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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_post_reject_tracking_storage_hints\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Tracking-Hinweise im Storage nach Ablehnen\",\"evidence\":\"\",\"action\":\"Tracking-IDs in LocalStorage oder SessionStorage nach Ablehnen entfernen oder gar nicht erst setzen.\",\"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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "0334547c63ba1a77412118bd4661e8d87b57c932351d4e94033e2454d2945281",
            "slack_payload": {
                "text": "[HOCH] 1podcast.de: Tracking-Hinweise im Storage nach Ablehnen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Tracking-Hinweise im Storage nach Ablehnen*\nTracking-IDs in LocalStorage oder SessionStorage nach Ablehnen entfernen oder gar nicht erst setzen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] 1podcast.de: Tracking-Hinweise im Storage nach Ablehnen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Tracking-Hinweise im Storage nach Ablehnen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Tracking-IDs in LocalStorage oder SessionStorage nach Ablehnen entfernen oder gar nicht erst setzen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Tracking-Hinweise im Storage nach Ablehnen",
                    "description": "Tracking-IDs in LocalStorage oder SessionStorage nach Ablehnen entfernen oder gar nicht erst setzen.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-939d38402e8153b983646d56",
            "ticket_id": "remediation_missing_x_content_type_options",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[1podcast.de] X-Content-Type-Options fehlt",
            "description": "Header `x-content-type-options` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-939d38402e8153b983646d56",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-939d38402e8153b983646d56",
                "X-SaferPage-Body-SHA256": "ecb7a791fb377bf67be24be3c5538f1f497695ee173cdef554eff08238a10566",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_missing_x_content_type_options",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "X-Content-Type-Options fehlt",
                "evidence": "",
                "action": "Header `x-content-type-options` setzen und nach Deployment erneut prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_missing_x_content_type_options\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"X-Content-Type-Options fehlt\",\"evidence\":\"\",\"action\":\"Header `x-content-type-options` setzen und nach Deployment erneut prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "ecb7a791fb377bf67be24be3c5538f1f497695ee173cdef554eff08238a10566",
            "slack_payload": {
                "text": "[HOCH] 1podcast.de: X-Content-Type-Options fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*X-Content-Type-Options fehlt*\nHeader `x-content-type-options` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] 1podcast.de: X-Content-Type-Options fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "X-Content-Type-Options fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `x-content-type-options` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] X-Content-Type-Options fehlt",
                    "description": "Header `x-content-type-options` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-01c74b986fcec25484e9f587",
            "ticket_id": "remediation_missing_x_frame_options",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[1podcast.de] X-Frame-Options fehlt",
            "description": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-01c74b986fcec25484e9f587",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-01c74b986fcec25484e9f587",
                "X-SaferPage-Body-SHA256": "be6f6bd108ed29d98fa17492ef979017e5b22ea9b3ffdc75edea9590b5e83787",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_missing_x_frame_options",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "X-Frame-Options fehlt",
                "evidence": "",
                "action": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_missing_x_frame_options\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"X-Frame-Options fehlt\",\"evidence\":\"\",\"action\":\"Header `x-frame-options` setzen und nach Deployment erneut prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "be6f6bd108ed29d98fa17492ef979017e5b22ea9b3ffdc75edea9590b5e83787",
            "slack_payload": {
                "text": "[HOCH] 1podcast.de: X-Frame-Options fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*X-Frame-Options fehlt*\nHeader `x-frame-options` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] 1podcast.de: X-Frame-Options fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "X-Frame-Options fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `x-frame-options` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] X-Frame-Options fehlt",
                    "description": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-6532f69e7217f1af8e8d6d4b",
            "ticket_id": "mapping_cookie_1p_session",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[1podcast.de] 1p_session",
            "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
            "idempotency_key": "sp-fix-6532f69e7217f1af8e8d6d4b",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-6532f69e7217f1af8e8d6d4b",
                "X-SaferPage-Body-SHA256": "0cb3ef4407006bdcf9245da3908398451063e070fc0a77e1f8af9b1310e40250",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "mapping_cookie_1p_session",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "1p_session",
                "evidence": "1podcast.de",
                "action": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
                    "evidence": "https://saferpage.de/cookies/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"mapping_cookie_1p_session\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"1p_session\",\"evidence\":\"1podcast.de\",\"action\":\"Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\",\"evidence\":\"https://saferpage.de/cookies/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "0cb3ef4407006bdcf9245da3908398451063e070fc0a77e1f8af9b1310e40250",
            "slack_payload": {
                "text": "[MITTEL] 1podcast.de: 1p_session",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*1p_session*\nZweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/cookies/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] 1podcast.de: 1p_session",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "1p_session"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] 1p_session",
                    "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.\n\nNachweis: https://saferpage.de/cookies/1podcast.de\nHintergrundseite: https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-291358115a4a64a516226e3a",
            "ticket_id": "remediation_consent_ux_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "UX/Marketing/Datenschutz",
            "sla": "30 Tage",
            "summary": "[1podcast.de] Ablehnen, Widerruf und Banner-Usability verbessern",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-291358115a4a64a516226e3a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-291358115a4a64a516226e3a",
                "X-SaferPage-Body-SHA256": "3626be315071c9be2de505891cef07a10c27001699d8bcc5e34a34d1ebe41069",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_consent_ux_gap",
                "priority": "mittel",
                "severity": "warning",
                "owner": "UX/Marketing/Datenschutz",
                "sla": "30 Tage",
                "title": "Ablehnen, Widerruf und Banner-Usability verbessern",
                "evidence": "Consent-Banner-UX: 2 auffällige Prüfpunkt(e), davon 1 hoch. Muster: Ablehnen technisch nicht wirksam.",
                "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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_consent_ux_gap\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"UX/Marketing/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Ablehnen, Widerruf und Banner-Usability verbessern\",\"evidence\":\"Consent-Banner-UX: 2 auffällige Prüfpunkt(e), davon 1 hoch. Muster: Ablehnen technisch nicht wirksam.\",\"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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "3626be315071c9be2de505891cef07a10c27001699d8bcc5e34a34d1ebe41069",
            "slack_payload": {
                "text": "[MITTEL] 1podcast.de: Ablehnen, Widerruf und Banner-Usability verbessern",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Ablehnen, Widerruf und Banner-Usability verbessern*\nBefund mit Hintergrundseite einordnen und danach erneut scannen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: UX/Marketing/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] 1podcast.de: Ablehnen, Widerruf und Banner-Usability verbessern",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Ablehnen, Widerruf und Banner-Usability verbessern"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Befund mit Hintergrundseite einordnen und danach erneut scannen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "UX/Marketing/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Ablehnen, Widerruf und Banner-Usability verbessern",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-507434bd36ff6900ed14ed88",
            "ticket_id": "remediation_module_accessibility_usability",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[1podcast.de] Barrierefreiheit & Usability",
            "description": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.",
            "idempotency_key": "sp-fix-507434bd36ff6900ed14ed88",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-507434bd36ff6900ed14ed88",
                "X-SaferPage-Body-SHA256": "baba2ca9115c21daa2a0991b6e59854518fe08f17a569d8295be855618cd2fc9",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_module_accessibility_usability",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Barrierefreiheit & Usability",
                "evidence": "0 Bild(er) ohne alt, 2 Formularfeld(er) ohne Beschriftung, 0 Button(s) ohne Namen.",
                "action": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
                    "evidence": "https://saferpage.de/befunde/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_module_accessibility_usability\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Barrierefreiheit & Usability\",\"evidence\":\"0 Bild(er) ohne alt, 2 Formularfeld(er) ohne Beschriftung, 0 Button(s) ohne Namen.\",\"action\":\"Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\",\"evidence\":\"https://saferpage.de/befunde/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "baba2ca9115c21daa2a0991b6e59854518fe08f17a569d8295be855618cd2fc9",
            "slack_payload": {
                "text": "[MITTEL] 1podcast.de: Barrierefreiheit & Usability",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Barrierefreiheit & Usability*\nAlt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] 1podcast.de: Barrierefreiheit & Usability",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Barrierefreiheit & Usability"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Barrierefreiheit & Usability",
                    "description": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-64c0e5a0a53a4a93075895c1",
            "ticket_id": "remediation_accessibility_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "UX/IT",
            "sla": "30 Tage",
            "summary": "[1podcast.de] Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-64c0e5a0a53a4a93075895c1",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-64c0e5a0a53a4a93075895c1",
                "X-SaferPage-Body-SHA256": "e0c42a178b16068412a102b5875d6cad26b6c0ba51099d589881e4ec26010ba4",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_accessibility_gap",
                "priority": "mittel",
                "severity": "warning",
                "owner": "UX/IT",
                "sla": "30 Tage",
                "title": "Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
                "evidence": "2 Bild(er), 2 Formularfeld(er), 5 Button(s) im passiven HTML-Sample auf Basis-Barrierefreiheit geprüft.",
                "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/barrierefreiheit-cookie-banner-formulare",
                    "evidence": "https://saferpage.de/befunde/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_accessibility_gap\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"UX/IT\",\"sla\":\"30 Tage\",\"title\":\"Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen\",\"evidence\":\"2 Bild(er), 2 Formularfeld(er), 5 Button(s) im passiven HTML-Sample auf Basis-Barrierefreiheit geprüft.\",\"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/barrierefreiheit-cookie-banner-formulare\",\"evidence\":\"https://saferpage.de/befunde/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "e0c42a178b16068412a102b5875d6cad26b6c0ba51099d589881e4ec26010ba4",
            "slack_payload": {
                "text": "[MITTEL] 1podcast.de: Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen*\nBefund mit Hintergrundseite einordnen und danach erneut scannen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: UX/IT · Zielzeit: 30 Tage · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] 1podcast.de: Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Befund mit Hintergrundseite einordnen und danach erneut scannen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "UX/IT"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-72d792faa8a75ea9bb30afc3",
            "ticket_id": "remediation_module_privacy_consent",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[1podcast.de] Datenschutz, Cookies & Consent",
            "description": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
            "idempotency_key": "sp-fix-72d792faa8a75ea9bb30afc3",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-72d792faa8a75ea9bb30afc3",
                "X-SaferPage-Body-SHA256": "b8953c984b8783e64706b3e85c3af3d2384adb083f6fe666e49668e9e76ea438",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_module_privacy_consent",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Datenschutz, Cookies & Consent",
                "evidence": "0 Tracking-Script(s), 2 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: ja, Consent-Audit: 53.",
                "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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_module_privacy_consent\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Datenschutz, Cookies & Consent\",\"evidence\":\"0 Tracking-Script(s), 2 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: ja, Consent-Audit: 53.\",\"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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "b8953c984b8783e64706b3e85c3af3d2384adb083f6fe666e49668e9e76ea438",
            "slack_payload": {
                "text": "[MITTEL] 1podcast.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: 30 Tage · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] 1podcast.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": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.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/1podcast.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-ddc7144d6f6096f2bd1ca052",
            "ticket_id": "remediation_google_consent_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing Ops/Webentwicklung",
            "sla": "30 Tage",
            "summary": "[1podcast.de] Google-Dienste",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-ddc7144d6f6096f2bd1ca052",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-ddc7144d6f6096f2bd1ca052",
                "X-SaferPage-Body-SHA256": "cc7fdef7e44c3bdbe4643e38cccd09c01931c7726a4bc0dc324399874172b161",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_google_consent_gap",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing Ops/Webentwicklung",
                "sla": "30 Tage",
                "title": "Google-Dienste",
                "evidence": "Google-Consent-Mode-Signale wurden aus GTM/Analytics/Ads-Tags, passenden Browserkontakten und Tracking-IDs abgeleitet; reine Google-Service-Kontakte werden separat gezählt.",
                "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/google-dienste-datenschutzfreundlich-einbinden",
                    "evidence": "https://saferpage.de/befunde/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_google_consent_gap\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing Ops/Webentwicklung\",\"sla\":\"30 Tage\",\"title\":\"Google-Dienste\",\"evidence\":\"Google-Consent-Mode-Signale wurden aus GTM/Analytics/Ads-Tags, passenden Browserkontakten und Tracking-IDs abgeleitet; reine Google-Service-Kontakte werden separat gezählt.\",\"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/google-dienste-datenschutzfreundlich-einbinden\",\"evidence\":\"https://saferpage.de/befunde/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "cc7fdef7e44c3bdbe4643e38cccd09c01931c7726a4bc0dc324399874172b161",
            "slack_payload": {
                "text": "[MITTEL] 1podcast.de: Google-Dienste",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Google-Dienste*\nBefund mit Hintergrundseite einordnen und danach erneut scannen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing Ops/Webentwicklung · Zielzeit: 30 Tage · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] 1podcast.de: Google-Dienste",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Google-Dienste"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Befund mit Hintergrundseite einordnen und danach erneut scannen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing Ops/Webentwicklung"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Google-Dienste",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-18cc2d046a2208223add3557",
            "ticket_id": "remediation_module_google_third_parties",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[1podcast.de] Google-Dienste & Drittanbieter",
            "description": "Google-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern.",
            "idempotency_key": "sp-fix-18cc2d046a2208223add3557",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-18cc2d046a2208223add3557",
                "X-SaferPage-Body-SHA256": "7440de2fa29a0e19850dda6d9d24015c9c1497876f1c329efe64280e687659b7",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_module_google_third_parties",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Google-Dienste & Drittanbieter",
                "evidence": "Google-Tags: ja, 0 Google-nahe Domain(s), Consent-Default: nein, Analytics: nein, Werbung: nein, Fonts: nein.",
                "action": "Google-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden",
                    "evidence": "https://saferpage.de/befunde/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_module_google_third_parties\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Google-Dienste & Drittanbieter\",\"evidence\":\"Google-Tags: ja, 0 Google-nahe Domain(s), Consent-Default: nein, Analytics: nein, Werbung: nein, Fonts: nein.\",\"action\":\"Google-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden\",\"evidence\":\"https://saferpage.de/befunde/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "7440de2fa29a0e19850dda6d9d24015c9c1497876f1c329efe64280e687659b7",
            "slack_payload": {
                "text": "[MITTEL] 1podcast.de: Google-Dienste & Drittanbieter",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Google-Dienste & Drittanbieter*\nGoogle-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] 1podcast.de: Google-Dienste & Drittanbieter",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Google-Dienste & Drittanbieter"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Google-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Google-Dienste & Drittanbieter",
                    "description": "Google-Dienste einzeln prüfen, Consent Mode sauber setzen und Fonts möglichst lokal ausliefern.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/google-dienste-datenschutzfreundlich-einbinden\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-221e727836ad0ae1b00cef31",
            "ticket_id": "remediation_consent_preconsent_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT",
            "sla": "30 Tage",
            "summary": "[1podcast.de] Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-221e727836ad0ae1b00cef31",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-221e727836ad0ae1b00cef31",
                "X-SaferPage-Body-SHA256": "6a0c3ce1de50bf4c5fa4b9657f8232c22357d932443092cbb15d5986d246a302",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_consent_preconsent_gap",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT",
                "sla": "30 Tage",
                "title": "Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                "evidence": "Consent, 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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_consent_preconsent_gap\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT\",\"sla\":\"30 Tage\",\"title\":\"Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren\",\"evidence\":\"Consent, 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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "6a0c3ce1de50bf4c5fa4b9657f8232c22357d932443092cbb15d5986d246a302",
            "slack_payload": {
                "text": "[MITTEL] 1podcast.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: 30 Tage · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] 1podcast.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": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-2502db833220964ef37a8b3a",
            "ticket_id": "mapping_cookie_xsrf-token",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[1podcast.de] XSRF-TOKEN",
            "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
            "idempotency_key": "sp-fix-2502db833220964ef37a8b3a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-2502db833220964ef37a8b3a",
                "X-SaferPage-Body-SHA256": "d6b37f99a8db73a7e5df5567a9452c94e6f85c9e047290e838d483f1cff7f815",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "mapping_cookie_xsrf-token",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "XSRF-TOKEN",
                "evidence": "1podcast.de",
                "action": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
                    "evidence": "https://saferpage.de/cookies/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"mapping_cookie_xsrf-token\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"XSRF-TOKEN\",\"evidence\":\"1podcast.de\",\"action\":\"Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\",\"evidence\":\"https://saferpage.de/cookies/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "d6b37f99a8db73a7e5df5567a9452c94e6f85c9e047290e838d483f1cff7f815",
            "slack_payload": {
                "text": "[MITTEL] 1podcast.de: XSRF-TOKEN",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*XSRF-TOKEN*\nZweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/cookies/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] 1podcast.de: XSRF-TOKEN",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "XSRF-TOKEN"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] XSRF-TOKEN",
                    "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.\n\nNachweis: https://saferpage.de/cookies/1podcast.de\nHintergrundseite: https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-f52e88079e0206da396c1705",
            "ticket_id": "remediation_consent_state_gpc_evidence_review",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[1podcast.de] Consent-Zustand: GPC mit Tracking-Hinweisen",
            "description": "GPC-Aufruf auf Datenschutz-Drittanbieter, Drittanbieter-Cookies und Storage-IDs prüfen.",
            "idempotency_key": "sp-fix-f52e88079e0206da396c1705",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-f52e88079e0206da396c1705",
                "X-SaferPage-Body-SHA256": "23929f46fc6062ac1f409bae069171049fcf41c95a3dfda6410dc9bf54c3c777",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "23929f46fc6062ac1f409bae069171049fcf41c95a3dfda6410dc9bf54c3c777",
            "slack_payload": {
                "text": "[NIEDRIG] 1podcast.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/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] 1podcast.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": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.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/1podcast.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-725ac268a3f5ee4276048562",
            "ticket_id": "remediation_missing_cross_origin_embedder_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[1podcast.de] Cross-Origin-Embedder-Policy fehlt",
            "description": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-725ac268a3f5ee4276048562",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-725ac268a3f5ee4276048562",
                "X-SaferPage-Body-SHA256": "b11c657272322a9562a3ffaa8db7d40c1c07081dcb07ed8986c34599963810c7",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "b11c657272322a9562a3ffaa8db7d40c1c07081dcb07ed8986c34599963810c7",
            "slack_payload": {
                "text": "[NIEDRIG] 1podcast.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/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] 1podcast.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": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.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/1podcast.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-9586f02e7824d091e930bd84",
            "ticket_id": "remediation_missing_cross_origin_opener_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[1podcast.de] Cross-Origin-Opener-Policy fehlt",
            "description": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-9586f02e7824d091e930bd84",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-9586f02e7824d091e930bd84",
                "X-SaferPage-Body-SHA256": "855c3b35b9e3730cd924e2e63a598d161945bde9c0632aacf66d1f28bd86ce39",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "855c3b35b9e3730cd924e2e63a598d161945bde9c0632aacf66d1f28bd86ce39",
            "slack_payload": {
                "text": "[NIEDRIG] 1podcast.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/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] 1podcast.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": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.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/1podcast.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-0fa2aaba5c2b696d488dc800",
            "ticket_id": "remediation_missing_cross_origin_resource_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[1podcast.de] Cross-Origin-Resource-Policy fehlt",
            "description": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-0fa2aaba5c2b696d488dc800",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-0fa2aaba5c2b696d488dc800",
                "X-SaferPage-Body-SHA256": "55cd340e36aa900821f92b457d0f3ba8c6a86ca113a8baff35c58b269f701edf",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "55cd340e36aa900821f92b457d0f3ba8c6a86ca113a8baff35c58b269f701edf",
            "slack_payload": {
                "text": "[NIEDRIG] 1podcast.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/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] 1podcast.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": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.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/1podcast.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-d25c368ffcfb382e3d6b0a04",
            "ticket_id": "remediation_cmp_api_not_detected",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[1podcast.de] Keine gängige CMP-/TCF-API im Browser erkannt",
            "description": "Bei Tracking prüfen, ob Consent technisch nachvollziehbar gesetzt, widerrufen und dokumentiert wird.",
            "idempotency_key": "sp-fix-d25c368ffcfb382e3d6b0a04",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-d25c368ffcfb382e3d6b0a04",
                "X-SaferPage-Body-SHA256": "4a35a37932ab74955a295e662364afee24b9357de79d789400d4e4e83ca56705",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_cmp_api_not_detected",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Keine gängige CMP-/TCF-API im Browser erkannt",
                "evidence": "",
                "action": "Bei Tracking prüfen, ob Consent technisch nachvollziehbar gesetzt, widerrufen und dokumentiert wird.",
                "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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_cmp_api_not_detected\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Keine gängige CMP-/TCF-API im Browser erkannt\",\"evidence\":\"\",\"action\":\"Bei Tracking prüfen, ob Consent technisch nachvollziehbar gesetzt, widerrufen und dokumentiert wird.\",\"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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "4a35a37932ab74955a295e662364afee24b9357de79d789400d4e4e83ca56705",
            "slack_payload": {
                "text": "[NIEDRIG] 1podcast.de: Keine gängige CMP-/TCF-API im Browser erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Keine gängige CMP-/TCF-API im Browser erkannt*\nBei Tracking prüfen, ob Consent technisch nachvollziehbar gesetzt, widerrufen und dokumentiert wird."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] 1podcast.de: Keine gängige CMP-/TCF-API im Browser erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Keine gängige CMP-/TCF-API im Browser erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Bei Tracking prüfen, ob Consent technisch nachvollziehbar gesetzt, widerrufen und dokumentiert wird."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Keine gängige CMP-/TCF-API im Browser erkannt",
                    "description": "Bei Tracking prüfen, ob Consent technisch nachvollziehbar gesetzt, widerrufen und dokumentiert wird.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-6b8ca6d874270e0325d1ca2c",
            "ticket_id": "remediation_missing_permissions_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[1podcast.de] Permissions-Policy fehlt",
            "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-6b8ca6d874270e0325d1ca2c",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-6b8ca6d874270e0325d1ca2c",
                "X-SaferPage-Body-SHA256": "2236ce263c3fcd764e13ce298b712999805299f6f57901d97a525ee7210a440e",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "2236ce263c3fcd764e13ce298b712999805299f6f57901d97a525ee7210a440e",
            "slack_payload": {
                "text": "[NIEDRIG] 1podcast.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/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] 1podcast.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": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Permissions-Policy fehlt",
                    "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-c2df74fb6f9f751c3685d85e",
            "ticket_id": "remediation_missing_referrer_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[1podcast.de] Referrer-Policy fehlt",
            "description": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-c2df74fb6f9f751c3685d85e",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-c2df74fb6f9f751c3685d85e",
                "X-SaferPage-Body-SHA256": "9b671d475dc8c41cab53b6e1ac966600cd0d9b00036d510f925f8d043ee63b20",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "ticket_id": "remediation_missing_referrer_policy",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Referrer-Policy fehlt",
                "evidence": "",
                "action": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"ticket_id\":\"remediation_missing_referrer_policy\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Referrer-Policy fehlt\",\"evidence\":\"\",\"action\":\"Header `referrer-policy` setzen und nach Deployment erneut prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "9b671d475dc8c41cab53b6e1ac966600cd0d9b00036d510f925f8d043ee63b20",
            "slack_payload": {
                "text": "[NIEDRIG] 1podcast.de: Referrer-Policy fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Referrer-Policy fehlt*\nHeader `referrer-policy` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] 1podcast.de: Referrer-Policy fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Referrer-Policy fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `referrer-policy` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.de] Referrer-Policy fehlt",
                    "description": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/1podcast.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-14fe42608961c9be30d18029",
            "ticket_id": "remediation_gpc_tracking_storage_hints",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[1podcast.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-14fe42608961c9be30d18029",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-14fe42608961c9be30d18029",
                "X-SaferPage-Body-SHA256": "c5fe1d90479efd3edaf0832959f62618cd5deb94d6de626e8f96c31e9ba56f59",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "1podcast.de",
                "scan_id": "0b23f98f-122c-4587-b5ab-0d3eba375ab6",
                "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/1podcast.de",
                    "rescan": "https://saferpage.de/scanbetrieb/1podcast.de",
                    "report": "https://saferpage.de/1podcast.de",
                    "fix_guides": "https://saferpage.de/fix-guides/1podcast.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"1podcast.de\",\"scan_id\":\"0b23f98f-122c-4587-b5ab-0d3eba375ab6\",\"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/1podcast.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/1podcast.de\",\"report\":\"https://saferpage.de/1podcast.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/1podcast.de\"}}",
            "canonical_body_sha256": "c5fe1d90479efd3edaf0832959f62618cd5deb94d6de626e8f96c31e9ba56f59",
            "slack_payload": {
                "text": "[NIEDRIG] 1podcast.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/1podcast.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] 1podcast.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": "1podcast.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[1podcast.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/1podcast.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/1podcast.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        }
    ],
    "links": {
        "fix_guides": "https://saferpage.de/fix-guides/1podcast.de",
        "tickets_json": "https://saferpage.de/fix-guides/1podcast.de/tickets-json",
        "json": "https://saferpage.de/fix-guides/1podcast.de/tickets-delivery-json",
        "csv": "https://saferpage.de/fix-guides/1podcast.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."
}
