{
    "schema": "https://saferpage.de/schemas/operator-remediation-ticket-delivery.v1",
    "generated_at": "2026-06-22T09:27:28+00:00",
    "domain": "kjg.de",
    "available": true,
    "scan": {
        "id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
        "checked_at": "2026-06-19 14:20:28.51078+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": 35,
        "high_priority_count": 13,
        "channel_count": 4,
        "receiver_check_count": 6,
        "test_fixture_negative_count": 4
    },
    "signature_verification": {
        "algorithm": "HMAC-SHA256",
        "canonical_body": "Exakt canonical_webhook_body aus dem jeweiligen delivery_job signieren; keine Pretty-Print- oder Reordering-Variante verwenden.",
        "signature_secret_ref": "SAFERPAGE_OPERATOR_WEBHOOK_SECRET oder zielsystemspezifisches Secret im Secret Manager",
        "signature_header": "X-SaferPage-Signature",
        "signature_format": "sha256=<hex_hmac_sha256>",
        "body_sha256_header": "X-SaferPage-Body-SHA256",
        "idempotency_header": "X-SaferPage-Idempotency-Key",
        "receiver_must_check": [
            "HMAC ueber den exakten Request-Body stimmt mit X-SaferPage-Signature ueberein.",
            "SHA-256 des exakten Request-Body stimmt mit X-SaferPage-Body-SHA256 ueberein.",
            "X-SaferPage-Event ist operator.remediation.ticket_ready.",
            "X-SaferPage-Schema ist operator-remediation-ticket-delivery.v1.",
            "X-SaferPage-Idempotency-Key wurde fuer Domain, Scan und Nachweisposition noch nicht verarbeitet.",
            "Empfaenger, Projekt, Queue und Verantwortlichkeit sind fuer diese Domain freigegeben."
        ],
        "failure_policy": "Bei fehlender Signatur, Body-Hash-Abweichung, Replay oder unbekanntem Zielsystem ablehnen, nicht teilweise verarbeiten und Auditlog ohne Secret-Werte schreiben."
    },
    "verification_test_fixture": {
        "public_test_secret": "saferpage_remediation_ticket_test_secret_do_not_use_in_production",
        "canonical_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"example.test\",\"scan_id\":\"scan_test_2026_06_09\",\"ticket_id\":\"remediation_test_ticket\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Datenschutz/IT\",\"sla\":\"7 Tage\",\"title\":\"Consent-Befund reproduzieren und beheben\",\"evidence\":\"Test-Fixture fuer Receiver-Implementierung.\",\"action\":\"Testpayload unveraendert verifizieren, Idempotency-Key pruefen und danach verwerfen.\",\"acceptance_criteria\":[\"Signatur stimmt mit exakt diesem Body ueberein.\",\"Idempotency-Key wurde noch nicht verarbeitet.\",\"Event, Schema und Domain sind erlaubt.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/example.test\",\"rescan\":\"https://saferpage.de/scanbetrieb/example.test\",\"report\":\"https://saferpage.de/example.test\",\"fix_guides\":\"https://saferpage.de/fix-guides/example.test\"}}",
        "canonical_body_sha256": "cd19d86313ea4d6ea0f5dcd65b2b40794f017121c655dedcdfa6df362b480dcf",
        "expected_signature": "sha256=834a9f0cd7a3922648b8aa1ab00aef7ae7aa31d08b63e804ee4a586c0e9dd555",
        "expected_signature_header": "X-SaferPage-Signature: sha256=834a9f0cd7a3922648b8aa1ab00aef7ae7aa31d08b63e804ee4a586c0e9dd555",
        "idempotency_key": "sp-fix-test-fixture",
        "positive_test": "Empfaenger akzeptiert den unveraenderten canonical_body mit expected_signature und verwirft ihn danach als Testevent.",
        "negative_tests": [
            "Ein geaendertes Byte im Body muss abgelehnt werden.",
            "Ein fehlender oder doppelter X-SaferPage-Idempotency-Key muss abgelehnt werden.",
            "Eine Signatur mit anderem Secret muss abgelehnt werden.",
            "Ein erneuter Request mit derselben Idempotency-Key/Event-Kombination darf nicht erneut verarbeitet werden."
        ],
        "sample_commands": [
            "printf %s \"$BODY\" | openssl dgst -sha256 -hmac \"saferpage_remediation_ticket_test_secret_do_not_use_in_production\" -binary | xxd -p -c 256",
            "printf %s \"$BODY\" | sha256sum",
            "curl -X POST -H \"Content-Type: application/json\" -H \"X-SaferPage-Event: operator.remediation.ticket_ready\" -H \"X-SaferPage-Signature: sha256=834a9f0cd7a3922648b8aa1ab00aef7ae7aa31d08b63e804ee4a586c0e9dd555\" --data \"$BODY\" https://receiver.example.test/saferpage"
        ]
    },
    "retry_policy": {
        "max_attempts": 3,
        "backoff_seconds": [
            300,
            1800,
            7200
        ],
        "dead_letter_queue": "privacyops.remediation_ticket.failed"
    },
    "delivery_jobs": [
        {
            "id": "sp-fix-e6fcec9ddeeb244a3544fbd7",
            "ticket_id": "remediation_vendor_contract_transfer_fix",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Legal/Vendor-Verantwortung",
            "sla": "7 Tage",
            "summary": "[kjg.de] Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
            "description": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.",
            "idempotency_key": "sp-fix-e6fcec9ddeeb244a3544fbd7",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-e6fcec9ddeeb244a3544fbd7",
                "X-SaferPage-Body-SHA256": "f680c54cf002158922bbd9c0080abf58ee209d8e43c6b767cb3076b3836ef6df",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_vendor_contract_transfer_fix",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Legal/Vendor-Verantwortung",
                "sla": "7 Tage",
                "title": "Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                "evidence": "Vendor-Due-Diligence mit 2 Anbieter(n), 0 hohem Risiko, 2 AVV-/DPA-Prüfung(en) und 1 Transfer-/Jurisdiktionsfrage(n).",
                "action": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/befunde/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_vendor_contract_transfer_fix\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Legal/Vendor-Verantwortung\",\"sla\":\"7 Tage\",\"title\":\"Anbieterakten, AVV/DPA und Transfers priorisiert schließen\",\"evidence\":\"Vendor-Due-Diligence mit 2 Anbieter(n), 0 hohem Risiko, 2 AVV-/DPA-Prüfung(en) und 1 Transfer-/Jurisdiktionsfrage(n).\",\"action\":\"Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/befunde/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "f680c54cf002158922bbd9c0080abf58ee209d8e43c6b767cb3076b3836ef6df",
            "slack_payload": {
                "text": "[HOCH] kjg.de: Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Anbieterakten, AVV/DPA und Transfers priorisiert schließen*\nTop-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Legal/Vendor-Verantwortung · Zielzeit: 7 Tage · https://saferpage.de/befunde/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] kjg.de: Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Anbieterakten, AVV/DPA und Transfers priorisiert schließen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Legal/Vendor-Verantwortung"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                    "description": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-1bbcba444c702096170d9815",
            "ticket_id": "remediation_missing_csp",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[kjg.de] Content-Security-Policy fehlt",
            "description": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-1bbcba444c702096170d9815",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-1bbcba444c702096170d9815",
                "X-SaferPage-Body-SHA256": "ac2d0f5ca715d3707ba5f3479ae95be97e9b37b618278d501522c38d371a0c5d",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "ac2d0f5ca715d3707ba5f3479ae95be97e9b37b618278d501522c38d371a0c5d",
            "slack_payload": {
                "text": "[HOCH] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Content-Security-Policy fehlt",
                    "description": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-5ce89b03c8981290b5d516c3",
            "ticket_id": "remediation_data_entry_privacy_context_missing",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[kjg.de] Dateneingabe ohne klaren Datenschutzkontext",
            "description": "Vor Eingabe prüfen, welche Daten erhoben werden, wofür sie genutzt werden und wo die Datenschutzhinweise stehen.",
            "idempotency_key": "sp-fix-5ce89b03c8981290b5d516c3",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-5ce89b03c8981290b5d516c3",
                "X-SaferPage-Body-SHA256": "2018c2dfd57f585772d3557da545b254cb0ef6048ac4490da878846ee1bab7ce",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_data_entry_privacy_context_missing",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Dateneingabe ohne klaren Datenschutzkontext",
                "evidence": "",
                "action": "Vor Eingabe prüfen, welche Daten erhoben werden, wofür sie genutzt werden und wo die Datenschutzhinweise stehen.",
                "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/formulare-datenschutzkonform-absichern",
                    "evidence": "https://saferpage.de/befunde/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_data_entry_privacy_context_missing\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Dateneingabe ohne klaren Datenschutzkontext\",\"evidence\":\"\",\"action\":\"Vor Eingabe prüfen, welche Daten erhoben werden, wofür sie genutzt werden und wo die Datenschutzhinweise stehen.\",\"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/formulare-datenschutzkonform-absichern\",\"evidence\":\"https://saferpage.de/befunde/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "2018c2dfd57f585772d3557da545b254cb0ef6048ac4490da878846ee1bab7ce",
            "slack_payload": {
                "text": "[HOCH] kjg.de: Dateneingabe ohne klaren Datenschutzkontext",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Dateneingabe ohne klaren Datenschutzkontext*\nVor Eingabe prüfen, welche Daten erhoben werden, wofür sie genutzt werden und wo die Datenschutzhinweise stehen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] kjg.de: Dateneingabe ohne klaren Datenschutzkontext",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Dateneingabe ohne klaren Datenschutzkontext"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Vor Eingabe prüfen, welche Daten erhoben werden, wofür sie genutzt werden und wo die Datenschutzhinweise stehen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Dateneingabe ohne klaren Datenschutzkontext",
                    "description": "Vor Eingabe prüfen, welche Daten erhoben werden, wofür sie genutzt werden und wo die Datenschutzhinweise stehen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/formulare-datenschutzkonform-absichern\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-c8351cbb1a7e11d9b0bfce89",
            "ticket_id": "remediation_doorway_city_pattern",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[kjg.de] Doorway-/Städte-Seiten-Muster möglich",
            "description": "Prüfen, ob automatisch erzeugte Stadt-/Keyword-Seiten ohne eigenständigen Nutzen vorliegen.",
            "idempotency_key": "sp-fix-c8351cbb1a7e11d9b0bfce89",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-c8351cbb1a7e11d9b0bfce89",
                "X-SaferPage-Body-SHA256": "e23977af58008b402e371715f5f9f41b95f1c2b0fed4612776bc8314a576691e",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_doorway_city_pattern",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Doorway-/Städte-Seiten-Muster möglich",
                "evidence": "",
                "action": "Prüfen, ob automatisch erzeugte Stadt-/Keyword-Seiten ohne eigenständigen Nutzen vorliegen.",
                "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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_doorway_city_pattern\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Doorway-/Städte-Seiten-Muster möglich\",\"evidence\":\"\",\"action\":\"Prüfen, ob automatisch erzeugte Stadt-/Keyword-Seiten ohne eigenständigen Nutzen vorliegen.\",\"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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "e23977af58008b402e371715f5f9f41b95f1c2b0fed4612776bc8314a576691e",
            "slack_payload": {
                "text": "[HOCH] kjg.de: Doorway-/Städte-Seiten-Muster möglich",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Doorway-/Städte-Seiten-Muster möglich*\nPrüfen, ob automatisch erzeugte Stadt-/Keyword-Seiten ohne eigenständigen Nutzen vorliegen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] kjg.de: Doorway-/Städte-Seiten-Muster möglich",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Doorway-/Städte-Seiten-Muster möglich"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Prüfen, ob automatisch erzeugte Stadt-/Keyword-Seiten ohne eigenständigen Nutzen vorliegen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Doorway-/Städte-Seiten-Muster möglich",
                    "description": "Prüfen, ob automatisch erzeugte Stadt-/Keyword-Seiten ohne eigenständigen Nutzen vorliegen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-b4265eecae844b9ccda1cd2a",
            "ticket_id": "remediation_form_privacy_context_fix",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Webentwicklung/Datenschutz",
            "sla": "7 Tage",
            "summary": "[kjg.de] Formulare mit Zweck, Pflichtfeldern und Datenschutzkontext absichern",
            "description": "Formulartexte, Pflichtfelder, Datenschutzlink, Referrer-Policy und Tracking auf Formularseiten prüfen.",
            "idempotency_key": "sp-fix-b4265eecae844b9ccda1cd2a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-b4265eecae844b9ccda1cd2a",
                "X-SaferPage-Body-SHA256": "6d09d6792c025b08ee8c8c4e3fc5d31c3bb73f50aee495b7f9c733b2f6a90eaa",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_form_privacy_context_fix",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Webentwicklung/Datenschutz",
                "sla": "7 Tage",
                "title": "Formulare mit Zweck, Pflichtfeldern und Datenschutzkontext absichern",
                "evidence": "Crawl-Evidence: 7 Formular(e) auf 4 geprüften Seite(n).",
                "action": "Formulartexte, Pflichtfelder, Datenschutzlink, Referrer-Policy und Tracking auf Formularseiten 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/formulare-datenschutzkonform-absichern",
                    "evidence": "https://saferpage.de/befunde/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_form_privacy_context_fix\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Webentwicklung/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Formulare mit Zweck, Pflichtfeldern und Datenschutzkontext absichern\",\"evidence\":\"Crawl-Evidence: 7 Formular(e) auf 4 geprüften Seite(n).\",\"action\":\"Formulartexte, Pflichtfelder, Datenschutzlink, Referrer-Policy und Tracking auf Formularseiten 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/formulare-datenschutzkonform-absichern\",\"evidence\":\"https://saferpage.de/befunde/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "6d09d6792c025b08ee8c8c4e3fc5d31c3bb73f50aee495b7f9c733b2f6a90eaa",
            "slack_payload": {
                "text": "[HOCH] kjg.de: Formulare mit Zweck, Pflichtfeldern und Datenschutzkontext absichern",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Formulare mit Zweck, Pflichtfeldern und Datenschutzkontext absichern*\nFormulartexte, Pflichtfelder, Datenschutzlink, Referrer-Policy und Tracking auf Formularseiten prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Webentwicklung/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] kjg.de: Formulare mit Zweck, Pflichtfeldern und Datenschutzkontext absichern",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Formulare mit Zweck, Pflichtfeldern und Datenschutzkontext absichern"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Formulartexte, Pflichtfelder, Datenschutzlink, Referrer-Policy und Tracking auf Formularseiten prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Webentwicklung/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Formulare mit Zweck, Pflichtfeldern und Datenschutzkontext absichern",
                    "description": "Formulartexte, Pflichtfelder, Datenschutzlink, Referrer-Policy und Tracking auf Formularseiten prüfen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/formulare-datenschutzkonform-absichern\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-6c06ff510a79db37d9fe869f",
            "ticket_id": "remediation_missing_hsts",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[kjg.de] HSTS fehlt",
            "description": "Header `strict-transport-security` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-6c06ff510a79db37d9fe869f",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-6c06ff510a79db37d9fe869f",
                "X-SaferPage-Body-SHA256": "e7584de15e7d04f99fc1277839be86264d1161047f1e12ef8223e3f358f76bbf",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_missing_hsts",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "HSTS fehlt",
                "evidence": "",
                "action": "Header `strict-transport-security` 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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_missing_hsts\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"HSTS fehlt\",\"evidence\":\"\",\"action\":\"Header `strict-transport-security` 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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "e7584de15e7d04f99fc1277839be86264d1161047f1e12ef8223e3f358f76bbf",
            "slack_payload": {
                "text": "[HOCH] kjg.de: HSTS fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*HSTS fehlt*\nHeader `strict-transport-security` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] kjg.de: HSTS fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "HSTS fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `strict-transport-security` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] HSTS fehlt",
                    "description": "Header `strict-transport-security` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-71fcf43e64e4af270382230c",
            "ticket_id": "remediation_imprint_missing",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[kjg.de] Kein Impressum-Link erkannt",
            "description": "Für deutsche Seiten sollte ein gut sichtbares Impressum verlinkt sein.",
            "idempotency_key": "sp-fix-71fcf43e64e4af270382230c",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-71fcf43e64e4af270382230c",
                "X-SaferPage-Body-SHA256": "9b00e29f151cc058d30783b0941f34c7800164a52e0c83b2e548be1b1ef01a39",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "9b00e29f151cc058d30783b0941f34c7800164a52e0c83b2e548be1b1ef01a39",
            "slack_payload": {
                "text": "[HOCH] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Kein Impressum-Link erkannt",
                    "description": "Für deutsche Seiten sollte ein gut sichtbares Impressum verlinkt sein.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/impressum-und-kontakt-sichtbar-machen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-39940cd07495ffe30e93219a",
            "ticket_id": "remediation_slow_response",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[kjg.de] Langsame Serverantwort",
            "description": "Serverantwort, Caching und Backend-Latenz prüfen.",
            "idempotency_key": "sp-fix-39940cd07495ffe30e93219a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-39940cd07495ffe30e93219a",
                "X-SaferPage-Body-SHA256": "32f033fb995d215edbf638283ea1f5155fc9ffd3f167904bd17fa674ae0f342f",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_slow_response",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Langsame Serverantwort",
                "evidence": "",
                "action": "Serverantwort, Caching und Backend-Latenz 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/performance-und-mobile-usability-verbessern",
                    "evidence": "https://saferpage.de/befunde/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_slow_response\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Langsame Serverantwort\",\"evidence\":\"\",\"action\":\"Serverantwort, Caching und Backend-Latenz 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/performance-und-mobile-usability-verbessern\",\"evidence\":\"https://saferpage.de/befunde/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "32f033fb995d215edbf638283ea1f5155fc9ffd3f167904bd17fa674ae0f342f",
            "slack_payload": {
                "text": "[HOCH] kjg.de: Langsame Serverantwort",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Langsame Serverantwort*\nServerantwort, Caching und Backend-Latenz prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] kjg.de: Langsame Serverantwort",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Langsame Serverantwort"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Serverantwort, Caching und Backend-Latenz prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Langsame Serverantwort",
                    "description": "Serverantwort, Caching und Backend-Latenz prüfen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/performance-und-mobile-usability-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-48c565230e5e940d1e063038",
            "ticket_id": "remediation_security_header_gap",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "IT/Security",
            "sla": "7 Tage",
            "summary": "[kjg.de] Security-Header, Referrer-Policy und Browser-Schutz setzen",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-48c565230e5e940d1e063038",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-48c565230e5e940d1e063038",
                "X-SaferPage-Body-SHA256": "cbe7efeb96316cd75d2ad18187373de94f9198fc86a87f0e0f3f9fc167a9c0c7",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_security_header_gap",
                "priority": "hoch",
                "severity": "critical",
                "owner": "IT/Security",
                "sla": "7 Tage",
                "title": "Security-Header, Referrer-Policy und Browser-Schutz setzen",
                "evidence": "1 von 9 wichtigen Security-Headern vorhanden, 1 korrekt bewertet. Keine Content-Security-Policy gefunden.",
                "action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_security_header_gap\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"IT/Security\",\"sla\":\"7 Tage\",\"title\":\"Security-Header, Referrer-Policy und Browser-Schutz setzen\",\"evidence\":\"1 von 9 wichtigen Security-Headern vorhanden, 1 korrekt bewertet. Keine Content-Security-Policy gefunden.\",\"action\":\"Befund mit Hintergrundseite einordnen und danach erneut scannen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "cbe7efeb96316cd75d2ad18187373de94f9198fc86a87f0e0f3f9fc167a9c0c7",
            "slack_payload": {
                "text": "[HOCH] kjg.de: Security-Header, Referrer-Policy und Browser-Schutz setzen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Security-Header, Referrer-Policy und Browser-Schutz setzen*\nBefund mit Hintergrundseite einordnen und danach erneut scannen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: IT/Security · Zielzeit: 7 Tage · https://saferpage.de/befunde/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "IT/Security"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Security-Header, Referrer-Policy und Browser-Schutz setzen",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-e294360f026271c10c7358bb",
            "ticket_id": "remediation_module_security_tls",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[kjg.de] Sicherheit, TLS & Header",
            "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
            "idempotency_key": "sp-fix-e294360f026271c10c7358bb",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-e294360f026271c10c7358bb",
                "X-SaferPage-Body-SHA256": "12f6da7514f2bae6286b70ed9dd103ac82380ec9daeb150a2a2bdc0f51a85260",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_module_security_tls",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Sicherheit, TLS & Header",
                "evidence": "1 Infrastruktur-Hinweis(e), Security-Header: 1/9 vorhanden, 8 fehlen, externe Skript-Hosts: 0.",
                "action": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_module_security_tls\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Sicherheit, TLS & Header\",\"evidence\":\"1 Infrastruktur-Hinweis(e), Security-Header: 1/9 vorhanden, 8 fehlen, externe Skript-Hosts: 0.\",\"action\":\"HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "12f6da7514f2bae6286b70ed9dd103ac82380ec9daeb150a2a2bdc0f51a85260",
            "slack_payload": {
                "text": "[HOCH] kjg.de: Sicherheit, TLS & Header",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Sicherheit, TLS & Header*\nHTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Sicherheit, TLS & Header",
                    "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-60005f11c3a47d60ce437e99",
            "ticket_id": "remediation_hidden_text",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[kjg.de] Versteckter Text erkannt",
            "description": "Prüfen, ob Text absichtlich vor Nutzern verborgen, aber für Suchmaschinen platziert wird.",
            "idempotency_key": "sp-fix-60005f11c3a47d60ce437e99",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-60005f11c3a47d60ce437e99",
                "X-SaferPage-Body-SHA256": "7edf95bd45ebea8d5c0066b99abf432d5fc7889b25e20dac5b4901cabb18684c",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "7edf95bd45ebea8d5c0066b99abf432d5fc7889b25e20dac5b4901cabb18684c",
            "slack_payload": {
                "text": "[HOCH] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.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/kjg.de\nHintergrundseite: https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-90d5f132fa72f59c453688e7",
            "ticket_id": "remediation_important_pages_not_discovered",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[kjg.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-90d5f132fa72f59c453688e7",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-90d5f132fa72f59c453688e7",
                "X-SaferPage-Body-SHA256": "59bea942692f1655900cc3c08722a458f6f49755d163de817bb21a5b8daf73da",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "59bea942692f1655900cc3c08722a458f6f49755d163de817bb21a5b8daf73da",
            "slack_payload": {
                "text": "[HOCH] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.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/kjg.de\nHintergrundseite: https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-bf6a132c7a16ff4a580faa86",
            "ticket_id": "remediation_missing_x_frame_options",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[kjg.de] X-Frame-Options fehlt",
            "description": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-bf6a132c7a16ff4a580faa86",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-bf6a132c7a16ff4a580faa86",
                "X-SaferPage-Body-SHA256": "56a967e15746fbfdf89b4a9fb154e07cb9d096f3b70865b6bf7edcf5920b5651",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_missing_x_frame_options",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "X-Frame-Options fehlt",
                "evidence": "",
                "action": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_missing_x_frame_options\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"X-Frame-Options fehlt\",\"evidence\":\"\",\"action\":\"Header `x-frame-options` setzen und nach Deployment erneut prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "56a967e15746fbfdf89b4a9fb154e07cb9d096f3b70865b6bf7edcf5920b5651",
            "slack_payload": {
                "text": "[HOCH] kjg.de: X-Frame-Options fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*X-Frame-Options fehlt*\nHeader `x-frame-options` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] kjg.de: X-Frame-Options fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "X-Frame-Options fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `x-frame-options` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] X-Frame-Options fehlt",
                    "description": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-2e9c272d34b5a9dfeb88ffef",
            "ticket_id": "remediation_module_privacy_consent",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[kjg.de] Datenschutz, Cookies & Consent",
            "description": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
            "idempotency_key": "sp-fix-2e9c272d34b5a9dfeb88ffef",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-2e9c272d34b5a9dfeb88ffef",
                "X-SaferPage-Body-SHA256": "0c27c587eee6fb4a91c92a762ac4e694edb4875fdcf9976881af3d8e558fe145",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_module_privacy_consent",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Datenschutz, Cookies & Consent",
                "evidence": "0 Tracking-Script(s), 0 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 58.",
                "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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_module_privacy_consent\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Datenschutz, Cookies & Consent\",\"evidence\":\"0 Tracking-Script(s), 0 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 58.\",\"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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "0c27c587eee6fb4a91c92a762ac4e694edb4875fdcf9976881af3d8e558fe145",
            "slack_payload": {
                "text": "[MITTEL] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.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/kjg.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-bb9c9a0d55ff4f1017d65461",
            "ticket_id": "remediation_module_forms_payments",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[kjg.de] Formulare, Login & Zahlung",
            "description": "Bei Formularen Zweck, Pflichtfelder, Datenschutzkontext, HTTPS und Zahlungsanbieter klar machen.",
            "idempotency_key": "sp-fix-bb9c9a0d55ff4f1017d65461",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-bb9c9a0d55ff4f1017d65461",
                "X-SaferPage-Body-SHA256": "17f06e09158d79928f8102767e590742d040192800a698292a833258d5f07b96",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_module_forms_payments",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Formulare, Login & Zahlung",
                "evidence": "Crawl fand 7 Formular(e) auf 4 geprüften Seite(n), u. a. /die-kjg/bundesverband/bundesstelle, /newsletter, /service/newsletter, /blog/2020/12/16/kjg-bezieht-position-gegen-koelner-sonderweg. Zweck, Pflichtfelder und Datenschutzkontext je Formular prüfen.",
                "action": "Bei Formularen Zweck, Pflichtfelder, Datenschutzkontext, HTTPS und Zahlungsanbieter klar 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/formulare-datenschutzkonform-absichern",
                    "evidence": "https://saferpage.de/befunde/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_module_forms_payments\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Formulare, Login & Zahlung\",\"evidence\":\"Crawl fand 7 Formular(e) auf 4 geprüften Seite(n), u. a. /die-kjg/bundesverband/bundesstelle, /newsletter, /service/newsletter, /blog/2020/12/16/kjg-bezieht-position-gegen-koelner-sonderweg. Zweck, Pflichtfelder und Datenschutzkontext je Formular prüfen.\",\"action\":\"Bei Formularen Zweck, Pflichtfelder, Datenschutzkontext, HTTPS und Zahlungsanbieter klar 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/formulare-datenschutzkonform-absichern\",\"evidence\":\"https://saferpage.de/befunde/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "17f06e09158d79928f8102767e590742d040192800a698292a833258d5f07b96",
            "slack_payload": {
                "text": "[MITTEL] kjg.de: Formulare, Login & Zahlung",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Formulare, Login & Zahlung*\nBei Formularen Zweck, Pflichtfelder, Datenschutzkontext, HTTPS und Zahlungsanbieter klar machen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] kjg.de: Formulare, Login & Zahlung",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Formulare, Login & Zahlung"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Bei Formularen Zweck, Pflichtfelder, Datenschutzkontext, HTTPS und Zahlungsanbieter klar machen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Formulare, Login & Zahlung",
                    "description": "Bei Formularen Zweck, Pflichtfelder, Datenschutzkontext, HTTPS und Zahlungsanbieter klar machen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/formulare-datenschutzkonform-absichern\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-63f7f4341b89e9a4f1e7531d",
            "ticket_id": "remediation_module_operator_transparency",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[kjg.de] Impressum, Kontakt & Datenschutzerklärung",
            "description": "Betreiberangaben, Kontaktweg und Datenschutzhinweise von jeder Seite aus auffindbar machen.",
            "idempotency_key": "sp-fix-63f7f4341b89e9a4f1e7531d",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-63f7f4341b89e9a4f1e7531d",
                "X-SaferPage-Body-SHA256": "aafa635ddd9093e8321377cc78a6f8173587629c071d2bc879967b6cb59b9275",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "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: nein, 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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"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: nein, 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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "aafa635ddd9093e8321377cc78a6f8173587629c071d2bc879967b6cb59b9275",
            "slack_payload": {
                "text": "[MITTEL] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Impressum, Kontakt & Datenschutzerklärung",
                    "description": "Betreiberangaben, Kontaktweg und Datenschutzhinweise von jeder Seite aus auffindbar machen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/impressum-und-kontakt-sichtbar-machen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-67c7dcfa19258b0c9c6d067c",
            "ticket_id": "remediation_module_seo_integrity",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[kjg.de] SEO-Integrität & Cloaking",
            "description": "Versteckte Inhalte, Canonical-Missbrauch und Googlebot-Abweichungen entfernen.",
            "idempotency_key": "sp-fix-67c7dcfa19258b0c9c6d067c",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-67c7dcfa19258b0c9c6d067c",
                "X-SaferPage-Body-SHA256": "408bbe74854b067b488c632d8a86c24346c190d3fb67367fc5a78c2bdec1fc6d",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_module_seo_integrity",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "SEO-Integrität & Cloaking",
                "evidence": "2 SEO-Spam-Hinweis(e), 0 Cloaking-Hinweis(e).",
                "action": "Versteckte Inhalte, Canonical-Missbrauch und Googlebot-Abweichungen 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/seo-spam-und-cloaking-bereinigen",
                    "evidence": "https://saferpage.de/befunde/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_module_seo_integrity\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"SEO-Integrität & Cloaking\",\"evidence\":\"2 SEO-Spam-Hinweis(e), 0 Cloaking-Hinweis(e).\",\"action\":\"Versteckte Inhalte, Canonical-Missbrauch und Googlebot-Abweichungen 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/seo-spam-und-cloaking-bereinigen\",\"evidence\":\"https://saferpage.de/befunde/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "408bbe74854b067b488c632d8a86c24346c190d3fb67367fc5a78c2bdec1fc6d",
            "slack_payload": {
                "text": "[MITTEL] kjg.de: SEO-Integrität & Cloaking",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*SEO-Integrität & Cloaking*\nVersteckte Inhalte, Canonical-Missbrauch und Googlebot-Abweichungen entfernen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] kjg.de: SEO-Integrität & Cloaking",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "SEO-Integrität & Cloaking"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Versteckte Inhalte, Canonical-Missbrauch und Googlebot-Abweichungen entfernen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] SEO-Integrität & Cloaking",
                    "description": "Versteckte Inhalte, Canonical-Missbrauch und Googlebot-Abweichungen entfernen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a4e8acac8db0feec6d58526e",
            "ticket_id": "remediation_module_site_coverage",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[kjg.de] Seitenabdeckung & Crawl",
            "description": "Datenschutz, Impressum, Kontakt, Cookie-Hinweise und kritische Formularseiten klar verlinken und regelmäßig mitprüfen.",
            "idempotency_key": "sp-fix-a4e8acac8db0feec6d58526e",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a4e8acac8db0feec6d58526e",
                "X-SaferPage-Body-SHA256": "53fdb58d141e1987ee0376ac20231a4ec9f360168aec54b9d27f0258d579e051",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "53fdb58d141e1987ee0376ac20231a4ec9f360168aec54b9d27f0258d579e051",
            "slack_payload": {
                "text": "[MITTEL] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.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/kjg.de\nHintergrundseite: https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-57edb221c987c11e73ada69f",
            "ticket_id": "remediation_consent_preconsent_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT",
            "sla": "30 Tage",
            "summary": "[kjg.de] Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-57edb221c987c11e73ada69f",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-57edb221c987c11e73ada69f",
                "X-SaferPage-Body-SHA256": "38b30769c9e7b783ec4725fc6c80d09e27066a7d06339d19c726105f9c11f516",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_consent_preconsent_gap",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT",
                "sla": "30 Tage",
                "title": "Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                "evidence": "Consent, Tracking oder Drittanbieter wirken im Erstaufruf deutlich nachbesserungsbeduerftig.",
                "action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_consent_preconsent_gap\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT\",\"sla\":\"30 Tage\",\"title\":\"Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren\",\"evidence\":\"Consent, Tracking oder Drittanbieter wirken im Erstaufruf deutlich nachbesserungsbeduerftig.\",\"action\":\"Befund mit Hintergrundseite einordnen und danach erneut scannen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "38b30769c9e7b783ec4725fc6c80d09e27066a7d06339d19c726105f9c11f516",
            "slack_payload": {
                "text": "[MITTEL] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-cf7952f3b7d27eb1da1a1dbe",
            "ticket_id": "remediation_coverage_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Webbetrieb/SEO",
            "sla": "30 Tage",
            "summary": "[kjg.de] Wichtige Unterseiten, Datenschutz und Formulare crawlbar verlinken",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-cf7952f3b7d27eb1da1a1dbe",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-cf7952f3b7d27eb1da1a1dbe",
                "X-SaferPage-Body-SHA256": "d5a1305368f8a3784a225f974e7c5fb1d8189bca13f274a6ea08e1288981c789",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "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 (120 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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"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 (120 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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "d5a1305368f8a3784a225f974e7c5fb1d8189bca13f274a6ea08e1288981c789",
            "slack_payload": {
                "text": "[MITTEL] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Webbetrieb/SEO"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Wichtige Unterseiten, Datenschutz und Formulare crawlbar verlinken",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-4d54b8643421958c7d70a6d3",
            "ticket_id": "mapping_vendor_pfarreien.kjg.de",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[kjg.de] pfarreien.kjg.de",
            "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
            "idempotency_key": "sp-fix-4d54b8643421958c7d70a6d3",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-4d54b8643421958c7d70a6d3",
                "X-SaferPage-Body-SHA256": "ad39d035f9923c85f8ac62e25c00b6e63b9cb3ef67137e8e3650805bc92964b6",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "mapping_vendor_pfarreien.kjg.de",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "pfarreien.kjg.de",
                "evidence": "Sonstige",
                "action": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/anbieter/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"mapping_vendor_pfarreien.kjg.de\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"pfarreien.kjg.de\",\"evidence\":\"Sonstige\",\"action\":\"Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/anbieter/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "ad39d035f9923c85f8ac62e25c00b6e63b9cb3ef67137e8e3650805bc92964b6",
            "slack_payload": {
                "text": "[MITTEL] kjg.de: pfarreien.kjg.de",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*pfarreien.kjg.de*\nZweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] kjg.de: pfarreien.kjg.de",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "pfarreien.kjg.de"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] pfarreien.kjg.de",
                    "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\n\nNachweis: https://saferpage.de/anbieter/kjg.de\nHintergrundseite: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-4eb1467ef4da472d0e81f12c",
            "ticket_id": "mapping_request_pfarreien.kjg.de",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[kjg.de] pfarreien.kjg.de",
            "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
            "idempotency_key": "sp-fix-4eb1467ef4da472d0e81f12c",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-4eb1467ef4da472d0e81f12c",
                "X-SaferPage-Body-SHA256": "c9fbea370775b4a7dfa4d00522ec4c3152c3e15498196b716f3d9a9ad66fbb1a",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "mapping_request_pfarreien.kjg.de",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "pfarreien.kjg.de",
                "evidence": "other",
                "action": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen",
                    "evidence": "https://saferpage.de/anbieter/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"mapping_request_pfarreien.kjg.de\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"pfarreien.kjg.de\",\"evidence\":\"other\",\"action\":\"Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\",\"evidence\":\"https://saferpage.de/anbieter/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "c9fbea370775b4a7dfa4d00522ec4c3152c3e15498196b716f3d9a9ad66fbb1a",
            "slack_payload": {
                "text": "[MITTEL] kjg.de: pfarreien.kjg.de",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*pfarreien.kjg.de*\nRequest einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] kjg.de: pfarreien.kjg.de",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "pfarreien.kjg.de"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] pfarreien.kjg.de",
                    "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\n\nNachweis: https://saferpage.de/anbieter/kjg.de\nHintergrundseite: https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-4cf4ce2d41f9d5132e30ae24",
            "ticket_id": "mapping_vendor_s.w.org",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[kjg.de] s.w.org",
            "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
            "idempotency_key": "sp-fix-4cf4ce2d41f9d5132e30ae24",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-4cf4ce2d41f9d5132e30ae24",
                "X-SaferPage-Body-SHA256": "5c90672b52813e60948f9370f3ff836d7c2cce1f350ac5b72761dd5fa6a7947e",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "mapping_vendor_s.w.org",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "s.w.org",
                "evidence": "Sonstige",
                "action": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/anbieter/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"mapping_vendor_s.w.org\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"s.w.org\",\"evidence\":\"Sonstige\",\"action\":\"Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/anbieter/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "5c90672b52813e60948f9370f3ff836d7c2cce1f350ac5b72761dd5fa6a7947e",
            "slack_payload": {
                "text": "[MITTEL] kjg.de: s.w.org",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*s.w.org*\nZweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] kjg.de: s.w.org",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "s.w.org"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] s.w.org",
                    "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\n\nNachweis: https://saferpage.de/anbieter/kjg.de\nHintergrundseite: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-1df2060d2bca176a7b0f5fcd",
            "ticket_id": "mapping_request_s.w.org",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[kjg.de] s.w.org",
            "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
            "idempotency_key": "sp-fix-1df2060d2bca176a7b0f5fcd",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-1df2060d2bca176a7b0f5fcd",
                "X-SaferPage-Body-SHA256": "125a96370fa3f61b285768cfb967670ec201a8a45a12bf0e96fb5d2633ca6610",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "mapping_request_s.w.org",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "s.w.org",
                "evidence": "other",
                "action": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen",
                    "evidence": "https://saferpage.de/anbieter/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"mapping_request_s.w.org\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"s.w.org\",\"evidence\":\"other\",\"action\":\"Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\",\"evidence\":\"https://saferpage.de/anbieter/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "125a96370fa3f61b285768cfb967670ec201a8a45a12bf0e96fb5d2633ca6610",
            "slack_payload": {
                "text": "[MITTEL] kjg.de: s.w.org",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*s.w.org*\nRequest einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] kjg.de: s.w.org",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "s.w.org"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] s.w.org",
                    "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\n\nNachweis: https://saferpage.de/anbieter/kjg.de\nHintergrundseite: https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-cf8588ee106bf2cbee682481",
            "ticket_id": "remediation_unknown_vendor_jurisdiction",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[kjg.de] Anbieter-Jurisdiktion nicht klar ableitbar",
            "description": "Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren.",
            "idempotency_key": "sp-fix-cf8588ee106bf2cbee682481",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-cf8588ee106bf2cbee682481",
                "X-SaferPage-Body-SHA256": "f71829a8e42d4c05991022ac7d8acdcd8865636caf2a8c5a8c2d37d9e9ba7479",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_unknown_vendor_jurisdiction",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Anbieter-Jurisdiktion nicht klar ableitbar",
                "evidence": "",
                "action": "Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittlandtransfer-und-anbieter-pruefen",
                    "evidence": "https://saferpage.de/befunde/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_unknown_vendor_jurisdiction\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Anbieter-Jurisdiktion nicht klar ableitbar\",\"evidence\":\"\",\"action\":\"Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittlandtransfer-und-anbieter-pruefen\",\"evidence\":\"https://saferpage.de/befunde/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "f71829a8e42d4c05991022ac7d8acdcd8865636caf2a8c5a8c2d37d9e9ba7479",
            "slack_payload": {
                "text": "[NIEDRIG] kjg.de: Anbieter-Jurisdiktion nicht klar ableitbar",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Anbieter-Jurisdiktion nicht klar ableitbar*\nUnklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] kjg.de: Anbieter-Jurisdiktion nicht klar ableitbar",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Anbieter-Jurisdiktion nicht klar ableitbar"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Anbieter-Jurisdiktion nicht klar ableitbar",
                    "description": "Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/drittlandtransfer-und-anbieter-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-18cf97a5a90300acf8d4ea69",
            "ticket_id": "remediation_image_alt_missing",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[kjg.de] Bilder ohne Alternativtext",
            "description": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.",
            "idempotency_key": "sp-fix-18cf97a5a90300acf8d4ea69",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-18cf97a5a90300acf8d4ea69",
                "X-SaferPage-Body-SHA256": "12bea42326fbb236cca10b82006760c2a5eb17ca69d4dd77a6ab9e58e0b4d991",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "12bea42326fbb236cca10b82006760c2a5eb17ca69d4dd77a6ab9e58e0b4d991",
            "slack_payload": {
                "text": "[NIEDRIG] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.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/kjg.de\nHintergrundseite: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-d63262d3787af215914e3d79",
            "ticket_id": "remediation_missing_cross_origin_embedder_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[kjg.de] Cross-Origin-Embedder-Policy fehlt",
            "description": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-d63262d3787af215914e3d79",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-d63262d3787af215914e3d79",
                "X-SaferPage-Body-SHA256": "a2b3749b9e1593e14295bf6e39aab049efb5df9099d935cec28cde9dec54db62",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "a2b3749b9e1593e14295bf6e39aab049efb5df9099d935cec28cde9dec54db62",
            "slack_payload": {
                "text": "[NIEDRIG] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.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/kjg.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-15c8572a5f61d40551a80c70",
            "ticket_id": "remediation_missing_cross_origin_opener_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[kjg.de] Cross-Origin-Opener-Policy fehlt",
            "description": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-15c8572a5f61d40551a80c70",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-15c8572a5f61d40551a80c70",
                "X-SaferPage-Body-SHA256": "4d26025987d5fcb5eef1f2b41a341508de25784e83664d79acc113775c72926f",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "4d26025987d5fcb5eef1f2b41a341508de25784e83664d79acc113775c72926f",
            "slack_payload": {
                "text": "[NIEDRIG] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.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/kjg.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-51bf46907a30fa86911a51c0",
            "ticket_id": "remediation_missing_cross_origin_resource_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[kjg.de] Cross-Origin-Resource-Policy fehlt",
            "description": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-51bf46907a30fa86911a51c0",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-51bf46907a30fa86911a51c0",
                "X-SaferPage-Body-SHA256": "4bdc3d031f0267ca80af3c989bec585751d81f8cb8aca6b5e9c0a83a6ecbe534",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "4bdc3d031f0267ca80af3c989bec585751d81f8cb8aca6b5e9c0a83a6ecbe534",
            "slack_payload": {
                "text": "[NIEDRIG] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.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/kjg.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-22ab67b563b3a0c8701c4813",
            "ticket_id": "remediation_missing_meta_description",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[kjg.de] Meta-Description fehlt",
            "description": "Eine kurze Beschreibung setzen, die den Zweck der Seite erklärt.",
            "idempotency_key": "sp-fix-22ab67b563b3a0c8701c4813",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-22ab67b563b3a0c8701c4813",
                "X-SaferPage-Body-SHA256": "92a6a201493ea3ff6571c68ad2cb2861fa19e2be5d7f4a8211f6040b2260a554",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "92a6a201493ea3ff6571c68ad2cb2861fa19e2be5d7f4a8211f6040b2260a554",
            "slack_payload": {
                "text": "[NIEDRIG] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Meta-Description fehlt",
                    "description": "Eine kurze Beschreibung setzen, die den Zweck der Seite erklärt.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/externe-skripte-und-sri-absichern\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-0aeafc825246ea5f2d837f47",
            "ticket_id": "remediation_missing_permissions_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[kjg.de] Permissions-Policy fehlt",
            "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-0aeafc825246ea5f2d837f47",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-0aeafc825246ea5f2d837f47",
                "X-SaferPage-Body-SHA256": "4f55bb3e87f799c6367d1efd3a1c04b2bd4cf6151eb72b3685c4c6fd7910d4ec",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_missing_permissions_policy",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Permissions-Policy fehlt",
                "evidence": "",
                "action": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_missing_permissions_policy\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Permissions-Policy fehlt\",\"evidence\":\"\",\"action\":\"Header `permissions-policy` setzen und nach Deployment erneut prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "4f55bb3e87f799c6367d1efd3a1c04b2bd4cf6151eb72b3685c4c6fd7910d4ec",
            "slack_payload": {
                "text": "[NIEDRIG] kjg.de: Permissions-Policy fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Permissions-Policy fehlt*\nHeader `permissions-policy` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] kjg.de: Permissions-Policy fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Permissions-Policy fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `permissions-policy` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Permissions-Policy fehlt",
                    "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-9cebebb44b6acb0e9306ea68",
            "ticket_id": "remediation_missing_referrer_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[kjg.de] Referrer-Policy fehlt",
            "description": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-9cebebb44b6acb0e9306ea68",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-9cebebb44b6acb0e9306ea68",
                "X-SaferPage-Body-SHA256": "10ff58884a0bb4aa1bcc4a261d0110f21a0aaeedadfa836c6d5cf1076988c9d0",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "ticket_id": "remediation_missing_referrer_policy",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Referrer-Policy fehlt",
                "evidence": "",
                "action": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"ticket_id\":\"remediation_missing_referrer_policy\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Referrer-Policy fehlt\",\"evidence\":\"\",\"action\":\"Header `referrer-policy` setzen und nach Deployment erneut prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "10ff58884a0bb4aa1bcc4a261d0110f21a0aaeedadfa836c6d5cf1076988c9d0",
            "slack_payload": {
                "text": "[NIEDRIG] kjg.de: Referrer-Policy fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Referrer-Policy fehlt*\nHeader `referrer-policy` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] kjg.de: Referrer-Policy fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Referrer-Policy fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `referrer-policy` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Referrer-Policy fehlt",
                    "description": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-0c69e654ddd4199abea19021",
            "ticket_id": "remediation_tracking_pixel_detected",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[kjg.de] Tracking-Pixel oder pixelnahe Requests erkannt",
            "description": "Pixel von kjg.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen.",
            "idempotency_key": "sp-fix-0c69e654ddd4199abea19021",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-0c69e654ddd4199abea19021",
                "X-SaferPage-Body-SHA256": "1c8f1c1e648612aaf77bf6f27a2fa14aa3f0d715620fdaf4a9eddf674ced3983",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "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 kjg.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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"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 kjg.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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "1c8f1c1e648612aaf77bf6f27a2fa14aa3f0d715620fdaf4a9eddf674ced3983",
            "slack_payload": {
                "text": "[NIEDRIG] kjg.de: Tracking-Pixel oder pixelnahe Requests erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Tracking-Pixel oder pixelnahe Requests erkannt*\nPixel von kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] kjg.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 kjg.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Tracking-Pixel oder pixelnahe Requests erkannt",
                    "description": "Pixel von kjg.de erst nach Einwilligung laden, Zweck erklären und unnötige Bild-Tracker entfernen.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-5077ba2a5fec191883ce244b",
            "ticket_id": "remediation_browser_keystroke_listener_signals",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[kjg.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-5077ba2a5fec191883ce244b",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-5077ba2a5fec191883ce244b",
                "X-SaferPage-Body-SHA256": "811c5d10faca1ebc4289910de039241c10f856f9d2b777ceb2c3a95bb7011cfc",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "811c5d10faca1ebc4289910de039241c10f856f9d2b777ceb2c3a95bb7011cfc",
            "slack_payload": {
                "text": "[NIEDRIG] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.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/kjg.de\nHintergrundseite: https://saferpage.de/guides/session-replay-und-fingerprinting-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-63dbd21f86b3565a1aec8f9a",
            "ticket_id": "remediation_too_many_render_blocking_assets",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[kjg.de] Viele potenziell blockierende Assets",
            "description": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.",
            "idempotency_key": "sp-fix-63dbd21f86b3565a1aec8f9a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-63dbd21f86b3565a1aec8f9a",
                "X-SaferPage-Body-SHA256": "fb46221c683c6207af7e1a776fbb8ff088fe13424ead9f416a2321d0f33c4077",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "kjg.de",
                "scan_id": "fb9c88ab-57bc-4b5c-9b94-09701276a017",
                "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/kjg.de",
                    "rescan": "https://saferpage.de/scanbetrieb/kjg.de",
                    "report": "https://saferpage.de/kjg.de",
                    "fix_guides": "https://saferpage.de/fix-guides/kjg.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"kjg.de\",\"scan_id\":\"fb9c88ab-57bc-4b5c-9b94-09701276a017\",\"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/kjg.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/kjg.de\",\"report\":\"https://saferpage.de/kjg.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/kjg.de\"}}",
            "canonical_body_sha256": "fb46221c683c6207af7e1a776fbb8ff088fe13424ead9f416a2321d0f33c4077",
            "slack_payload": {
                "text": "[NIEDRIG] kjg.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/kjg.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] kjg.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": "kjg.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[kjg.de] Viele potenziell blockierende Assets",
                    "description": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.\n\nNachweis: https://saferpage.de/befunde/kjg.de\nHintergrundseite: https://saferpage.de/guides/performance-und-mobile-usability-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/kjg.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        }
    ],
    "links": {
        "fix_guides": "https://saferpage.de/fix-guides/kjg.de",
        "tickets_json": "https://saferpage.de/fix-guides/kjg.de/tickets-json",
        "json": "https://saferpage.de/fix-guides/kjg.de/tickets-delivery-json",
        "csv": "https://saferpage.de/fix-guides/kjg.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."
}
