{
    "schema": "https://saferpage.de/schemas/operator-remediation-ticket-delivery.v1",
    "generated_at": "2026-06-23T22:02:24+00:00",
    "domain": "geoportal.kaiserslautern.de",
    "available": true,
    "scan": {
        "id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
        "checked_at": "2026-06-20 01:23:21.407274+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": 33,
        "high_priority_count": 9,
        "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-f3e4f0f925fd4d3c00e93841",
            "ticket_id": "remediation_beacon_api_usage",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[geoportal.kaiserslautern.de] Beacon-/Keepalive-Telemetrie erkannt",
            "description": "navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen.",
            "idempotency_key": "sp-fix-f3e4f0f925fd4d3c00e93841",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-f3e4f0f925fd4d3c00e93841",
                "X-SaferPage-Body-SHA256": "7b5ed941534a722b9205a831eaeef8b5077a46fad5ea2702ec036b1f242da5cd",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_beacon_api_usage",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Beacon-/Keepalive-Telemetrie erkannt",
                "evidence": "",
                "action": "navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_beacon_api_usage\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Beacon-/Keepalive-Telemetrie erkannt\",\"evidence\":\"\",\"action\":\"navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "7b5ed941534a722b9205a831eaeef8b5077a46fad5ea2702ec036b1f242da5cd",
            "slack_payload": {
                "text": "[HOCH] geoportal.kaiserslautern.de: Beacon-/Keepalive-Telemetrie erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Beacon-/Keepalive-Telemetrie erkannt*\nnavigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] geoportal.kaiserslautern.de: Beacon-/Keepalive-Telemetrie erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Beacon-/Keepalive-Telemetrie erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Beacon-/Keepalive-Telemetrie erkannt",
                    "description": "navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a49b0d3fd2badc9263df9f70",
            "ticket_id": "remediation_known_vulnerability_advisory",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[geoportal.kaiserslautern.de] CVE-2020-11022: Potential XSS vulnerability in jQuery",
            "description": "Aktualisiere das betroffene Open-Source-Paket auf eine nicht betroffene Version.",
            "idempotency_key": "sp-fix-a49b0d3fd2badc9263df9f70",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a49b0d3fd2badc9263df9f70",
                "X-SaferPage-Body-SHA256": "fdd4213406a1a2d79707b74514a80427f30d7947f9b30e2bf6047baaf195162b",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_known_vulnerability_advisory",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "CVE-2020-11022: Potential XSS vulnerability in jQuery",
                "evidence": "",
                "action": "Aktualisiere das betroffene Open-Source-Paket auf eine nicht betroffene Version.",
                "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/sichtbare-versionen-und-cves-beheben",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_known_vulnerability_advisory\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"CVE-2020-11022: Potential XSS vulnerability in jQuery\",\"evidence\":\"\",\"action\":\"Aktualisiere das betroffene Open-Source-Paket auf eine nicht betroffene Version.\",\"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/sichtbare-versionen-und-cves-beheben\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "fdd4213406a1a2d79707b74514a80427f30d7947f9b30e2bf6047baaf195162b",
            "slack_payload": {
                "text": "[HOCH] geoportal.kaiserslautern.de: CVE-2020-11022: Potential XSS vulnerability in jQuery",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*CVE-2020-11022: Potential XSS vulnerability in jQuery*\nAktualisiere das betroffene Open-Source-Paket auf eine nicht betroffene Version."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] geoportal.kaiserslautern.de: CVE-2020-11022: Potential XSS vulnerability in jQuery",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "CVE-2020-11022: Potential XSS vulnerability in jQuery"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Aktualisiere das betroffene Open-Source-Paket auf eine nicht betroffene Version."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] CVE-2020-11022: Potential XSS vulnerability in jQuery",
                    "description": "Aktualisiere das betroffene Open-Source-Paket auf eine nicht betroffene Version.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/sichtbare-versionen-und-cves-beheben\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a52bc869124b5986429d0d39",
            "ticket_id": "remediation_consent_accept_only",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[geoportal.kaiserslautern.de] Consent wirkt wie Nur-Akzeptieren",
            "description": "Cookie-Auswahl und Ablehnen-Option sichtbar anbieten.",
            "idempotency_key": "sp-fix-a52bc869124b5986429d0d39",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a52bc869124b5986429d0d39",
                "X-SaferPage-Body-SHA256": "d3d93923bab9d3469cc714f057bbac8852c4ac98191deffe4713c72f35e8f5aa",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_consent_accept_only",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Consent wirkt wie Nur-Akzeptieren",
                "evidence": "",
                "action": "Cookie-Auswahl und Ablehnen-Option sichtbar anbieten.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_consent_accept_only\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Consent wirkt wie Nur-Akzeptieren\",\"evidence\":\"\",\"action\":\"Cookie-Auswahl und Ablehnen-Option sichtbar anbieten.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "d3d93923bab9d3469cc714f057bbac8852c4ac98191deffe4713c72f35e8f5aa",
            "slack_payload": {
                "text": "[HOCH] geoportal.kaiserslautern.de: Consent wirkt wie Nur-Akzeptieren",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Consent wirkt wie Nur-Akzeptieren*\nCookie-Auswahl und Ablehnen-Option sichtbar anbieten."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] geoportal.kaiserslautern.de: Consent wirkt wie Nur-Akzeptieren",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Consent wirkt wie Nur-Akzeptieren"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Cookie-Auswahl und Ablehnen-Option sichtbar anbieten."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Consent wirkt wie Nur-Akzeptieren",
                    "description": "Cookie-Auswahl und Ablehnen-Option sichtbar anbieten.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-31bedc8a6a342d4e797f1886",
            "ticket_id": "remediation_missing_csp",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[geoportal.kaiserslautern.de] Content-Security-Policy fehlt",
            "description": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-31bedc8a6a342d4e797f1886",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-31bedc8a6a342d4e797f1886",
                "X-SaferPage-Body-SHA256": "6c82c3a6042db41f9544ebe5ac0cff0f0b23f3614b28b18061ca17601bdd2624",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "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/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"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/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "6c82c3a6042db41f9544ebe5ac0cff0f0b23f3614b28b18061ca17601bdd2624",
            "slack_payload": {
                "text": "[HOCH] geoportal.kaiserslautern.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/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] geoportal.kaiserslautern.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": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Content-Security-Policy fehlt",
                    "description": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-549cf45af0dd237ea048d857",
            "ticket_id": "remediation_cookie_missing_secure",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[geoportal.kaiserslautern.de] Cookie ohne Secure-Flag",
            "description": "Cookies über HTTPS mit Secure-Flag setzen.",
            "idempotency_key": "sp-fix-549cf45af0dd237ea048d857",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-549cf45af0dd237ea048d857",
                "X-SaferPage-Body-SHA256": "7269474b15f98157c7a43a6ca1eb63b07b2f3aef69eb45a0347002477d662c4a",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_cookie_missing_secure",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Cookie ohne Secure-Flag",
                "evidence": "",
                "action": "Cookies über HTTPS mit Secure-Flag 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/cookies-sicher-konfigurieren",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_cookie_missing_secure\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Cookie ohne Secure-Flag\",\"evidence\":\"\",\"action\":\"Cookies über HTTPS mit Secure-Flag 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/cookies-sicher-konfigurieren\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "7269474b15f98157c7a43a6ca1eb63b07b2f3aef69eb45a0347002477d662c4a",
            "slack_payload": {
                "text": "[HOCH] geoportal.kaiserslautern.de: Cookie ohne Secure-Flag",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cookie ohne Secure-Flag*\nCookies über HTTPS mit Secure-Flag setzen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] geoportal.kaiserslautern.de: Cookie ohne Secure-Flag",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cookie ohne Secure-Flag"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Cookies über HTTPS mit Secure-Flag setzen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Cookie ohne Secure-Flag",
                    "description": "Cookies über HTTPS mit Secure-Flag setzen.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/cookies-sicher-konfigurieren\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-7dd78d06558a79a472168da7",
            "ticket_id": "remediation_consent_no_reject_option",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[geoportal.kaiserslautern.de] Cookie-Hinweis ohne klare Ablehnen-Option",
            "description": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.",
            "idempotency_key": "sp-fix-7dd78d06558a79a472168da7",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-7dd78d06558a79a472168da7",
                "X-SaferPage-Body-SHA256": "f70cf60138052471c1308b0f99de59ca911348d542fe4b866db57c434f8976fd",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_consent_no_reject_option",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Cookie-Hinweis ohne klare Ablehnen-Option",
                "evidence": "",
                "action": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_consent_no_reject_option\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Cookie-Hinweis ohne klare Ablehnen-Option\",\"evidence\":\"\",\"action\":\"Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "f70cf60138052471c1308b0f99de59ca911348d542fe4b866db57c434f8976fd",
            "slack_payload": {
                "text": "[HOCH] geoportal.kaiserslautern.de: Cookie-Hinweis ohne klare Ablehnen-Option",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cookie-Hinweis ohne klare Ablehnen-Option*\nAblehnen sollte genauso leicht auffindbar sein wie Akzeptieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] geoportal.kaiserslautern.de: Cookie-Hinweis ohne klare Ablehnen-Option",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cookie-Hinweis ohne klare Ablehnen-Option"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Cookie-Hinweis ohne klare Ablehnen-Option",
                    "description": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-71c239a8f1787f72cf09ef9e",
            "ticket_id": "remediation_imprint_missing",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[geoportal.kaiserslautern.de] Kein Impressum-Link erkannt",
            "description": "Für deutsche Seiten sollte ein gut sichtbares Impressum verlinkt sein.",
            "idempotency_key": "sp-fix-71c239a8f1787f72cf09ef9e",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-71c239a8f1787f72cf09ef9e",
                "X-SaferPage-Body-SHA256": "12cccfb086e23e2d30c102d495a76e9090ee8b2c530136e1c183b5cadd1b4dcf",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_imprint_missing",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Kein Impressum-Link erkannt",
                "evidence": "",
                "action": "Für deutsche Seiten sollte ein gut sichtbares Impressum verlinkt sein.",
                "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/impressum-und-kontakt-sichtbar-machen",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_imprint_missing\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Kein Impressum-Link erkannt\",\"evidence\":\"\",\"action\":\"Für deutsche Seiten sollte ein gut sichtbares Impressum verlinkt sein.\",\"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/impressum-und-kontakt-sichtbar-machen\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "12cccfb086e23e2d30c102d495a76e9090ee8b2c530136e1c183b5cadd1b4dcf",
            "slack_payload": {
                "text": "[HOCH] geoportal.kaiserslautern.de: Kein Impressum-Link erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Kein Impressum-Link erkannt*\nFür deutsche Seiten sollte ein gut sichtbares Impressum verlinkt sein."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] geoportal.kaiserslautern.de: Kein Impressum-Link erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Kein Impressum-Link erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Für deutsche Seiten sollte ein gut sichtbares Impressum verlinkt sein."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Kein Impressum-Link erkannt",
                    "description": "Für deutsche Seiten sollte ein gut sichtbares Impressum verlinkt sein.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/impressum-und-kontakt-sichtbar-machen\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-4e8aac5404ae05dffd82b2c3",
            "ticket_id": "remediation_hidden_text",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[geoportal.kaiserslautern.de] Versteckter Text erkannt",
            "description": "Prüfen, ob Text absichtlich vor Nutzern verborgen, aber für Suchmaschinen platziert wird.",
            "idempotency_key": "sp-fix-4e8aac5404ae05dffd82b2c3",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-4e8aac5404ae05dffd82b2c3",
                "X-SaferPage-Body-SHA256": "b6cbc8747639e59e0d649da85157ae3a44ea1cc7137b87c4d170b8ed29cb7865",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_hidden_text",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Versteckter Text erkannt",
                "evidence": "",
                "action": "Prüfen, ob Text absichtlich vor Nutzern verborgen, aber für Suchmaschinen platziert 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/seo-spam-und-cloaking-bereinigen",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_hidden_text\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Versteckter Text erkannt\",\"evidence\":\"\",\"action\":\"Prüfen, ob Text absichtlich vor Nutzern verborgen, aber für Suchmaschinen platziert 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/seo-spam-und-cloaking-bereinigen\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "b6cbc8747639e59e0d649da85157ae3a44ea1cc7137b87c4d170b8ed29cb7865",
            "slack_payload": {
                "text": "[HOCH] geoportal.kaiserslautern.de: Versteckter Text erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Versteckter Text erkannt*\nPrüfen, ob Text absichtlich vor Nutzern verborgen, aber für Suchmaschinen platziert wird."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] geoportal.kaiserslautern.de: Versteckter Text erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Versteckter Text erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Prüfen, ob Text absichtlich vor Nutzern verborgen, aber für Suchmaschinen platziert wird."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Versteckter Text erkannt",
                    "description": "Prüfen, ob Text absichtlich vor Nutzern verborgen, aber für Suchmaschinen platziert wird.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-7dc9e07f895f08f651e080f8",
            "ticket_id": "remediation_important_pages_not_discovered",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[geoportal.kaiserslautern.de] Wichtige Betreiberseiten nicht vollständig in der Linkstruktur gefunden",
            "description": "Datenschutz und Impressum sollten von der Startseite aus klar erreichbar sein.",
            "idempotency_key": "sp-fix-7dc9e07f895f08f651e080f8",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-7dc9e07f895f08f651e080f8",
                "X-SaferPage-Body-SHA256": "3408f1eff743a7dbe61171aadf712186752f75074a6724d1c44a7ddf4e7010fa",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_important_pages_not_discovered",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Wichtige Betreiberseiten nicht vollständig in der Linkstruktur gefunden",
                "evidence": "",
                "action": "Datenschutz und Impressum sollten von der Startseite aus klar erreichbar sein.",
                "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/datenschutz-webseiten-pruefkatalog",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_important_pages_not_discovered\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Wichtige Betreiberseiten nicht vollständig in der Linkstruktur gefunden\",\"evidence\":\"\",\"action\":\"Datenschutz und Impressum sollten von der Startseite aus klar erreichbar sein.\",\"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/datenschutz-webseiten-pruefkatalog\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "3408f1eff743a7dbe61171aadf712186752f75074a6724d1c44a7ddf4e7010fa",
            "slack_payload": {
                "text": "[HOCH] geoportal.kaiserslautern.de: Wichtige Betreiberseiten nicht vollständig in der Linkstruktur gefunden",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Wichtige Betreiberseiten nicht vollständig in der Linkstruktur gefunden*\nDatenschutz und Impressum sollten von der Startseite aus klar erreichbar sein."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] geoportal.kaiserslautern.de: Wichtige Betreiberseiten nicht vollständig in der Linkstruktur gefunden",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Wichtige Betreiberseiten nicht vollständig in der Linkstruktur gefunden"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Datenschutz und Impressum sollten von der Startseite aus klar erreichbar sein."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Wichtige Betreiberseiten nicht vollständig in der Linkstruktur gefunden",
                    "description": "Datenschutz und Impressum sollten von der Startseite aus klar erreichbar sein.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-09464b140bcad667426d92ff",
            "ticket_id": "remediation_module_accessibility_usability",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[geoportal.kaiserslautern.de] Barrierefreiheit & Usability",
            "description": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.",
            "idempotency_key": "sp-fix-09464b140bcad667426d92ff",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-09464b140bcad667426d92ff",
                "X-SaferPage-Body-SHA256": "0fe2f050a45cba1d609a25a9465d4fb051ddadabc4c2bd71a8998e48be155178",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_module_accessibility_usability",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Barrierefreiheit & Usability",
                "evidence": "11 Bild(er) ohne alt, 0 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/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_module_accessibility_usability\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Barrierefreiheit & Usability\",\"evidence\":\"11 Bild(er) ohne alt, 0 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/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "0fe2f050a45cba1d609a25a9465d4fb051ddadabc4c2bd71a8998e48be155178",
            "slack_payload": {
                "text": "[MITTEL] geoportal.kaiserslautern.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/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] geoportal.kaiserslautern.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": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.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/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-9e0e76c1cffcb39268eb7e43",
            "ticket_id": "remediation_module_browser_evidence",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[geoportal.kaiserslautern.de] Browser-Nachweis",
            "description": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.",
            "idempotency_key": "sp-fix-9e0e76c1cffcb39268eb7e43",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-9e0e76c1cffcb39268eb7e43",
                "X-SaferPage-Body-SHA256": "b120fb06c7facd6663bd0a867485cf2a3cb10ac73bea42116de6849f12e0a89f",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_module_browser_evidence",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Browser-Nachweis",
                "evidence": "91 Request(s), 0 Drittanbieter-Domain(s), davon 0 datenschutzrelevant, 1 Browser-Cookie(s), Transfer-Prüfbedarf: 0, Referrer-/URL-Leaks: 0, Fingerprinting-/Replay-Hinweise: 1.",
                "action": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_module_browser_evidence\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Browser-Nachweis\",\"evidence\":\"91 Request(s), 0 Drittanbieter-Domain(s), davon 0 datenschutzrelevant, 1 Browser-Cookie(s), Transfer-Prüfbedarf: 0, Referrer-/URL-Leaks: 0, Fingerprinting-/Replay-Hinweise: 1.\",\"action\":\"Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "b120fb06c7facd6663bd0a867485cf2a3cb10ac73bea42116de6849f12e0a89f",
            "slack_payload": {
                "text": "[MITTEL] geoportal.kaiserslautern.de: Browser-Nachweis",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Browser-Nachweis*\nUnnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] geoportal.kaiserslautern.de: Browser-Nachweis",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Browser-Nachweis"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Browser-Nachweis",
                    "description": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-9d0c39f57d740d791da7a9c0",
            "ticket_id": "remediation_accessibility_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "UX/IT",
            "sla": "30 Tage",
            "summary": "[geoportal.kaiserslautern.de] Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-9d0c39f57d740d791da7a9c0",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-9d0c39f57d740d791da7a9c0",
                "X-SaferPage-Body-SHA256": "0448fee82c4f178c2c711779902d3d7ffd82735fce97504ba973fac17da955c7",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "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": "35 Bild(er), 1 Formularfeld(er), 78 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/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"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\":\"35 Bild(er), 1 Formularfeld(er), 78 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/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "0448fee82c4f178c2c711779902d3d7ffd82735fce97504ba973fac17da955c7",
            "slack_payload": {
                "text": "[MITTEL] geoportal.kaiserslautern.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/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] geoportal.kaiserslautern.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": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "UX/IT"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.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/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-996765158c38ceeeabed0b1a",
            "ticket_id": "remediation_module_privacy_consent",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[geoportal.kaiserslautern.de] Datenschutz, Cookies & Consent",
            "description": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
            "idempotency_key": "sp-fix-996765158c38ceeeabed0b1a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-996765158c38ceeeabed0b1a",
                "X-SaferPage-Body-SHA256": "8f5a83b804aeaef5973b5be7f544fa60dd78585292b79ed69bf72e1e099db594",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "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), 1 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 68.",
                "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/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"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), 1 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 68.\",\"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/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "8f5a83b804aeaef5973b5be7f544fa60dd78585292b79ed69bf72e1e099db594",
            "slack_payload": {
                "text": "[MITTEL] geoportal.kaiserslautern.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/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] geoportal.kaiserslautern.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": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.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/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-db98117bce40bf450b40a926",
            "ticket_id": "remediation_module_script_supply_chain",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[geoportal.kaiserslautern.de] Externe Skripte & SRI",
            "description": "Externe Skriptquellen reduzieren, statische CDN-Skripte mit SRI versehen und Tracking-/Tag-Skripte an Consent und CSP koppeln.",
            "idempotency_key": "sp-fix-db98117bce40bf450b40a926",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-db98117bce40bf450b40a926",
                "X-SaferPage-Body-SHA256": "59ec3e7794ae4104981a6ec517b706a01af37df8e730e48409391c0b54bb55f5",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_module_script_supply_chain",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Externe Skripte & SRI",
                "evidence": "20 externe Skript(e) von 1 Host(s), 20 ohne SRI, 0 Tracking-/Tag-nahe Skript(e).",
                "action": "Externe Skriptquellen reduzieren, statische CDN-Skripte mit SRI versehen und Tracking-/Tag-Skripte an Consent und CSP 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/externe-skripte-und-sri-absichern",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_module_script_supply_chain\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Externe Skripte & SRI\",\"evidence\":\"20 externe Skript(e) von 1 Host(s), 20 ohne SRI, 0 Tracking-/Tag-nahe Skript(e).\",\"action\":\"Externe Skriptquellen reduzieren, statische CDN-Skripte mit SRI versehen und Tracking-/Tag-Skripte an Consent und CSP 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/externe-skripte-und-sri-absichern\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "59ec3e7794ae4104981a6ec517b706a01af37df8e730e48409391c0b54bb55f5",
            "slack_payload": {
                "text": "[MITTEL] geoportal.kaiserslautern.de: Externe Skripte & SRI",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Externe Skripte & SRI*\nExterne Skriptquellen reduzieren, statische CDN-Skripte mit SRI versehen und Tracking-/Tag-Skripte an Consent und CSP koppeln."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] geoportal.kaiserslautern.de: Externe Skripte & SRI",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Externe Skripte & SRI"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Externe Skriptquellen reduzieren, statische CDN-Skripte mit SRI versehen und Tracking-/Tag-Skripte an Consent und CSP koppeln."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Externe Skripte & SRI",
                    "description": "Externe Skriptquellen reduzieren, statische CDN-Skripte mit SRI versehen und Tracking-/Tag-Skripte an Consent und CSP koppeln.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/externe-skripte-und-sri-absichern\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-d1103b2305588d2a5361de1e",
            "ticket_id": "remediation_module_operator_transparency",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[geoportal.kaiserslautern.de] Impressum, Kontakt & Datenschutzerklärung",
            "description": "Betreiberangaben, Kontaktweg und Datenschutzhinweise von jeder Seite aus auffindbar machen.",
            "idempotency_key": "sp-fix-d1103b2305588d2a5361de1e",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-d1103b2305588d2a5361de1e",
                "X-SaferPage-Body-SHA256": "d917bab6d525c7ba68d0ca1835a39834010dace1ad6cf9fa67c0217beec4430a",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_module_operator_transparency",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Impressum, Kontakt & Datenschutzerklärung",
                "evidence": "Impressum: nein, Datenschutz: ja, Kontakt: ja.",
                "action": "Betreiberangaben, Kontaktweg und Datenschutzhinweise von jeder Seite aus auffindbar 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/impressum-und-kontakt-sichtbar-machen",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_module_operator_transparency\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Impressum, Kontakt & Datenschutzerklärung\",\"evidence\":\"Impressum: nein, Datenschutz: ja, Kontakt: ja.\",\"action\":\"Betreiberangaben, Kontaktweg und Datenschutzhinweise von jeder Seite aus auffindbar 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/impressum-und-kontakt-sichtbar-machen\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "d917bab6d525c7ba68d0ca1835a39834010dace1ad6cf9fa67c0217beec4430a",
            "slack_payload": {
                "text": "[MITTEL] geoportal.kaiserslautern.de: Impressum, Kontakt & Datenschutzerklärung",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Impressum, Kontakt & Datenschutzerklärung*\nBetreiberangaben, Kontaktweg und Datenschutzhinweise von jeder Seite aus auffindbar machen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] geoportal.kaiserslautern.de: Impressum, Kontakt & Datenschutzerklärung",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Impressum, Kontakt & Datenschutzerklärung"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Betreiberangaben, Kontaktweg und Datenschutzhinweise von jeder Seite aus auffindbar machen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Impressum, Kontakt & Datenschutzerklärung",
                    "description": "Betreiberangaben, Kontaktweg und Datenschutzhinweise von jeder Seite aus auffindbar machen.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/impressum-und-kontakt-sichtbar-machen\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-1e2b47e0f492fe11c823a9ec",
            "ticket_id": "remediation_security_header_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "IT/Security",
            "sla": "30 Tage",
            "summary": "[geoportal.kaiserslautern.de] Security-Header, Referrer-Policy und Browser-Schutz setzen",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-1e2b47e0f492fe11c823a9ec",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-1e2b47e0f492fe11c823a9ec",
                "X-SaferPage-Body-SHA256": "e1069226386fdf9c6a54d4cd3f32bde46804dce7724ae7b4e016443b64dd14e4",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_security_header_gap",
                "priority": "mittel",
                "severity": "warning",
                "owner": "IT/Security",
                "sla": "30 Tage",
                "title": "Security-Header, Referrer-Policy und Browser-Schutz setzen",
                "evidence": "5 von 9 wichtigen Security-Headern vorhanden, 5 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/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_security_header_gap\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"IT/Security\",\"sla\":\"30 Tage\",\"title\":\"Security-Header, Referrer-Policy und Browser-Schutz setzen\",\"evidence\":\"5 von 9 wichtigen Security-Headern vorhanden, 5 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/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "e1069226386fdf9c6a54d4cd3f32bde46804dce7724ae7b4e016443b64dd14e4",
            "slack_payload": {
                "text": "[MITTEL] geoportal.kaiserslautern.de: Security-Header, Referrer-Policy und Browser-Schutz setzen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Security-Header, Referrer-Policy und Browser-Schutz setzen*\nBefund mit Hintergrundseite einordnen und danach erneut scannen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: IT/Security · Zielzeit: 30 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] geoportal.kaiserslautern.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": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "IT/Security"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Security-Header, Referrer-Policy und Browser-Schutz setzen",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-da92c6f3a42a6a8d02567afb",
            "ticket_id": "remediation_module_site_coverage",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[geoportal.kaiserslautern.de] Seitenabdeckung & Crawl",
            "description": "Datenschutz, Impressum, Kontakt, Cookie-Hinweise und kritische Formularseiten klar verlinken und regelmäßig mitprüfen.",
            "idempotency_key": "sp-fix-da92c6f3a42a6a8d02567afb",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-da92c6f3a42a6a8d02567afb",
                "X-SaferPage-Body-SHA256": "1ed6d5f02139db66f8d2c510a4cad9529e5ff08c49fc712ab0fa34b78d104b03",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_module_site_coverage",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Seitenabdeckung & Crawl",
                "evidence": "30 interne Linkziele erkannt, 4 priorisierte Unterseite(n) abgerufen.",
                "action": "Datenschutz, Impressum, Kontakt, Cookie-Hinweise und kritische Formularseiten klar verlinken und regelmäßig mitprü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/datenschutz-webseiten-pruefkatalog",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_module_site_coverage\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Seitenabdeckung & Crawl\",\"evidence\":\"30 interne Linkziele erkannt, 4 priorisierte Unterseite(n) abgerufen.\",\"action\":\"Datenschutz, Impressum, Kontakt, Cookie-Hinweise und kritische Formularseiten klar verlinken und regelmäßig mitprü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/datenschutz-webseiten-pruefkatalog\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "1ed6d5f02139db66f8d2c510a4cad9529e5ff08c49fc712ab0fa34b78d104b03",
            "slack_payload": {
                "text": "[MITTEL] geoportal.kaiserslautern.de: Seitenabdeckung & Crawl",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Seitenabdeckung & Crawl*\nDatenschutz, Impressum, Kontakt, Cookie-Hinweise und kritische Formularseiten klar verlinken und regelmäßig mitprüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] geoportal.kaiserslautern.de: Seitenabdeckung & Crawl",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Seitenabdeckung & Crawl"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Datenschutz, Impressum, Kontakt, Cookie-Hinweise und kritische Formularseiten klar verlinken und regelmäßig mitprüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Seitenabdeckung & Crawl",
                    "description": "Datenschutz, Impressum, Kontakt, Cookie-Hinweise und kritische Formularseiten klar verlinken und regelmäßig mitprüfen.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-1add0b29018604d96a222f17",
            "ticket_id": "remediation_module_security_tls",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[geoportal.kaiserslautern.de] Sicherheit, TLS & Header",
            "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
            "idempotency_key": "sp-fix-1add0b29018604d96a222f17",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-1add0b29018604d96a222f17",
                "X-SaferPage-Body-SHA256": "e24bedef4c8bc1c4685066749d94d0c4db3df82b5c51cbf68774661bd7186e19",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_module_security_tls",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Sicherheit, TLS & Header",
                "evidence": "1 Infrastruktur-Hinweis(e), Security-Header: 5/9 vorhanden, 4 fehlen, externe Skript-Hosts: 1.",
                "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/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_module_security_tls\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Sicherheit, TLS & Header\",\"evidence\":\"1 Infrastruktur-Hinweis(e), Security-Header: 5/9 vorhanden, 4 fehlen, externe Skript-Hosts: 1.\",\"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/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "e24bedef4c8bc1c4685066749d94d0c4db3df82b5c51cbf68774661bd7186e19",
            "slack_payload": {
                "text": "[MITTEL] geoportal.kaiserslautern.de: Sicherheit, TLS & Header",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Sicherheit, TLS & Header*\nHTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] geoportal.kaiserslautern.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": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Sicherheit, TLS & Header",
                    "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a984acb82df0f197247a9dd2",
            "ticket_id": "remediation_consent_preconsent_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT",
            "sla": "30 Tage",
            "summary": "[geoportal.kaiserslautern.de] Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-a984acb82df0f197247a9dd2",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a984acb82df0f197247a9dd2",
                "X-SaferPage-Body-SHA256": "93af2e1404b9e0231d7bab6d69c298087afe3e101297aeead08d2d998f135af0",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_consent_preconsent_gap",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT",
                "sla": "30 Tage",
                "title": "Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                "evidence": "Consent ist teilweise erkennbar; einzelne Punkte bleiben Betreiberkontext.",
                "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/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_consent_preconsent_gap\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT\",\"sla\":\"30 Tage\",\"title\":\"Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren\",\"evidence\":\"Consent ist teilweise erkennbar; einzelne Punkte bleiben Betreiberkontext.\",\"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/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "93af2e1404b9e0231d7bab6d69c298087afe3e101297aeead08d2d998f135af0",
            "slack_payload": {
                "text": "[MITTEL] geoportal.kaiserslautern.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/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] geoportal.kaiserslautern.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": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a0f489cefe158ba4746535fa",
            "ticket_id": "remediation_module_tracking_pixels_beacons",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[geoportal.kaiserslautern.de] Tracking-Pixel & Beacons",
            "description": "Pixel, sendBeacon, keepalive-Fetch und Link-Pings auf Consent, Zweck, Anbieter und Datenminimierung prüfen.",
            "idempotency_key": "sp-fix-a0f489cefe158ba4746535fa",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a0f489cefe158ba4746535fa",
                "X-SaferPage-Body-SHA256": "a6a3f8ce05ba7ecefc88dfc6b9e1305aed0994813c6bb10ae995387c737296f7",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_module_tracking_pixels_beacons",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Tracking-Pixel & Beacons",
                "evidence": "1 Pixel-/Bildtracking-Hinweis(e), 2 Beacon-/Telemetry-Hinweis(e), 0 Link-Ping(s).",
                "action": "Pixel, sendBeacon, keepalive-Fetch und Link-Pings auf Consent, Zweck, Anbieter und Datenminimierung prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_module_tracking_pixels_beacons\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Tracking-Pixel & Beacons\",\"evidence\":\"1 Pixel-/Bildtracking-Hinweis(e), 2 Beacon-/Telemetry-Hinweis(e), 0 Link-Ping(s).\",\"action\":\"Pixel, sendBeacon, keepalive-Fetch und Link-Pings auf Consent, Zweck, Anbieter und Datenminimierung prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "a6a3f8ce05ba7ecefc88dfc6b9e1305aed0994813c6bb10ae995387c737296f7",
            "slack_payload": {
                "text": "[MITTEL] geoportal.kaiserslautern.de: Tracking-Pixel & Beacons",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Tracking-Pixel & Beacons*\nPixel, sendBeacon, keepalive-Fetch und Link-Pings auf Consent, Zweck, Anbieter und Datenminimierung prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] geoportal.kaiserslautern.de: Tracking-Pixel & Beacons",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Tracking-Pixel & Beacons"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Pixel, sendBeacon, keepalive-Fetch und Link-Pings auf Consent, Zweck, Anbieter und Datenminimierung prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Tracking-Pixel & Beacons",
                    "description": "Pixel, sendBeacon, keepalive-Fetch und Link-Pings auf Consent, Zweck, Anbieter und Datenminimierung prüfen.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-70f04f9059c6dfc6b2a35b3a",
            "ticket_id": "remediation_coverage_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Webbetrieb/SEO",
            "sla": "30 Tage",
            "summary": "[geoportal.kaiserslautern.de] Wichtige Unterseiten, Datenschutz und Formulare crawlbar verlinken",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-70f04f9059c6dfc6b2a35b3a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-70f04f9059c6dfc6b2a35b3a",
                "X-SaferPage-Body-SHA256": "c7b8257b51ea1c59b85cf42e3857a0b2fb75ee43ea9623cb47294ff03a9bfb1c",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_coverage_gap",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Webbetrieb/SEO",
                "sla": "30 Tage",
                "title": "Wichtige Unterseiten, Datenschutz und Formulare crawlbar verlinken",
                "evidence": "30 interne Linkziele erkannt (0 aus Sitemap), 4 priorisierte Unterseite(n) zusätzlich abgerufen.",
                "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/datenschutz-webseiten-pruefkatalog",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_coverage_gap\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Webbetrieb/SEO\",\"sla\":\"30 Tage\",\"title\":\"Wichtige Unterseiten, Datenschutz und Formulare crawlbar verlinken\",\"evidence\":\"30 interne Linkziele erkannt (0 aus Sitemap), 4 priorisierte Unterseite(n) zusätzlich abgerufen.\",\"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/datenschutz-webseiten-pruefkatalog\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "c7b8257b51ea1c59b85cf42e3857a0b2fb75ee43ea9623cb47294ff03a9bfb1c",
            "slack_payload": {
                "text": "[MITTEL] geoportal.kaiserslautern.de: Wichtige Unterseiten, Datenschutz und Formulare crawlbar verlinken",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Wichtige Unterseiten, Datenschutz und Formulare crawlbar verlinken*\nBefund mit Hintergrundseite einordnen und danach erneut scannen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Webbetrieb/SEO · Zielzeit: 30 Tage · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] geoportal.kaiserslautern.de: Wichtige Unterseiten, Datenschutz und Formulare crawlbar verlinken",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Wichtige Unterseiten, Datenschutz und Formulare crawlbar verlinken"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Befund mit Hintergrundseite einordnen und danach erneut scannen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Webbetrieb/SEO"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Wichtige Unterseiten, Datenschutz und Formulare crawlbar verlinken",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-5c4191b225520eed56f4764e",
            "ticket_id": "mapping_cookie_pwauth",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[geoportal.kaiserslautern.de] pwAuth",
            "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
            "idempotency_key": "sp-fix-5c4191b225520eed56f4764e",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-5c4191b225520eed56f4764e",
                "X-SaferPage-Body-SHA256": "8137aa206d459c2edfa80957b468d2eae8d57d23126f3f2f01ab92e10f633774",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "mapping_cookie_pwauth",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "pwAuth",
                "evidence": "geoportal.kaiserslautern.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/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"mapping_cookie_pwauth\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"pwAuth\",\"evidence\":\"geoportal.kaiserslautern.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/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "8137aa206d459c2edfa80957b468d2eae8d57d23126f3f2f01ab92e10f633774",
            "slack_payload": {
                "text": "[MITTEL] geoportal.kaiserslautern.de: pwAuth",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*pwAuth*\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/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] geoportal.kaiserslautern.de: pwAuth",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "pwAuth"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] pwAuth",
                    "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.\n\nNachweis: https://saferpage.de/cookies/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-416dc264c503d3962efc25fb",
            "ticket_id": "remediation_image_alt_missing",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[geoportal.kaiserslautern.de] Bilder ohne Alternativtext",
            "description": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.",
            "idempotency_key": "sp-fix-416dc264c503d3962efc25fb",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-416dc264c503d3962efc25fb",
                "X-SaferPage-Body-SHA256": "98b6ada578bac6d52c3065b01514f2c9c8fcac940c9ed79df07e968ec0dd6d1e",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_image_alt_missing",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Bilder ohne Alternativtext",
                "evidence": "",
                "action": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_image_alt_missing\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Bilder ohne Alternativtext\",\"evidence\":\"\",\"action\":\"Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "98b6ada578bac6d52c3065b01514f2c9c8fcac940c9ed79df07e968ec0dd6d1e",
            "slack_payload": {
                "text": "[NIEDRIG] geoportal.kaiserslautern.de: Bilder ohne Alternativtext",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Bilder ohne Alternativtext*\nInhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] geoportal.kaiserslautern.de: Bilder ohne Alternativtext",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Bilder ohne Alternativtext"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Bilder ohne Alternativtext",
                    "description": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a6343ba121c95731903d3d5c",
            "ticket_id": "remediation_cookie_missing_samesite",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[geoportal.kaiserslautern.de] Cookie ohne SameSite-Attribut",
            "description": "SameSite=Lax oder SameSite=Strict setzen, falls fachlich möglich.",
            "idempotency_key": "sp-fix-a6343ba121c95731903d3d5c",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a6343ba121c95731903d3d5c",
                "X-SaferPage-Body-SHA256": "28744532c89f44cf2085ae1034a4f31a504f1565778bd10ae5e21dd93c1a7de2",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_cookie_missing_samesite",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Cookie ohne SameSite-Attribut",
                "evidence": "",
                "action": "SameSite=Lax oder SameSite=Strict setzen, falls fachlich möglich.",
                "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/cookies-sicher-konfigurieren",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_cookie_missing_samesite\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Cookie ohne SameSite-Attribut\",\"evidence\":\"\",\"action\":\"SameSite=Lax oder SameSite=Strict setzen, falls fachlich möglich.\",\"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/cookies-sicher-konfigurieren\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "28744532c89f44cf2085ae1034a4f31a504f1565778bd10ae5e21dd93c1a7de2",
            "slack_payload": {
                "text": "[NIEDRIG] geoportal.kaiserslautern.de: Cookie ohne SameSite-Attribut",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cookie ohne SameSite-Attribut*\nSameSite=Lax oder SameSite=Strict setzen, falls fachlich möglich."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] geoportal.kaiserslautern.de: Cookie ohne SameSite-Attribut",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cookie ohne SameSite-Attribut"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "SameSite=Lax oder SameSite=Strict setzen, falls fachlich möglich."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Cookie ohne SameSite-Attribut",
                    "description": "SameSite=Lax oder SameSite=Strict setzen, falls fachlich möglich.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/cookies-sicher-konfigurieren\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a56cbbe35bf2f594ae60c076",
            "ticket_id": "remediation_missing_cross_origin_embedder_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[geoportal.kaiserslautern.de] Cross-Origin-Embedder-Policy fehlt",
            "description": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-a56cbbe35bf2f594ae60c076",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a56cbbe35bf2f594ae60c076",
                "X-SaferPage-Body-SHA256": "f685c979de66bb4232059e61a720005e21afb31509309570c3b57bfaaca7ebce",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "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/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"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/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "f685c979de66bb4232059e61a720005e21afb31509309570c3b57bfaaca7ebce",
            "slack_payload": {
                "text": "[NIEDRIG] geoportal.kaiserslautern.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/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] geoportal.kaiserslautern.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": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.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/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-2306b0bf9e552b50f4d5d68b",
            "ticket_id": "remediation_missing_cross_origin_opener_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[geoportal.kaiserslautern.de] Cross-Origin-Opener-Policy fehlt",
            "description": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-2306b0bf9e552b50f4d5d68b",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-2306b0bf9e552b50f4d5d68b",
                "X-SaferPage-Body-SHA256": "57f0261c67754d4e76905f72b3ce4bc695b4e4817afeabd8ba51585a79cf5881",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "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/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"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/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "57f0261c67754d4e76905f72b3ce4bc695b4e4817afeabd8ba51585a79cf5881",
            "slack_payload": {
                "text": "[NIEDRIG] geoportal.kaiserslautern.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/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] geoportal.kaiserslautern.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": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.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/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-2898ad8f4818b9b0d1c4c5f8",
            "ticket_id": "remediation_missing_cross_origin_resource_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[geoportal.kaiserslautern.de] Cross-Origin-Resource-Policy fehlt",
            "description": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-2898ad8f4818b9b0d1c4c5f8",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-2898ad8f4818b9b0d1c4c5f8",
                "X-SaferPage-Body-SHA256": "312bfa247cab8e3849e756ff84f8cc57efde6e32bda62fb2f1d01605fe7c1c32",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "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/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"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/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "312bfa247cab8e3849e756ff84f8cc57efde6e32bda62fb2f1d01605fe7c1c32",
            "slack_payload": {
                "text": "[NIEDRIG] geoportal.kaiserslautern.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/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] geoportal.kaiserslautern.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": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.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/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-404d305050ffbfe6e3ccd10d",
            "ticket_id": "remediation_external_script_without_sri",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[geoportal.kaiserslautern.de] Externe Skripte ohne Subresource Integrity",
            "description": "Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern.",
            "idempotency_key": "sp-fix-404d305050ffbfe6e3ccd10d",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-404d305050ffbfe6e3ccd10d",
                "X-SaferPage-Body-SHA256": "f77d127376d63f7f36d75bb3ef286b1a8ce90b49259b8c2be458d99afef10de1",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_external_script_without_sri",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Externe Skripte ohne Subresource Integrity",
                "evidence": "",
                "action": "Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/externe-skripte-und-sri-absichern",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_external_script_without_sri\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Externe Skripte ohne Subresource Integrity\",\"evidence\":\"\",\"action\":\"Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/externe-skripte-und-sri-absichern\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "f77d127376d63f7f36d75bb3ef286b1a8ce90b49259b8c2be458d99afef10de1",
            "slack_payload": {
                "text": "[NIEDRIG] geoportal.kaiserslautern.de: Externe Skripte ohne Subresource Integrity",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Externe Skripte ohne Subresource Integrity*\nFür statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] geoportal.kaiserslautern.de: Externe Skripte ohne Subresource Integrity",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Externe Skripte ohne Subresource Integrity"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Externe Skripte ohne Subresource Integrity",
                    "description": "Für statische CDN-Skripte `integrity` und passend `crossorigin` setzen oder Skripte kontrolliert lokal ausliefern.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/externe-skripte-und-sri-absichern\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-1dd7f6dec0b8aca17535e978",
            "ticket_id": "remediation_missing_meta_description",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[geoportal.kaiserslautern.de] Meta-Description fehlt",
            "description": "Eine kurze Beschreibung setzen, die den Zweck der Seite erklärt.",
            "idempotency_key": "sp-fix-1dd7f6dec0b8aca17535e978",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-1dd7f6dec0b8aca17535e978",
                "X-SaferPage-Body-SHA256": "5aed0a110c3302e522987d26e635b54fe4efac3eab4db36fe9f2b31ae5e11286",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_missing_meta_description",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Meta-Description fehlt",
                "evidence": "",
                "action": "Eine kurze Beschreibung setzen, die den Zweck der Seite erklärt.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/externe-skripte-und-sri-absichern",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_missing_meta_description\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Meta-Description fehlt\",\"evidence\":\"\",\"action\":\"Eine kurze Beschreibung setzen, die den Zweck der Seite erklärt.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/externe-skripte-und-sri-absichern\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "5aed0a110c3302e522987d26e635b54fe4efac3eab4db36fe9f2b31ae5e11286",
            "slack_payload": {
                "text": "[NIEDRIG] geoportal.kaiserslautern.de: Meta-Description fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Meta-Description fehlt*\nEine kurze Beschreibung setzen, die den Zweck der Seite erklärt."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] geoportal.kaiserslautern.de: Meta-Description fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Meta-Description fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Eine kurze Beschreibung setzen, die den Zweck der Seite erklärt."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Meta-Description fehlt",
                    "description": "Eine kurze Beschreibung setzen, die den Zweck der Seite erklärt.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/externe-skripte-und-sri-absichern\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-cc9d12e21a36d688dabf92a4",
            "ticket_id": "remediation_sampled_internal_page_error",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[geoportal.kaiserslautern.de] Mindestens eine priorisierte Unterseite war nicht erfolgreich abrufbar",
            "description": "Interne Pflicht- und Vertrauensseiten auf Statuscode, Weiterleitung und Erreichbarkeit prüfen.",
            "idempotency_key": "sp-fix-cc9d12e21a36d688dabf92a4",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-cc9d12e21a36d688dabf92a4",
                "X-SaferPage-Body-SHA256": "fe33309b1236f2126b0c6b2dad29d47622bcc1747b482c769dd5f891ed108151",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_sampled_internal_page_error",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Mindestens eine priorisierte Unterseite war nicht erfolgreich abrufbar",
                "evidence": "",
                "action": "Interne Pflicht- und Vertrauensseiten auf Statuscode, Weiterleitung und Erreichbarkeit 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/serverfehler-beheben",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_sampled_internal_page_error\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Mindestens eine priorisierte Unterseite war nicht erfolgreich abrufbar\",\"evidence\":\"\",\"action\":\"Interne Pflicht- und Vertrauensseiten auf Statuscode, Weiterleitung und Erreichbarkeit 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/serverfehler-beheben\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "fe33309b1236f2126b0c6b2dad29d47622bcc1747b482c769dd5f891ed108151",
            "slack_payload": {
                "text": "[NIEDRIG] geoportal.kaiserslautern.de: Mindestens eine priorisierte Unterseite war nicht erfolgreich abrufbar",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Mindestens eine priorisierte Unterseite war nicht erfolgreich abrufbar*\nInterne Pflicht- und Vertrauensseiten auf Statuscode, Weiterleitung und Erreichbarkeit prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] geoportal.kaiserslautern.de: Mindestens eine priorisierte Unterseite war nicht erfolgreich abrufbar",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Mindestens eine priorisierte Unterseite war nicht erfolgreich abrufbar"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Interne Pflicht- und Vertrauensseiten auf Statuscode, Weiterleitung und Erreichbarkeit prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Mindestens eine priorisierte Unterseite war nicht erfolgreich abrufbar",
                    "description": "Interne Pflicht- und Vertrauensseiten auf Statuscode, Weiterleitung und Erreichbarkeit prüfen.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/serverfehler-beheben\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-fabdd022a7e41ac9e09b726f",
            "ticket_id": "remediation_tracking_pixel_detected",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[geoportal.kaiserslautern.de] Tracking-Pixel oder pixelnahe Requests erkannt",
            "description": "Pixel von kaiserslautern.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen.",
            "idempotency_key": "sp-fix-fabdd022a7e41ac9e09b726f",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-fabdd022a7e41ac9e09b726f",
                "X-SaferPage-Body-SHA256": "34ead17f96e9aa3fe7bdf9dfc1ffd682e588177f9990e0478bc74079f38e1bd9",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_tracking_pixel_detected",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Tracking-Pixel oder pixelnahe Requests erkannt",
                "evidence": "",
                "action": "Pixel von kaiserslautern.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_tracking_pixel_detected\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Tracking-Pixel oder pixelnahe Requests erkannt\",\"evidence\":\"\",\"action\":\"Pixel von kaiserslautern.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "34ead17f96e9aa3fe7bdf9dfc1ffd682e588177f9990e0478bc74079f38e1bd9",
            "slack_payload": {
                "text": "[NIEDRIG] geoportal.kaiserslautern.de: Tracking-Pixel oder pixelnahe Requests erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Tracking-Pixel oder pixelnahe Requests erkannt*\nPixel von kaiserslautern.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] geoportal.kaiserslautern.de: Tracking-Pixel oder pixelnahe Requests erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Tracking-Pixel oder pixelnahe Requests erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Pixel von kaiserslautern.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Tracking-Pixel oder pixelnahe Requests erkannt",
                    "description": "Pixel von kaiserslautern.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-e61272e8301fde0c88ed550a",
            "ticket_id": "remediation_browser_keystroke_listener_signals",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[geoportal.kaiserslautern.de] Viele Tastatur-/Eingabe-Listener im Browser erkannt",
            "description": "Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen.",
            "idempotency_key": "sp-fix-e61272e8301fde0c88ed550a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-e61272e8301fde0c88ed550a",
                "X-SaferPage-Body-SHA256": "0ff087f17a4f1a6f358500edcff2b6e917e2d4775092d16d022b76497a9289db",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_browser_keystroke_listener_signals",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Viele Tastatur-/Eingabe-Listener im Browser erkannt",
                "evidence": "",
                "action": "Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/session-replay-und-fingerprinting-pruefen",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_browser_keystroke_listener_signals\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Viele Tastatur-/Eingabe-Listener im Browser erkannt\",\"evidence\":\"\",\"action\":\"Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/session-replay-und-fingerprinting-pruefen\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "0ff087f17a4f1a6f358500edcff2b6e917e2d4775092d16d022b76497a9289db",
            "slack_payload": {
                "text": "[NIEDRIG] geoportal.kaiserslautern.de: Viele Tastatur-/Eingabe-Listener im Browser erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Viele Tastatur-/Eingabe-Listener im Browser erkannt*\nPrüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] geoportal.kaiserslautern.de: Viele Tastatur-/Eingabe-Listener im Browser erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Viele Tastatur-/Eingabe-Listener im Browser erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Viele Tastatur-/Eingabe-Listener im Browser erkannt",
                    "description": "Prüfen, ob Eingaben für Analytics, Session-Replay oder Debugging erfasst werden; sensible Felder konsequent ausschließen.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/session-replay-und-fingerprinting-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-f274f527f163a8f6dde76000",
            "ticket_id": "remediation_too_many_render_blocking_assets",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[geoportal.kaiserslautern.de] Viele potenziell blockierende Assets",
            "description": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.",
            "idempotency_key": "sp-fix-f274f527f163a8f6dde76000",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-f274f527f163a8f6dde76000",
                "X-SaferPage-Body-SHA256": "916e8609173cdd5c23f76f5ea3b76fa267f0af8c2da8bcad787d8784e1771a5a",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "geoportal.kaiserslautern.de",
                "scan_id": "a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6",
                "ticket_id": "remediation_too_many_render_blocking_assets",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Viele potenziell blockierende Assets",
                "evidence": "",
                "action": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/performance-und-mobile-usability-verbessern",
                    "evidence": "https://saferpage.de/befunde/geoportal.kaiserslautern.de",
                    "rescan": "https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "report": "https://saferpage.de/geoportal.kaiserslautern.de",
                    "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"geoportal.kaiserslautern.de\",\"scan_id\":\"a50879c4-5892-4b7e-ab1e-a8c1ae9bbbf6\",\"ticket_id\":\"remediation_too_many_render_blocking_assets\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Viele potenziell blockierende Assets\",\"evidence\":\"\",\"action\":\"Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/performance-und-mobile-usability-verbessern\",\"evidence\":\"https://saferpage.de/befunde/geoportal.kaiserslautern.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de\",\"report\":\"https://saferpage.de/geoportal.kaiserslautern.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/geoportal.kaiserslautern.de\"}}",
            "canonical_body_sha256": "916e8609173cdd5c23f76f5ea3b76fa267f0af8c2da8bcad787d8784e1771a5a",
            "slack_payload": {
                "text": "[NIEDRIG] geoportal.kaiserslautern.de: Viele potenziell blockierende Assets",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Viele potenziell blockierende Assets*\nSkripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/geoportal.kaiserslautern.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] geoportal.kaiserslautern.de: Viele potenziell blockierende Assets",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Viele potenziell blockierende Assets"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "geoportal.kaiserslautern.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[geoportal.kaiserslautern.de] Viele potenziell blockierende Assets",
                    "description": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.\n\nNachweis: https://saferpage.de/befunde/geoportal.kaiserslautern.de\nHintergrundseite: https://saferpage.de/guides/performance-und-mobile-usability-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/geoportal.kaiserslautern.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        }
    ],
    "links": {
        "fix_guides": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de",
        "tickets_json": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de/tickets-json",
        "json": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.de/tickets-delivery-json",
        "csv": "https://saferpage.de/fix-guides/geoportal.kaiserslautern.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."
}
