{
    "schema": "https://saferpage.de/schemas/operator-remediation-ticket-delivery.v1",
    "generated_at": "2026-07-03T07:33:18+00:00",
    "domain": "sharpness.de",
    "available": true,
    "scan": {
        "id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
        "checked_at": "2026-07-03 03:42:04.601165+02"
    },
    "summary": "Delivery-Paket für 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": 31,
        "high_priority_count": 15,
        "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 über den exakten Request-Body stimmt mit X-SaferPage-Signature überein.",
            "SHA-256 des exakten Request-Body stimmt mit X-SaferPage-Body-SHA256 überein.",
            "X-SaferPage-Event ist operator.remediation.ticket_ready.",
            "X-SaferPage-Schema ist operator-remediation-ticket-delivery.v1.",
            "X-SaferPage-Idempotency-Key wurde für Domain, Scan und Nachweisposition noch nicht verarbeitet.",
            "Empfänger, Projekt, Queue und Verantwortlichkeit sind für 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 für Receiver-Implementierung.\",\"action\":\"Testpayload unverändert verifizieren, Idempotency-Key prüfen und danach verwerfen.\",\"acceptance_criteria\":[\"Signatur stimmt mit exakt diesem Body überein.\",\"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": "d400aae00e8ca67a606bbe2cef89a666f79174ced28defbbc8f869ada9d24d8d",
        "expected_signature": "sha256=13333abfdcab2d8aa3a9f1824427a27dc193726ca5bd82791e40061cee97f56d",
        "expected_signature_header": "X-SaferPage-Signature: sha256=13333abfdcab2d8aa3a9f1824427a27dc193726ca5bd82791e40061cee97f56d",
        "idempotency_key": "sp-fix-test-fixture",
        "positive_test": "Empfänger akzeptiert den unveränderten canonical_body mit expected_signature und verwirft ihn danach als Testevent.",
        "negative_tests": [
            "Ein geändertes 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=13333abfdcab2d8aa3a9f1824427a27dc193726ca5bd82791e40061cee97f56d\" --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-e753b4505d8578f082a612d7",
            "ticket_id": "remediation_button_name_missing",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[sharpness.de] Buttons ohne erkennbaren Namen",
            "description": "Buttons mit sichtbarem Text oder aria-label beschriften.",
            "idempotency_key": "sp-fix-e753b4505d8578f082a612d7",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-e753b4505d8578f082a612d7",
                "X-SaferPage-Body-SHA256": "46c0011ea1c56838b95d5f849e8728e24c6ba7adfd1af411f19df3a3cfb34562",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_button_name_missing",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Buttons ohne erkennbaren Namen",
                "evidence": "",
                "action": "Buttons mit sichtbarem Text oder aria-label beschriften.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_button_name_missing\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Buttons ohne erkennbaren Namen\",\"evidence\":\"\",\"action\":\"Buttons mit sichtbarem Text oder aria-label beschriften.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "46c0011ea1c56838b95d5f849e8728e24c6ba7adfd1af411f19df3a3cfb34562",
            "slack_payload": {
                "text": "[HOCH] sharpness.de: Buttons ohne erkennbaren Namen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Buttons ohne erkennbaren Namen*\nButtons mit sichtbarem Text oder aria-label beschriften."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] sharpness.de: Buttons ohne erkennbaren Namen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Buttons ohne erkennbaren Namen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Buttons mit sichtbarem Text oder aria-label beschriften."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Buttons ohne erkennbaren Namen",
                    "description": "Buttons mit sichtbarem Text oder aria-label beschriften.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-777ea4df93daaa8b75c6ee93",
            "ticket_id": "remediation_known_vulnerability_advisory",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[sharpness.de] CVE-2022-41741: Memory corruption in the ngx_http_mp4_module",
            "description": "nginx-Version gegen die offizielle Advisory pruefen und auf 1.23.2+, 1.22.1+ oder neuer aktualisieren.",
            "idempotency_key": "sp-fix-777ea4df93daaa8b75c6ee93",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-777ea4df93daaa8b75c6ee93",
                "X-SaferPage-Body-SHA256": "5c3eb499bb0e4750b766bfd118ea91cbf24e2fc1e0a68b2a493a2277391fb509",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_known_vulnerability_advisory",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "CVE-2022-41741: Memory corruption in the ngx_http_mp4_module",
                "evidence": "",
                "action": "nginx-Version gegen die offizielle Advisory pruefen und auf 1.23.2+, 1.22.1+ oder neuer aktualisieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/sichtbare-versionen-und-cves-beheben",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_known_vulnerability_advisory\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"CVE-2022-41741: Memory corruption in the ngx_http_mp4_module\",\"evidence\":\"\",\"action\":\"nginx-Version gegen die offizielle Advisory pruefen und auf 1.23.2+, 1.22.1+ oder neuer aktualisieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/sichtbare-versionen-und-cves-beheben\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "5c3eb499bb0e4750b766bfd118ea91cbf24e2fc1e0a68b2a493a2277391fb509",
            "slack_payload": {
                "text": "[HOCH] sharpness.de: CVE-2022-41741: Memory corruption in the ngx_http_mp4_module",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*CVE-2022-41741: Memory corruption in the ngx_http_mp4_module*\nnginx-Version gegen die offizielle Advisory pruefen und auf 1.23.2+, 1.22.1+ oder neuer aktualisieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] sharpness.de: CVE-2022-41741: Memory corruption in the ngx_http_mp4_module",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "CVE-2022-41741: Memory corruption in the ngx_http_mp4_module"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "nginx-Version gegen die offizielle Advisory pruefen und auf 1.23.2+, 1.22.1+ oder neuer aktualisieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] CVE-2022-41741: Memory corruption in the ngx_http_mp4_module",
                    "description": "nginx-Version gegen die offizielle Advisory pruefen und auf 1.23.2+, 1.22.1+ oder neuer aktualisieren.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/sichtbare-versionen-und-cves-beheben\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-80727b218bc7f7307b8560ff",
            "ticket_id": "remediation_external_canonical",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[sharpness.de] Canonical zeigt auf fremde Domain",
            "description": "Canonical-Tags sollten nur bewusst auf fremde Domains zeigen; sonst kann Traffic/Ranking umgeleitet werden.",
            "idempotency_key": "sp-fix-80727b218bc7f7307b8560ff",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-80727b218bc7f7307b8560ff",
                "X-SaferPage-Body-SHA256": "cf9e7c803d9bbe0d5ead53b17a2824cde55bc94d6f7fc9989e48eb741926d919",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_external_canonical",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Canonical zeigt auf fremde Domain",
                "evidence": "",
                "action": "Canonical-Tags sollten nur bewusst auf fremde Domains zeigen; sonst kann Traffic/Ranking umgeleitet werden.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_external_canonical\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Canonical zeigt auf fremde Domain\",\"evidence\":\"\",\"action\":\"Canonical-Tags sollten nur bewusst auf fremde Domains zeigen; sonst kann Traffic/Ranking umgeleitet werden.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "cf9e7c803d9bbe0d5ead53b17a2824cde55bc94d6f7fc9989e48eb741926d919",
            "slack_payload": {
                "text": "[HOCH] sharpness.de: Canonical zeigt auf fremde Domain",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Canonical zeigt auf fremde Domain*\nCanonical-Tags sollten nur bewusst auf fremde Domains zeigen; sonst kann Traffic/Ranking umgeleitet werden."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] sharpness.de: Canonical zeigt auf fremde Domain",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Canonical zeigt auf fremde Domain"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Canonical-Tags sollten nur bewusst auf fremde Domains zeigen; sonst kann Traffic/Ranking umgeleitet werden."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Canonical zeigt auf fremde Domain",
                    "description": "Canonical-Tags sollten nur bewusst auf fremde Domains zeigen; sonst kann Traffic/Ranking umgeleitet werden.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-4fca19d104071dade6e98340",
            "ticket_id": "remediation_consent_accept_only",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[sharpness.de] Consent wirkt wie Nur-Akzeptieren",
            "description": "Cookie-Auswahl und Ablehnen-Option sichtbar anbieten.",
            "idempotency_key": "sp-fix-4fca19d104071dade6e98340",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-4fca19d104071dade6e98340",
                "X-SaferPage-Body-SHA256": "925fa25afe92f64fa8aab605daf8e6e243d66982a6d92505ca22df203237a133",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_consent_accept_only",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Consent wirkt wie Nur-Akzeptieren",
                "evidence": "",
                "action": "Cookie-Auswahl und Ablehnen-Option sichtbar anbieten.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_consent_accept_only\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Consent wirkt wie Nur-Akzeptieren\",\"evidence\":\"\",\"action\":\"Cookie-Auswahl und Ablehnen-Option sichtbar anbieten.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "925fa25afe92f64fa8aab605daf8e6e243d66982a6d92505ca22df203237a133",
            "slack_payload": {
                "text": "[HOCH] sharpness.de: Consent wirkt wie Nur-Akzeptieren",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Consent wirkt wie Nur-Akzeptieren*\nCookie-Auswahl und Ablehnen-Option sichtbar anbieten."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] sharpness.de: Consent wirkt wie Nur-Akzeptieren",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Consent wirkt wie Nur-Akzeptieren"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Cookie-Auswahl und Ablehnen-Option sichtbar anbieten."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Consent wirkt wie Nur-Akzeptieren",
                    "description": "Cookie-Auswahl und Ablehnen-Option sichtbar anbieten.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-5a7f4cc9abe68ff99edefe82",
            "ticket_id": "remediation_missing_csp",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[sharpness.de] Content-Security-Policy fehlt",
            "description": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-5a7f4cc9abe68ff99edefe82",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-5a7f4cc9abe68ff99edefe82",
                "X-SaferPage-Body-SHA256": "c5e67c1e8e6fef5577fd7311b2ac4ac60ee7edcd02780bb89f5425aa4f538dcb",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "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/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"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/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "c5e67c1e8e6fef5577fd7311b2ac4ac60ee7edcd02780bb89f5425aa4f538dcb",
            "slack_payload": {
                "text": "[HOCH] sharpness.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/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] sharpness.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": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Content-Security-Policy fehlt",
                    "description": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a1407c5e06c8736ef56cba0b",
            "ticket_id": "remediation_cookie_missing_secure",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[sharpness.de] Cookie ohne Secure-Flag",
            "description": "Cookies über HTTPS mit Secure-Flag setzen.",
            "idempotency_key": "sp-fix-a1407c5e06c8736ef56cba0b",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a1407c5e06c8736ef56cba0b",
                "X-SaferPage-Body-SHA256": "c51dc6cdf82094586f765e2a765e86f919e55b0d671bb5814b1243a54145f145",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_cookie_missing_secure",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Cookie ohne Secure-Flag",
                "evidence": "",
                "action": "Cookies über HTTPS mit Secure-Flag setzen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/cookies-sicher-konfigurieren",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_cookie_missing_secure\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Cookie ohne Secure-Flag\",\"evidence\":\"\",\"action\":\"Cookies über HTTPS mit Secure-Flag setzen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/cookies-sicher-konfigurieren\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "c51dc6cdf82094586f765e2a765e86f919e55b0d671bb5814b1243a54145f145",
            "slack_payload": {
                "text": "[HOCH] sharpness.de: Cookie ohne Secure-Flag",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cookie ohne Secure-Flag*\nCookies über HTTPS mit Secure-Flag setzen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] sharpness.de: Cookie ohne Secure-Flag",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cookie ohne Secure-Flag"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Cookies über HTTPS mit Secure-Flag setzen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Cookie ohne Secure-Flag",
                    "description": "Cookies über HTTPS mit Secure-Flag setzen.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/cookies-sicher-konfigurieren\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-f7321043ac79c9e403352800",
            "ticket_id": "remediation_consent_no_reject_option",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[sharpness.de] Cookie-Hinweis ohne klare Ablehnen-Option",
            "description": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.",
            "idempotency_key": "sp-fix-f7321043ac79c9e403352800",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-f7321043ac79c9e403352800",
                "X-SaferPage-Body-SHA256": "c9e8b139cc7266a5146d25bd027a9edb9d60ab3bc7d45903823b3ef5a332351b",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_consent_no_reject_option",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Cookie-Hinweis ohne klare Ablehnen-Option",
                "evidence": "",
                "action": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_consent_no_reject_option\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Cookie-Hinweis ohne klare Ablehnen-Option\",\"evidence\":\"\",\"action\":\"Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "c9e8b139cc7266a5146d25bd027a9edb9d60ab3bc7d45903823b3ef5a332351b",
            "slack_payload": {
                "text": "[HOCH] sharpness.de: Cookie-Hinweis ohne klare Ablehnen-Option",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cookie-Hinweis ohne klare Ablehnen-Option*\nAblehnen sollte genauso leicht auffindbar sein wie Akzeptieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] sharpness.de: Cookie-Hinweis ohne klare Ablehnen-Option",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cookie-Hinweis ohne klare Ablehnen-Option"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Cookie-Hinweis ohne klare Ablehnen-Option",
                    "description": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-e27fff4026dd7b4df5007310",
            "ticket_id": "remediation_module_privacy_consent",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[sharpness.de] Datenschutz, Cookies & Consent",
            "description": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
            "idempotency_key": "sp-fix-e27fff4026dd7b4df5007310",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-e27fff4026dd7b4df5007310",
                "X-SaferPage-Body-SHA256": "576aeb38c99f9f64985880ba54083927567aa781cb2748281b439e762f6d60dd",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_module_privacy_consent",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Datenschutz, Cookies & Consent",
                "evidence": "0 Tracking-Script(s), 2 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 62.",
                "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/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_module_privacy_consent\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Datenschutz, Cookies & Consent\",\"evidence\":\"0 Tracking-Script(s), 2 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 62.\",\"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/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "576aeb38c99f9f64985880ba54083927567aa781cb2748281b439e762f6d60dd",
            "slack_payload": {
                "text": "[HOCH] sharpness.de: Datenschutz, Cookies & Consent",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Datenschutz, Cookies & Consent*\nTracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] sharpness.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": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.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/sharpness.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-d4a4e522b57072ce564b7d4b",
            "ticket_id": "remediation_privacy_policy_required_items_missing",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[sharpness.de] Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab",
            "description": "Verantwortlicher, Zwecke, Rechtsgrundlagen, Rechte, Speicherfristen, Empfänger, Cookies/Tracking und Widerruf strukturiert ergänzen.",
            "idempotency_key": "sp-fix-d4a4e522b57072ce564b7d4b",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-d4a4e522b57072ce564b7d4b",
                "X-SaferPage-Body-SHA256": "b9ee8cbc51466377a64880026c74816da3c91102530483a6046d91ee07022a09",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_privacy_policy_required_items_missing",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab",
                "evidence": "",
                "action": "Verantwortlicher, Zwecke, Rechtsgrundlagen, Rechte, Speicherfristen, Empfänger, Cookies/Tracking und Widerruf strukturiert ergänzen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/datenschutzerklaerung-verbessern",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_privacy_policy_required_items_missing\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab\",\"evidence\":\"\",\"action\":\"Verantwortlicher, Zwecke, Rechtsgrundlagen, Rechte, Speicherfristen, Empfänger, Cookies/Tracking und Widerruf strukturiert ergänzen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/datenschutzerklaerung-verbessern\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "b9ee8cbc51466377a64880026c74816da3c91102530483a6046d91ee07022a09",
            "slack_payload": {
                "text": "[HOCH] sharpness.de: Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab*\nVerantwortlicher, Zwecke, Rechtsgrundlagen, Rechte, Speicherfristen, Empfänger, Cookies/Tracking und Widerruf strukturiert ergänzen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] sharpness.de: Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Verantwortlicher, Zwecke, Rechtsgrundlagen, Rechte, Speicherfristen, Empfänger, Cookies/Tracking und Widerruf strukturiert ergänzen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Datenschutzerklärung deckt zentrale Bausteine nicht vollständig ab",
                    "description": "Verantwortlicher, Zwecke, Rechtsgrundlagen, Rechte, Speicherfristen, Empfänger, Cookies/Tracking und Widerruf strukturiert ergänzen.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/datenschutzerklaerung-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-59c288b031787d7066e075ef",
            "ticket_id": "remediation_pre_consent_nonessential_cookies",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[sharpness.de] Möglicherweise nicht notwendige Cookies vor Einwilligung",
            "description": "Prüfen, ob diese Cookies technisch notwendig sind oder erst nach Einwilligung gesetzt werden dürfen.",
            "idempotency_key": "sp-fix-59c288b031787d7066e075ef",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-59c288b031787d7066e075ef",
                "X-SaferPage-Body-SHA256": "e19f92a74073d2ad7faa44300c035a34723a887e87e630b7ca8b21092bfec458",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_pre_consent_nonessential_cookies",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Möglicherweise nicht notwendige Cookies vor Einwilligung",
                "evidence": "",
                "action": "Prüfen, ob diese Cookies technisch notwendig sind oder erst nach Einwilligung gesetzt werden dürfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche 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/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_pre_consent_nonessential_cookies\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Möglicherweise nicht notwendige Cookies vor Einwilligung\",\"evidence\":\"\",\"action\":\"Prüfen, ob diese Cookies technisch notwendig sind oder erst nach Einwilligung gesetzt werden dürfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche 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/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "e19f92a74073d2ad7faa44300c035a34723a887e87e630b7ca8b21092bfec458",
            "slack_payload": {
                "text": "[HOCH] sharpness.de: Möglicherweise nicht notwendige Cookies vor Einwilligung",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Möglicherweise nicht notwendige Cookies vor Einwilligung*\nPrüfen, ob diese Cookies technisch notwendig sind oder erst nach Einwilligung gesetzt werden dürfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] sharpness.de: Möglicherweise nicht notwendige Cookies vor Einwilligung",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Möglicherweise nicht notwendige Cookies vor Einwilligung"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Prüfen, ob diese Cookies technisch notwendig sind oder erst nach Einwilligung gesetzt werden dürfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Möglicherweise nicht notwendige Cookies vor Einwilligung",
                    "description": "Prüfen, ob diese Cookies technisch notwendig sind oder erst nach Einwilligung gesetzt werden dürfen.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-6d6fa5a115d8cb5f4cb3507e",
            "ticket_id": "remediation_security_header_gap",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "IT/Security",
            "sla": "7 Tage",
            "summary": "[sharpness.de] Security-Header, Referrer-Policy und Browser-Schutz setzen",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-6d6fa5a115d8cb5f4cb3507e",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-6d6fa5a115d8cb5f4cb3507e",
                "X-SaferPage-Body-SHA256": "67fa5076e53d2bbbfa41faf7df449fadeebb893de9a12e1260c99b3d456177f7",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "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. CSP nur Report-Only mit 9 Direktive(n), 0 Warnung(en), 3 Hinweis(e).",
                "action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"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. CSP nur Report-Only mit 9 Direktive(n), 0 Warnung(en), 3 Hinweis(e).\",\"action\":\"Befund mit Hintergrundseite einordnen und danach erneut scannen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "67fa5076e53d2bbbfa41faf7df449fadeebb893de9a12e1260c99b3d456177f7",
            "slack_payload": {
                "text": "[HOCH] sharpness.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/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] sharpness.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": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "IT/Security"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Security-Header, Referrer-Policy und Browser-Schutz setzen",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-53c5c2dbfeb90485bf98a3a7",
            "ticket_id": "remediation_module_security_tls",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[sharpness.de] Sicherheit, TLS & Header",
            "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
            "idempotency_key": "sp-fix-53c5c2dbfeb90485bf98a3a7",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-53c5c2dbfeb90485bf98a3a7",
                "X-SaferPage-Body-SHA256": "e2af2ec08a2a30316b3aa317ed6b6d3eaa9ac317408617c350d03c0095c2ed87",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "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/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"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/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "e2af2ec08a2a30316b3aa317ed6b6d3eaa9ac317408617c350d03c0095c2ed87",
            "slack_payload": {
                "text": "[HOCH] sharpness.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/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] sharpness.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": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Sicherheit, TLS & Header",
                    "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-991b363d2a710527cffed539",
            "ticket_id": "remediation_missing_x_content_type_options",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[sharpness.de] X-Content-Type-Options fehlt",
            "description": "Header `x-content-type-options` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-991b363d2a710527cffed539",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-991b363d2a710527cffed539",
                "X-SaferPage-Body-SHA256": "32305fa4a6b7fa0ca7d4d7cd3e5bafe6754ed29b67eba523829242c79cab52b9",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_missing_x_content_type_options",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "X-Content-Type-Options fehlt",
                "evidence": "",
                "action": "Header `x-content-type-options` setzen und nach Deployment erneut prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_missing_x_content_type_options\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"X-Content-Type-Options fehlt\",\"evidence\":\"\",\"action\":\"Header `x-content-type-options` setzen und nach Deployment erneut prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "32305fa4a6b7fa0ca7d4d7cd3e5bafe6754ed29b67eba523829242c79cab52b9",
            "slack_payload": {
                "text": "[HOCH] sharpness.de: X-Content-Type-Options fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*X-Content-Type-Options fehlt*\nHeader `x-content-type-options` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] sharpness.de: X-Content-Type-Options fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "X-Content-Type-Options fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `x-content-type-options` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] X-Content-Type-Options fehlt",
                    "description": "Header `x-content-type-options` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-d04849be5a439b5e6ad1da43",
            "ticket_id": "remediation_missing_x_frame_options",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[sharpness.de] X-Frame-Options fehlt",
            "description": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-d04849be5a439b5e6ad1da43",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-d04849be5a439b5e6ad1da43",
                "X-SaferPage-Body-SHA256": "05b4c0a4565f22e664723a1445ba1433133a922fdaee16f4d75ffb6515fb19f1",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "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/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"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/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "05b4c0a4565f22e664723a1445ba1433133a922fdaee16f4d75ffb6515fb19f1",
            "slack_payload": {
                "text": "[HOCH] sharpness.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/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] sharpness.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": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] X-Frame-Options fehlt",
                    "description": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-2dae1d0b53b18e6238fc31a0",
            "ticket_id": "remediation_stale_technology_version",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[sharpness.de] nginx-Version wirkt alt fuer einen oeffentlichen Webserver",
            "description": "Pruefen, ob die sichtbare nginx-Version vom OS-Anbieter mit Security-Backports gepflegt wird. Ohne Backports auf eine aktuelle Stable/Mainline-Version aus dem nginx.org-Zweig aktualisieren.",
            "idempotency_key": "sp-fix-2dae1d0b53b18e6238fc31a0",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-2dae1d0b53b18e6238fc31a0",
                "X-SaferPage-Body-SHA256": "07e73b4eeef87a0f6cdf28e4099e90c53aeb88cdda0be6ceaa78b2c167fbe529",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_stale_technology_version",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "nginx-Version wirkt alt fuer einen oeffentlichen Webserver",
                "evidence": "",
                "action": "Pruefen, ob die sichtbare nginx-Version vom OS-Anbieter mit Security-Backports gepflegt wird. Ohne Backports auf eine aktuelle Stable/Mainline-Version aus dem nginx.org-Zweig aktualisieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/sichtbare-versionen-und-cves-beheben",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_stale_technology_version\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"nginx-Version wirkt alt fuer einen oeffentlichen Webserver\",\"evidence\":\"\",\"action\":\"Pruefen, ob die sichtbare nginx-Version vom OS-Anbieter mit Security-Backports gepflegt wird. Ohne Backports auf eine aktuelle Stable/Mainline-Version aus dem nginx.org-Zweig aktualisieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/sichtbare-versionen-und-cves-beheben\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "07e73b4eeef87a0f6cdf28e4099e90c53aeb88cdda0be6ceaa78b2c167fbe529",
            "slack_payload": {
                "text": "[HOCH] sharpness.de: nginx-Version wirkt alt fuer einen oeffentlichen Webserver",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*nginx-Version wirkt alt fuer einen oeffentlichen Webserver*\nPruefen, ob die sichtbare nginx-Version vom OS-Anbieter mit Security-Backports gepflegt wird. Ohne Backports auf eine aktuelle Stable/Mainline-Version aus dem nginx.org-Zweig aktualisieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] sharpness.de: nginx-Version wirkt alt fuer einen oeffentlichen Webserver",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "nginx-Version wirkt alt fuer einen oeffentlichen Webserver"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Pruefen, ob die sichtbare nginx-Version vom OS-Anbieter mit Security-Backports gepflegt wird. Ohne Backports auf eine aktuelle Stable/Mainline-Version aus dem nginx.org-Zweig aktualisieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] nginx-Version wirkt alt fuer einen oeffentlichen Webserver",
                    "description": "Pruefen, ob die sichtbare nginx-Version vom OS-Anbieter mit Security-Backports gepflegt wird. Ohne Backports auf eine aktuelle Stable/Mainline-Version aus dem nginx.org-Zweig aktualisieren.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/sichtbare-versionen-und-cves-beheben\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-3c4cf8840dd194e7b47a60e2",
            "ticket_id": "remediation_consent_preconsent_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT",
            "sla": "30 Tage",
            "summary": "[sharpness.de] Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-3c4cf8840dd194e7b47a60e2",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-3c4cf8840dd194e7b47a60e2",
                "X-SaferPage-Body-SHA256": "3016c91fa6c43865be257895551d6d31521c8d83bf8c79d6c6391e3e09da456d",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_consent_preconsent_gap",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT",
                "sla": "30 Tage",
                "title": "Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                "evidence": "Consent ist teilweise erkennbar; einzelne Punkte bleiben Betreiberkontext.",
                "action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_consent_preconsent_gap\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT\",\"sla\":\"30 Tage\",\"title\":\"Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren\",\"evidence\":\"Consent ist teilweise erkennbar; einzelne Punkte bleiben Betreiberkontext.\",\"action\":\"Befund mit Hintergrundseite einordnen und danach erneut scannen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "3016c91fa6c43865be257895551d6d31521c8d83bf8c79d6c6391e3e09da456d",
            "slack_payload": {
                "text": "[MITTEL] sharpness.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/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] sharpness.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": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-9415c8cb9c30581f3d79bf3c",
            "ticket_id": "mapping_cookie_dp_cookieconsent_status",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[sharpness.de] dp_cookieconsent_status",
            "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
            "idempotency_key": "sp-fix-9415c8cb9c30581f3d79bf3c",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-9415c8cb9c30581f3d79bf3c",
                "X-SaferPage-Body-SHA256": "5927c01bf471b3bd4ea8c664671e2b54e473ac2af94a67c6b81f38eb460cd285",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "mapping_cookie_dp_cookieconsent_status",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "dp_cookieconsent_status",
                "evidence": "sharpness.de",
                "action": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
                    "evidence": "https://saferpage.de/cookies/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"mapping_cookie_dp_cookieconsent_status\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"dp_cookieconsent_status\",\"evidence\":\"sharpness.de\",\"action\":\"Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\",\"evidence\":\"https://saferpage.de/cookies/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "5927c01bf471b3bd4ea8c664671e2b54e473ac2af94a67c6b81f38eb460cd285",
            "slack_payload": {
                "text": "[MITTEL] sharpness.de: dp_cookieconsent_status",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*dp_cookieconsent_status*\nZweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/cookies/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] sharpness.de: dp_cookieconsent_status",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "dp_cookieconsent_status"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] dp_cookieconsent_status",
                    "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.\n\nNachweis: https://saferpage.de/cookies/sharpness.de\nHintergrundseite: https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-62fadbd78fceffd4912e387b",
            "ticket_id": "mapping_cookie_fe_typo_user",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[sharpness.de] fe_typo_user",
            "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
            "idempotency_key": "sp-fix-62fadbd78fceffd4912e387b",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-62fadbd78fceffd4912e387b",
                "X-SaferPage-Body-SHA256": "f32d1a2dddabd714a58355709e8c1e341cc28bd31d73ae81b1fa27b69c5d1044",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "mapping_cookie_fe_typo_user",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "fe_typo_user",
                "evidence": "sharpness.de",
                "action": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen",
                    "evidence": "https://saferpage.de/cookies/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"mapping_cookie_fe_typo_user\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"fe_typo_user\",\"evidence\":\"sharpness.de\",\"action\":\"Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\",\"evidence\":\"https://saferpage.de/cookies/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "f32d1a2dddabd714a58355709e8c1e341cc28bd31d73ae81b1fa27b69c5d1044",
            "slack_payload": {
                "text": "[MITTEL] sharpness.de: fe_typo_user",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*fe_typo_user*\nZweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/cookies/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] sharpness.de: fe_typo_user",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "fe_typo_user"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] fe_typo_user",
                    "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.\n\nNachweis: https://saferpage.de/cookies/sharpness.de\nHintergrundseite: https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-4466583d44bee95661e51444",
            "ticket_id": "remediation_csp_report_only_only",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[sharpness.de] CSP nur im Report-Only-Modus",
            "description": "Report-Only ist gut zum Testen; nach Korrektur der Verstöße sollte eine wirksame Content-Security-Policy gesetzt werden.",
            "idempotency_key": "sp-fix-4466583d44bee95661e51444",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-4466583d44bee95661e51444",
                "X-SaferPage-Body-SHA256": "705ce026ce40dd1435940add0145480ad645fd7b091fe1c2a0c51ec2dade10ee",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_csp_report_only_only",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "CSP nur im Report-Only-Modus",
                "evidence": "",
                "action": "Report-Only ist gut zum Testen; nach Korrektur der Verstöße sollte eine wirksame Content-Security-Policy gesetzt werden.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_csp_report_only_only\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"CSP nur im Report-Only-Modus\",\"evidence\":\"\",\"action\":\"Report-Only ist gut zum Testen; nach Korrektur der Verstöße sollte eine wirksame Content-Security-Policy gesetzt werden.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "705ce026ce40dd1435940add0145480ad645fd7b091fe1c2a0c51ec2dade10ee",
            "slack_payload": {
                "text": "[NIEDRIG] sharpness.de: CSP nur im Report-Only-Modus",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*CSP nur im Report-Only-Modus*\nReport-Only ist gut zum Testen; nach Korrektur der Verstöße sollte eine wirksame Content-Security-Policy gesetzt werden."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] sharpness.de: CSP nur im Report-Only-Modus",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "CSP nur im Report-Only-Modus"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Report-Only ist gut zum Testen; nach Korrektur der Verstöße sollte eine wirksame Content-Security-Policy gesetzt werden."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] CSP nur im Report-Only-Modus",
                    "description": "Report-Only ist gut zum Testen; nach Korrektur der Verstöße sollte eine wirksame Content-Security-Policy gesetzt werden.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-f0db0106c2b82bde15afdbf9",
            "ticket_id": "remediation_csp_missing_object_src",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[sharpness.de] CSP ohne object-src",
            "description": "object-src 'none' setzen, wenn keine Plugins oder Objekte benötigt werden.",
            "idempotency_key": "sp-fix-f0db0106c2b82bde15afdbf9",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-f0db0106c2b82bde15afdbf9",
                "X-SaferPage-Body-SHA256": "afcf7793eca3897462abda79bbacb11f3e11123f4733ab278ec0da353c0fd1f1",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_csp_missing_object_src",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "CSP ohne object-src",
                "evidence": "",
                "action": "object-src 'none' setzen, wenn keine Plugins oder Objekte benötigt werden.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_csp_missing_object_src\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"CSP ohne object-src\",\"evidence\":\"\",\"action\":\"object-src 'none' setzen, wenn keine Plugins oder Objekte benötigt werden.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "afcf7793eca3897462abda79bbacb11f3e11123f4733ab278ec0da353c0fd1f1",
            "slack_payload": {
                "text": "[NIEDRIG] sharpness.de: CSP ohne object-src",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*CSP ohne object-src*\nobject-src 'none' setzen, wenn keine Plugins oder Objekte benötigt werden."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] sharpness.de: CSP ohne object-src",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "CSP ohne object-src"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "object-src 'none' setzen, wenn keine Plugins oder Objekte benötigt werden."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] CSP ohne object-src",
                    "description": "object-src 'none' setzen, wenn keine Plugins oder Objekte benötigt werden.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-4128f7edbcdcebe25b63fb41",
            "ticket_id": "remediation_missing_cross_origin_embedder_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[sharpness.de] Cross-Origin-Embedder-Policy fehlt",
            "description": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-4128f7edbcdcebe25b63fb41",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-4128f7edbcdcebe25b63fb41",
                "X-SaferPage-Body-SHA256": "c5964a3fdf37a4605eac1b3cd1d244b46e4007463dac57a2dbb4ee9a0ae52627",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "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/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"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/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "c5964a3fdf37a4605eac1b3cd1d244b46e4007463dac57a2dbb4ee9a0ae52627",
            "slack_payload": {
                "text": "[NIEDRIG] sharpness.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/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] sharpness.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": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.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/sharpness.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-be9a20812a8b2e535a139eae",
            "ticket_id": "remediation_missing_cross_origin_opener_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[sharpness.de] Cross-Origin-Opener-Policy fehlt",
            "description": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-be9a20812a8b2e535a139eae",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-be9a20812a8b2e535a139eae",
                "X-SaferPage-Body-SHA256": "5800f385e41d61b5610f759356f18c5e79368d52b0f8b2403530fe6a7aa0d998",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "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/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"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/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "5800f385e41d61b5610f759356f18c5e79368d52b0f8b2403530fe6a7aa0d998",
            "slack_payload": {
                "text": "[NIEDRIG] sharpness.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/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] sharpness.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": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.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/sharpness.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-5340cb9c0e8898540744a4dc",
            "ticket_id": "remediation_missing_cross_origin_resource_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[sharpness.de] Cross-Origin-Resource-Policy fehlt",
            "description": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-5340cb9c0e8898540744a4dc",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-5340cb9c0e8898540744a4dc",
                "X-SaferPage-Body-SHA256": "aff29358ec05c280de23c8523e01c599eba93539316dbe9f546939239682e693",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "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/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"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/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "aff29358ec05c280de23c8523e01c599eba93539316dbe9f546939239682e693",
            "slack_payload": {
                "text": "[NIEDRIG] sharpness.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/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] sharpness.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": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.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/sharpness.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-c9ee4bc749707f0f130c29e2",
            "ticket_id": "remediation_privacy_policy_dpo_contact_missing",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[sharpness.de] Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
            "description": "Betreiber sollten einen Datenschutzkontakt nennen oder nachvollziehbar erklären, wie Datenschutzanfragen gestellt werden können.",
            "idempotency_key": "sp-fix-c9ee4bc749707f0f130c29e2",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-c9ee4bc749707f0f130c29e2",
                "X-SaferPage-Body-SHA256": "22eafb9169a6628bd5c30d055615422a176c1889909515fd93bba6c797571ac0",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_privacy_policy_dpo_contact_missing",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
                "evidence": "",
                "action": "Betreiber sollten einen Datenschutzkontakt nennen oder nachvollziehbar erklären, wie Datenschutzanfragen gestellt werden können.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/datenschutzerklaerung-verbessern",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_privacy_policy_dpo_contact_missing\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt\",\"evidence\":\"\",\"action\":\"Betreiber sollten einen Datenschutzkontakt nennen oder nachvollziehbar erklären, wie Datenschutzanfragen gestellt werden können.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/datenschutzerklaerung-verbessern\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "22eafb9169a6628bd5c30d055615422a176c1889909515fd93bba6c797571ac0",
            "slack_payload": {
                "text": "[NIEDRIG] sharpness.de: Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt*\nBetreiber sollten einen Datenschutzkontakt nennen oder nachvollziehbar erklären, wie Datenschutzanfragen gestellt werden können."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] sharpness.de: Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Betreiber sollten einen Datenschutzkontakt nennen oder nachvollziehbar erklären, wie Datenschutzanfragen gestellt werden können."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
                    "description": "Betreiber sollten einen Datenschutzkontakt nennen oder nachvollziehbar erklären, wie Datenschutzanfragen gestellt werden können.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/datenschutzerklaerung-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-b43bfd8670cccf35a1860c99",
            "ticket_id": "remediation_csp_missing_frame_ancestors",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[sharpness.de] Kein CSP-frame-ancestors oder X-Frame-Options",
            "description": "frame-ancestors 'none' oder 'self' setzen, alternativ X-Frame-Options als Basisschutz nutzen.",
            "idempotency_key": "sp-fix-b43bfd8670cccf35a1860c99",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-b43bfd8670cccf35a1860c99",
                "X-SaferPage-Body-SHA256": "533a9348fba706b48483541dc55e0002420f36a9af6d92ddfe1e82ad01b1bdec",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_csp_missing_frame_ancestors",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Kein CSP-frame-ancestors oder X-Frame-Options",
                "evidence": "",
                "action": "frame-ancestors 'none' oder 'self' setzen, alternativ X-Frame-Options als Basisschutz nutzen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche 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/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_csp_missing_frame_ancestors\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Kein CSP-frame-ancestors oder X-Frame-Options\",\"evidence\":\"\",\"action\":\"frame-ancestors 'none' oder 'self' setzen, alternativ X-Frame-Options als Basisschutz nutzen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche 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/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "533a9348fba706b48483541dc55e0002420f36a9af6d92ddfe1e82ad01b1bdec",
            "slack_payload": {
                "text": "[NIEDRIG] sharpness.de: Kein CSP-frame-ancestors oder X-Frame-Options",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Kein CSP-frame-ancestors oder X-Frame-Options*\nframe-ancestors 'none' oder 'self' setzen, alternativ X-Frame-Options als Basisschutz nutzen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] sharpness.de: Kein CSP-frame-ancestors oder X-Frame-Options",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Kein CSP-frame-ancestors oder X-Frame-Options"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "frame-ancestors 'none' oder 'self' setzen, alternativ X-Frame-Options als Basisschutz nutzen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Kein CSP-frame-ancestors oder X-Frame-Options",
                    "description": "frame-ancestors 'none' oder 'self' setzen, alternativ X-Frame-Options als Basisschutz nutzen.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-c54e36f3b48fea7a7e321ed8",
            "ticket_id": "remediation_long_lived_cookie",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[sharpness.de] Langlebige Cookies erkannt",
            "description": "Cookies wie dp_cookieconsent_status auf Zweck, Erforderlichkeit und Speicherdauer prüfen und transparent erklären.",
            "idempotency_key": "sp-fix-c54e36f3b48fea7a7e321ed8",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-c54e36f3b48fea7a7e321ed8",
                "X-SaferPage-Body-SHA256": "4d3ab429612f25ba5334c54385c3f60a6a7779e347ec5c88f41f2d4856d0b606",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_long_lived_cookie",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Langlebige Cookies erkannt",
                "evidence": "",
                "action": "Cookies wie dp_cookieconsent_status auf Zweck, Erforderlichkeit und Speicherdauer prüfen und transparent 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/cookie-laufzeiten-und-zwecke-pruefen",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_long_lived_cookie\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Langlebige Cookies erkannt\",\"evidence\":\"\",\"action\":\"Cookies wie dp_cookieconsent_status auf Zweck, Erforderlichkeit und Speicherdauer prüfen und transparent 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/cookie-laufzeiten-und-zwecke-pruefen\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "4d3ab429612f25ba5334c54385c3f60a6a7779e347ec5c88f41f2d4856d0b606",
            "slack_payload": {
                "text": "[NIEDRIG] sharpness.de: Langlebige Cookies erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Langlebige Cookies erkannt*\nCookies wie dp_cookieconsent_status auf Zweck, Erforderlichkeit und Speicherdauer prüfen und transparent erklären."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] sharpness.de: Langlebige Cookies erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Langlebige Cookies erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Cookies wie dp_cookieconsent_status auf Zweck, Erforderlichkeit und Speicherdauer prüfen und transparent erklären."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Langlebige Cookies erkannt",
                    "description": "Cookies wie dp_cookieconsent_status auf Zweck, Erforderlichkeit und Speicherdauer prüfen und transparent erklären.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-d88432ee80682a15e975dabb",
            "ticket_id": "remediation_missing_permissions_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[sharpness.de] Permissions-Policy fehlt",
            "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-d88432ee80682a15e975dabb",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-d88432ee80682a15e975dabb",
                "X-SaferPage-Body-SHA256": "522dfed5e86c340a770ee929b6a8975e62267d470dba28782d1e711ec5ce449c",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "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/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"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/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "522dfed5e86c340a770ee929b6a8975e62267d470dba28782d1e711ec5ce449c",
            "slack_payload": {
                "text": "[NIEDRIG] sharpness.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/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] sharpness.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": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Permissions-Policy fehlt",
                    "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-d0bcc20e788d1af631e1ca2a",
            "ticket_id": "remediation_missing_referrer_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[sharpness.de] Referrer-Policy fehlt",
            "description": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-d0bcc20e788d1af631e1ca2a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-d0bcc20e788d1af631e1ca2a",
                "X-SaferPage-Body-SHA256": "0046cb9b983ed801865cba738660eae4319a786b66c7c19a532f10b3f65c359f",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "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/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"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/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "0046cb9b983ed801865cba738660eae4319a786b66c7c19a532f10b3f65c359f",
            "slack_payload": {
                "text": "[NIEDRIG] sharpness.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/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] sharpness.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": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Referrer-Policy fehlt",
                    "description": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-4f9b1d2af222b164f1207f96",
            "ticket_id": "remediation_privacy_policy_update_date_missing",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[sharpness.de] Stand der Datenschutzerklärung nicht klar erkennbar",
            "description": "Betreiber sollten ein gut sichtbares Stand- oder Aktualisierungsdatum ergänzen und die Erklärung nach technischen Änderungen prüfen.",
            "idempotency_key": "sp-fix-4f9b1d2af222b164f1207f96",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-4f9b1d2af222b164f1207f96",
                "X-SaferPage-Body-SHA256": "3f2f567bb6a651fe24a5b4c93bed31ec306277a1f634f9907622b5cef46ed040",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "ticket_id": "remediation_privacy_policy_update_date_missing",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Stand der Datenschutzerklärung nicht klar erkennbar",
                "evidence": "",
                "action": "Betreiber sollten ein gut sichtbares Stand- oder Aktualisierungsdatum ergänzen und die Erklärung nach technischen Änderungen 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/datenschutzerklaerung-verbessern",
                    "evidence": "https://saferpage.de/befunde/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"ticket_id\":\"remediation_privacy_policy_update_date_missing\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Stand der Datenschutzerklärung nicht klar erkennbar\",\"evidence\":\"\",\"action\":\"Betreiber sollten ein gut sichtbares Stand- oder Aktualisierungsdatum ergänzen und die Erklärung nach technischen Änderungen 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/datenschutzerklaerung-verbessern\",\"evidence\":\"https://saferpage.de/befunde/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "3f2f567bb6a651fe24a5b4c93bed31ec306277a1f634f9907622b5cef46ed040",
            "slack_payload": {
                "text": "[NIEDRIG] sharpness.de: Stand der Datenschutzerklärung nicht klar erkennbar",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Stand der Datenschutzerklärung nicht klar erkennbar*\nBetreiber sollten ein gut sichtbares Stand- oder Aktualisierungsdatum ergänzen und die Erklärung nach technischen Änderungen prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] sharpness.de: Stand der Datenschutzerklärung nicht klar erkennbar",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Stand der Datenschutzerklärung nicht klar erkennbar"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Betreiber sollten ein gut sichtbares Stand- oder Aktualisierungsdatum ergänzen und die Erklärung nach technischen Änderungen prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Stand der Datenschutzerklärung nicht klar erkennbar",
                    "description": "Betreiber sollten ein gut sichtbares Stand- oder Aktualisierungsdatum ergänzen und die Erklärung nach technischen Änderungen prüfen.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/datenschutzerklaerung-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-3b359232582cf91b64ef339a",
            "ticket_id": "remediation_browser_keystroke_listener_signals",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[sharpness.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-3b359232582cf91b64ef339a",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-3b359232582cf91b64ef339a",
                "X-SaferPage-Body-SHA256": "66f3a52db14a0de8a0ae7284aaaeebdd836350b7b68992d38716f6ccc8b0ed48",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "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/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"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/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "66f3a52db14a0de8a0ae7284aaaeebdd836350b7b68992d38716f6ccc8b0ed48",
            "slack_payload": {
                "text": "[NIEDRIG] sharpness.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/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] sharpness.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": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.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/sharpness.de\nHintergrundseite: https://saferpage.de/guides/session-replay-und-fingerprinting-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-c641a7fe3ae11ef2ad41fa56",
            "ticket_id": "remediation_too_many_render_blocking_assets",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[sharpness.de] Viele potenziell blockierende Assets",
            "description": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.",
            "idempotency_key": "sp-fix-c641a7fe3ae11ef2ad41fa56",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-c641a7fe3ae11ef2ad41fa56",
                "X-SaferPage-Body-SHA256": "7af474f8e8b196f70da828a207e2e74e8ff74dda7eaceb37bf4e1a394837e242",
                "X-SaferPage-Signature": "sha256=<HMAC über canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "sharpness.de",
                "scan_id": "7654b71c-af6c-498b-a375-bd7cefb6ed24",
                "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/sharpness.de",
                    "rescan": "https://saferpage.de/scanbetrieb/sharpness.de",
                    "report": "https://saferpage.de/sharpness.de",
                    "fix_guides": "https://saferpage.de/fix-guides/sharpness.de"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"sharpness.de\",\"scan_id\":\"7654b71c-af6c-498b-a375-bd7cefb6ed24\",\"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/sharpness.de\",\"rescan\":\"https://saferpage.de/scanbetrieb/sharpness.de\",\"report\":\"https://saferpage.de/sharpness.de\",\"fix_guides\":\"https://saferpage.de/fix-guides/sharpness.de\"}}",
            "canonical_body_sha256": "7af474f8e8b196f70da828a207e2e74e8ff74dda7eaceb37bf4e1a394837e242",
            "slack_payload": {
                "text": "[NIEDRIG] sharpness.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/sharpness.de"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] sharpness.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": "sharpness.de"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[sharpness.de] Viele potenziell blockierende Assets",
                    "description": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.\n\nNachweis: https://saferpage.de/befunde/sharpness.de\nHintergrundseite: https://saferpage.de/guides/performance-und-mobile-usability-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/sharpness.de",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        }
    ],
    "links": {
        "fix_guides": "https://saferpage.de/fix-guides/sharpness.de",
        "tickets_json": "https://saferpage.de/fix-guides/sharpness.de/tickets-json",
        "json": "https://saferpage.de/fix-guides/sharpness.de/tickets-delivery-json",
        "csv": "https://saferpage.de/fix-guides/sharpness.de/tickets-delivery-csv"
    },
    "disclaimer": "Payload-Vorlagen ohne aktive Zustellung und ohne echte Secrets. Betreiber müssen Zielsysteme, Authentifizierung, HMAC-Secret, Projekte, Empfänger und Freigaben selbst konfigurieren."
}
