{
    "schema": "https://saferpage.de/schemas/operator-remediation-ticket-delivery.v1",
    "generated_at": "2026-06-15T11:11:32+00:00",
    "domain": "cityparkingzuerich.ch",
    "available": true,
    "scan": {
        "id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
        "checked_at": "2026-06-15 09:55:46.095608+02"
    },
    "summary": "Delivery-Paket fuer Nachweispositionen mit Webhook-, Slack-, Teams- und Jira-Payloads, HMAC-Receiver-Vertrag und Test-Fixture.",
    "dry_run": true,
    "does_not_send": true,
    "metrics": {
        "delivery_job_count": 37,
        "high_priority_count": 17,
        "channel_count": 4,
        "receiver_check_count": 6,
        "test_fixture_negative_count": 4
    },
    "signature_verification": {
        "algorithm": "HMAC-SHA256",
        "canonical_body": "Exakt canonical_webhook_body aus dem jeweiligen delivery_job signieren; keine Pretty-Print- oder Reordering-Variante verwenden.",
        "signature_secret_ref": "SAFERPAGE_OPERATOR_WEBHOOK_SECRET oder zielsystemspezifisches Secret im Secret Manager",
        "signature_header": "X-SaferPage-Signature",
        "signature_format": "sha256=<hex_hmac_sha256>",
        "body_sha256_header": "X-SaferPage-Body-SHA256",
        "idempotency_header": "X-SaferPage-Idempotency-Key",
        "receiver_must_check": [
            "HMAC ueber den exakten Request-Body stimmt mit X-SaferPage-Signature ueberein.",
            "SHA-256 des exakten Request-Body stimmt mit X-SaferPage-Body-SHA256 ueberein.",
            "X-SaferPage-Event ist operator.remediation.ticket_ready.",
            "X-SaferPage-Schema ist operator-remediation-ticket-delivery.v1.",
            "X-SaferPage-Idempotency-Key wurde fuer Domain, Scan und Nachweisposition noch nicht verarbeitet.",
            "Empfaenger, Projekt, Queue und Verantwortlichkeit sind fuer diese Domain freigegeben."
        ],
        "failure_policy": "Bei fehlender Signatur, Body-Hash-Abweichung, Replay oder unbekanntem Zielsystem ablehnen, nicht teilweise verarbeiten und Auditlog ohne Secret-Werte schreiben."
    },
    "verification_test_fixture": {
        "public_test_secret": "saferpage_remediation_ticket_test_secret_do_not_use_in_production",
        "canonical_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"example.test\",\"scan_id\":\"scan_test_2026_06_09\",\"ticket_id\":\"remediation_test_ticket\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Datenschutz/IT\",\"sla\":\"7 Tage\",\"title\":\"Consent-Befund reproduzieren und beheben\",\"evidence\":\"Test-Fixture fuer Receiver-Implementierung.\",\"action\":\"Testpayload unveraendert verifizieren, Idempotency-Key pruefen und danach verwerfen.\",\"acceptance_criteria\":[\"Signatur stimmt mit exakt diesem Body ueberein.\",\"Idempotency-Key wurde noch nicht verarbeitet.\",\"Event, Schema und Domain sind erlaubt.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/example.test\",\"rescan\":\"https://saferpage.de/scanbetrieb/example.test\",\"report\":\"https://saferpage.de/example.test\",\"fix_guides\":\"https://saferpage.de/fix-guides/example.test\"}}",
        "canonical_body_sha256": "cd19d86313ea4d6ea0f5dcd65b2b40794f017121c655dedcdfa6df362b480dcf",
        "expected_signature": "sha256=834a9f0cd7a3922648b8aa1ab00aef7ae7aa31d08b63e804ee4a586c0e9dd555",
        "expected_signature_header": "X-SaferPage-Signature: sha256=834a9f0cd7a3922648b8aa1ab00aef7ae7aa31d08b63e804ee4a586c0e9dd555",
        "idempotency_key": "sp-fix-test-fixture",
        "positive_test": "Empfaenger akzeptiert den unveraenderten canonical_body mit expected_signature und verwirft ihn danach als Testevent.",
        "negative_tests": [
            "Ein geaendertes Byte im Body muss abgelehnt werden.",
            "Ein fehlender oder doppelter X-SaferPage-Idempotency-Key muss abgelehnt werden.",
            "Eine Signatur mit anderem Secret muss abgelehnt werden.",
            "Ein erneuter Request mit derselben Idempotency-Key/Event-Kombination darf nicht erneut verarbeitet werden."
        ],
        "sample_commands": [
            "printf %s \"$BODY\" | openssl dgst -sha256 -hmac \"saferpage_remediation_ticket_test_secret_do_not_use_in_production\" -binary | xxd -p -c 256",
            "printf %s \"$BODY\" | sha256sum",
            "curl -X POST -H \"Content-Type: application/json\" -H \"X-SaferPage-Event: operator.remediation.ticket_ready\" -H \"X-SaferPage-Signature: sha256=834a9f0cd7a3922648b8aa1ab00aef7ae7aa31d08b63e804ee4a586c0e9dd555\" --data \"$BODY\" https://receiver.example.test/saferpage"
        ]
    },
    "retry_policy": {
        "max_attempts": 3,
        "backoff_seconds": [
            300,
            1800,
            7200
        ],
        "dead_letter_queue": "privacyops.remediation_ticket.failed"
    },
    "delivery_jobs": [
        {
            "id": "sp-fix-2030d011fb3539c914ac37db",
            "ticket_id": "remediation_vendor_contract_transfer_fix",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Legal/Vendor-Verantwortung",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
            "description": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.",
            "idempotency_key": "sp-fix-2030d011fb3539c914ac37db",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-2030d011fb3539c914ac37db",
                "X-SaferPage-Body-SHA256": "74c56cf6dec6cccab1ee63cb68519331cf66132b58f7cdb2454e7bb6f1f5142f",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_vendor_contract_transfer_fix",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Legal/Vendor-Verantwortung",
                "sla": "7 Tage",
                "title": "Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                "evidence": "Vendor-Due-Diligence mit 1 Anbieter(n), 0 hohem Risiko, 1 AVV-/DPA-Prüfung(en) und 1 Transfer-/Jurisdiktionsfrage(n).",
                "action": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_vendor_contract_transfer_fix\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Legal/Vendor-Verantwortung\",\"sla\":\"7 Tage\",\"title\":\"Anbieterakten, AVV/DPA und Transfers priorisiert schließen\",\"evidence\":\"Vendor-Due-Diligence mit 1 Anbieter(n), 0 hohem Risiko, 1 AVV-/DPA-Prüfung(en) und 1 Transfer-/Jurisdiktionsfrage(n).\",\"action\":\"Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "74c56cf6dec6cccab1ee63cb68519331cf66132b58f7cdb2454e7bb6f1f5142f",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Anbieterakten, AVV/DPA und Transfers priorisiert schließen*\nTop-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Legal/Vendor-Verantwortung · Zielzeit: 7 Tage · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Anbieterakten, AVV/DPA und Transfers priorisiert schließen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Legal/Vendor-Verantwortung"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Anbieterakten, AVV/DPA und Transfers priorisiert schließen",
                    "description": "Top-Anbieter mit Zweck, Rolle, AVV/DPA, TOMs, Subprozessoren und Transfergrundlage dokumentieren.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-b9e476b886f749aa39837a75",
            "ticket_id": "remediation_beacon_api_usage",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] Beacon-/Keepalive-Telemetrie erkannt",
            "description": "navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen.",
            "idempotency_key": "sp-fix-b9e476b886f749aa39837a75",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-b9e476b886f749aa39837a75",
                "X-SaferPage-Body-SHA256": "501d0960034bb55061312be960cb08c384b0ffc8843bc543cbb0663ed0bdb28a",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_beacon_api_usage",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Beacon-/Keepalive-Telemetrie erkannt",
                "evidence": "",
                "action": "navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_beacon_api_usage\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Beacon-/Keepalive-Telemetrie erkannt\",\"evidence\":\"\",\"action\":\"navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "501d0960034bb55061312be960cb08c384b0ffc8843bc543cbb0663ed0bdb28a",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: Beacon-/Keepalive-Telemetrie erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Beacon-/Keepalive-Telemetrie erkannt*\nnavigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: Beacon-/Keepalive-Telemetrie erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Beacon-/Keepalive-Telemetrie erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Beacon-/Keepalive-Telemetrie erkannt",
                    "description": "navigator.sendBeacon, keepalive-Fetch und vergleichbare Telemetrie auf Consent, Anbieter und Datenminimierung prüfen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/tracking-pixel-und-beacons-begrenzen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-4f8c0bd111be2c11a263fab7",
            "ticket_id": "remediation_external_canonical",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] 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-4f8c0bd111be2c11a263fab7",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-4f8c0bd111be2c11a263fab7",
                "X-SaferPage-Body-SHA256": "ae9bf8cafd6162e4ec049eb414f4658ee1a0c00aeaa5d6c00b67ee526e7a75cf",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "ae9bf8cafd6162e4ec049eb414f4658ee1a0c00aeaa5d6c00b67ee526e7a75cf",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: 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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: 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": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] 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/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/seo-spam-und-cloaking-bereinigen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-d05d8bb31d85982a8c4027d4",
            "ticket_id": "remediation_consent_banner_dark_pattern_risk",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] Consent-Banner mit Dark-Pattern-/UX-Risiko",
            "description": "Ablehnen, Einstellungen und Akzeptieren gleichwertig anbieten und Reject technisch wirksam machen.",
            "idempotency_key": "sp-fix-d05d8bb31d85982a8c4027d4",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-d05d8bb31d85982a8c4027d4",
                "X-SaferPage-Body-SHA256": "d2280fd502e0cd5857126f5a9e234f91168a44496219e8e080c77125c0de594b",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_consent_banner_dark_pattern_risk",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Consent-Banner mit Dark-Pattern-/UX-Risiko",
                "evidence": "",
                "action": "Ablehnen, Einstellungen und Akzeptieren gleichwertig anbieten und Reject technisch wirksam machen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_consent_banner_dark_pattern_risk\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Consent-Banner mit Dark-Pattern-/UX-Risiko\",\"evidence\":\"\",\"action\":\"Ablehnen, Einstellungen und Akzeptieren gleichwertig anbieten und Reject technisch wirksam machen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "d2280fd502e0cd5857126f5a9e234f91168a44496219e8e080c77125c0de594b",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: Consent-Banner mit Dark-Pattern-/UX-Risiko",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Consent-Banner mit Dark-Pattern-/UX-Risiko*\nAblehnen, Einstellungen und Akzeptieren gleichwertig anbieten und Reject technisch wirksam machen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: Consent-Banner mit Dark-Pattern-/UX-Risiko",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Consent-Banner mit Dark-Pattern-/UX-Risiko"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Ablehnen, Einstellungen und Akzeptieren gleichwertig anbieten und Reject technisch wirksam machen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Consent-Banner mit Dark-Pattern-/UX-Risiko",
                    "description": "Ablehnen, Einstellungen und Akzeptieren gleichwertig anbieten und Reject technisch wirksam machen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-ef6eb3a6a4da4dd434619c03",
            "ticket_id": "remediation_missing_csp",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] Content-Security-Policy fehlt",
            "description": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-ef6eb3a6a4da4dd434619c03",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-ef6eb3a6a4da4dd434619c03",
                "X-SaferPage-Body-SHA256": "745de9309927c0ba0ccb970099477767c4f3a2c72bc801700855ac9d6878a006",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "745de9309927c0ba0ccb970099477767c4f3a2c72bc801700855ac9d6878a006",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: 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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: 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": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Content-Security-Policy fehlt",
                    "description": "Header `content-security-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-31e7bdfc905ee9c0b7727bf3",
            "ticket_id": "remediation_consent_no_reject_option",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] Cookie-Hinweis ohne klare Ablehnen-Option",
            "description": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.",
            "idempotency_key": "sp-fix-31e7bdfc905ee9c0b7727bf3",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-31e7bdfc905ee9c0b7727bf3",
                "X-SaferPage-Body-SHA256": "68c6dcdb8f2416d6845618546a85d4df474cf9ae3fb6e8014f99b50326bf4473",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "68c6dcdb8f2416d6845618546a85d4df474cf9ae3fb6e8014f99b50326bf4473",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: 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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: 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": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Cookie-Hinweis ohne klare Ablehnen-Option",
                    "description": "Ablehnen sollte genauso leicht auffindbar sein wie Akzeptieren.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-d6198afec131f2a6754cd62d",
            "ticket_id": "remediation_privacy_policy_tracking_disclosure_gap",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] Cookies/Tracking in der Datenschutzerklärung nicht klar erkannt",
            "description": "Cookie-, Tracking-, Web-Storage- und Drittanbieter-Hinweise mit der tatsächlichen Technik aus dem Scan abgleichen.",
            "idempotency_key": "sp-fix-d6198afec131f2a6754cd62d",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-d6198afec131f2a6754cd62d",
                "X-SaferPage-Body-SHA256": "d1653b86c27041a2a7764ca2baf88a6b00d4ae0d3d173f204072ad0f279ec585",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_privacy_policy_tracking_disclosure_gap",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Cookies/Tracking in der Datenschutzerklärung nicht klar erkannt",
                "evidence": "",
                "action": "Cookie-, Tracking-, Web-Storage- und Drittanbieter-Hinweise mit der tatsächlichen Technik aus dem Scan abgleichen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche 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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_privacy_policy_tracking_disclosure_gap\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Cookies/Tracking in der Datenschutzerklärung nicht klar erkannt\",\"evidence\":\"\",\"action\":\"Cookie-, Tracking-, Web-Storage- und Drittanbieter-Hinweise mit der tatsächlichen Technik aus dem Scan abgleichen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche 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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "d1653b86c27041a2a7764ca2baf88a6b00d4ae0d3d173f204072ad0f279ec585",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: Cookies/Tracking in der Datenschutzerklärung nicht klar erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cookies/Tracking in der Datenschutzerklärung nicht klar erkannt*\nCookie-, Tracking-, Web-Storage- und Drittanbieter-Hinweise mit der tatsächlichen Technik aus dem Scan abgleichen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: Cookies/Tracking in der Datenschutzerklärung nicht klar erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cookies/Tracking in der Datenschutzerklärung nicht klar erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Cookie-, Tracking-, Web-Storage- und Drittanbieter-Hinweise mit der tatsächlichen Technik aus dem Scan abgleichen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Cookies/Tracking in der Datenschutzerklärung nicht klar erkannt",
                    "description": "Cookie-, Tracking-, Web-Storage- und Drittanbieter-Hinweise mit der tatsächlichen Technik aus dem Scan abgleichen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/datenschutzerklaerung-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a79aa02b83f84b4df3b234cd",
            "ticket_id": "remediation_module_privacy_consent",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] Datenschutz, Cookies & Consent",
            "description": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.",
            "idempotency_key": "sp-fix-a79aa02b83f84b4df3b234cd",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a79aa02b83f84b4df3b234cd",
                "X-SaferPage-Body-SHA256": "6ac30b4edebffb09c6eba471434973f883f4eede3891e313fc4d35ee35399ec6",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "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, 2 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 38.",
                "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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"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, 2 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 38.\",\"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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "6ac30b4edebffb09c6eba471434973f883f4eede3891e313fc4d35ee35399ec6",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: 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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: 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": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Datenschutz, Cookies & Consent",
                    "description": "Tracking, Werbung und nicht notwendige Cookies vor Zustimmung blockieren und verständlich erklären.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-92af194bf05cdb8c4df49545",
            "ticket_id": "remediation_privacy_policy_required_items_missing",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] 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-92af194bf05cdb8c4df49545",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-92af194bf05cdb8c4df49545",
                "X-SaferPage-Body-SHA256": "303427f706aab62b1afd9790a1365f87eeb8539fd8313e90b8d116313ca58010",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "303427f706aab62b1afd9790a1365f87eeb8539fd8313e90b8d116313ca58010",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: 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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: 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": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] 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/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/datenschutzerklaerung-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-12f2015c04f13d7a96fe13e6",
            "ticket_id": "remediation_privacy_policy_provider_disclosure_gap",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] Erkannte Anbieter fehlen in der Datenschutzerklärung",
            "description": "Technisch erkannte Dienste in der Datenschutzerklärung konkret mit Anbieter, Zweck, Rechtsgrundlage, Empfänger und Transferhinweis benennen.",
            "idempotency_key": "sp-fix-12f2015c04f13d7a96fe13e6",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-12f2015c04f13d7a96fe13e6",
                "X-SaferPage-Body-SHA256": "41bf0d00c41571e43ecf0ce6887b490cab5265cf173f2b694d7805695793407c",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_privacy_policy_provider_disclosure_gap",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Erkannte Anbieter fehlen in der Datenschutzerklärung",
                "evidence": "",
                "action": "Technisch erkannte Dienste in der Datenschutzerklärung konkret mit Anbieter, Zweck, Rechtsgrundlage, Empfänger und Transferhinweis benennen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_privacy_policy_provider_disclosure_gap\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Erkannte Anbieter fehlen in der Datenschutzerklärung\",\"evidence\":\"\",\"action\":\"Technisch erkannte Dienste in der Datenschutzerklärung konkret mit Anbieter, Zweck, Rechtsgrundlage, Empfänger und Transferhinweis benennen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "41bf0d00c41571e43ecf0ce6887b490cab5265cf173f2b694d7805695793407c",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: Erkannte Anbieter fehlen in der Datenschutzerklärung",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Erkannte Anbieter fehlen in der Datenschutzerklärung*\nTechnisch erkannte Dienste in der Datenschutzerklärung konkret mit Anbieter, Zweck, Rechtsgrundlage, Empfänger und Transferhinweis benennen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: Erkannte Anbieter fehlen in der Datenschutzerklärung",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Erkannte Anbieter fehlen in der Datenschutzerklärung"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Technisch erkannte Dienste in der Datenschutzerklärung konkret mit Anbieter, Zweck, Rechtsgrundlage, Empfänger und Transferhinweis benennen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Erkannte Anbieter fehlen in der Datenschutzerklärung",
                    "description": "Technisch erkannte Dienste in der Datenschutzerklärung konkret mit Anbieter, Zweck, Rechtsgrundlage, Empfänger und Transferhinweis benennen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-d40671d0bb4ccb3a996dacf3",
            "ticket_id": "remediation_missing_hsts",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] HSTS fehlt",
            "description": "Header `strict-transport-security` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-d40671d0bb4ccb3a996dacf3",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-d40671d0bb4ccb3a996dacf3",
                "X-SaferPage-Body-SHA256": "67d89b53d4af575e741524f988c617c2b07c5a8ead469f2a7326cc9eb2d8b9f1",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_missing_hsts",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "HSTS fehlt",
                "evidence": "",
                "action": "Header `strict-transport-security` setzen und nach Deployment erneut prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_missing_hsts\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"HSTS fehlt\",\"evidence\":\"\",\"action\":\"Header `strict-transport-security` setzen und nach Deployment erneut prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "67d89b53d4af575e741524f988c617c2b07c5a8ead469f2a7326cc9eb2d8b9f1",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: HSTS fehlt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*HSTS fehlt*\nHeader `strict-transport-security` setzen und nach Deployment erneut prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: HSTS fehlt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "HSTS fehlt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Header `strict-transport-security` setzen und nach Deployment erneut prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] HSTS fehlt",
                    "description": "Header `strict-transport-security` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-0d5c9d9931961b85658a910d",
            "ticket_id": "remediation_long_lived_tracking_cookie",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] Langlebige Tracking-/Marketing-Cookies",
            "description": "Cookies wie _pk_id.1.a4ea auf kurze Laufzeiten begrenzen, erst nach Einwilligung setzen und Speicherdauer konkret erklären.",
            "idempotency_key": "sp-fix-0d5c9d9931961b85658a910d",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-0d5c9d9931961b85658a910d",
                "X-SaferPage-Body-SHA256": "9340538f8d3490b1898b6fa41bb98d000a0e2d7a1f13119b29440e28373d884f",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_long_lived_tracking_cookie",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Langlebige Tracking-/Marketing-Cookies",
                "evidence": "",
                "action": "Cookies wie _pk_id.1.a4ea auf kurze Laufzeiten begrenzen, erst nach Einwilligung setzen und Speicherdauer konkret 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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_long_lived_tracking_cookie\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Langlebige Tracking-/Marketing-Cookies\",\"evidence\":\"\",\"action\":\"Cookies wie _pk_id.1.a4ea auf kurze Laufzeiten begrenzen, erst nach Einwilligung setzen und Speicherdauer konkret 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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "9340538f8d3490b1898b6fa41bb98d000a0e2d7a1f13119b29440e28373d884f",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: Langlebige Tracking-/Marketing-Cookies",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Langlebige Tracking-/Marketing-Cookies*\nCookies wie _pk_id.1.a4ea auf kurze Laufzeiten begrenzen, erst nach Einwilligung setzen und Speicherdauer konkret erklären."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: Langlebige Tracking-/Marketing-Cookies",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Langlebige Tracking-/Marketing-Cookies"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Cookies wie _pk_id.1.a4ea auf kurze Laufzeiten begrenzen, erst nach Einwilligung setzen und Speicherdauer konkret erklären."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Langlebige Tracking-/Marketing-Cookies",
                    "description": "Cookies wie _pk_id.1.a4ea auf kurze Laufzeiten begrenzen, erst nach Einwilligung setzen und Speicherdauer konkret erklären.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-fa0904d56d9a144a75513dbe",
            "ticket_id": "remediation_security_header_gap",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "IT/Security",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] Security-Header, Referrer-Policy und Browser-Schutz setzen",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-fa0904d56d9a144a75513dbe",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-fa0904d56d9a144a75513dbe",
                "X-SaferPage-Body-SHA256": "20c53ccca72b28ca1a840f8e86d6e303bba89955efddbba515f16443246b84fe",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_security_header_gap",
                "priority": "hoch",
                "severity": "critical",
                "owner": "IT/Security",
                "sla": "7 Tage",
                "title": "Security-Header, Referrer-Policy und Browser-Schutz setzen",
                "evidence": "1 von 9 wichtigen Security-Headern vorhanden, 1 korrekt bewertet. Keine Content-Security-Policy gefunden.",
                "action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/security-header-setzen",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_security_header_gap\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"IT/Security\",\"sla\":\"7 Tage\",\"title\":\"Security-Header, Referrer-Policy und Browser-Schutz setzen\",\"evidence\":\"1 von 9 wichtigen Security-Headern vorhanden, 1 korrekt bewertet. Keine Content-Security-Policy gefunden.\",\"action\":\"Befund mit Hintergrundseite einordnen und danach erneut scannen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/security-header-setzen\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "20c53ccca72b28ca1a840f8e86d6e303bba89955efddbba515f16443246b84fe",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: 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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: 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": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "IT/Security"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Security-Header, Referrer-Policy und Browser-Schutz setzen",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-7c41034995645e6b03a5a585",
            "ticket_id": "remediation_module_security_tls",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] Sicherheit, TLS & Header",
            "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.",
            "idempotency_key": "sp-fix-7c41034995645e6b03a5a585",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-7c41034995645e6b03a5a585",
                "X-SaferPage-Body-SHA256": "f7887fceb521ba9067d715954da6ed9a8bc4107d7dde41daa183e7b2a682faed",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_module_security_tls",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Sicherheit, TLS & Header",
                "evidence": "2 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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_module_security_tls\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Sicherheit, TLS & Header\",\"evidence\":\"2 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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "f7887fceb521ba9067d715954da6ed9a8bc4107d7dde41daa183e7b2a682faed",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: 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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: 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": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Sicherheit, TLS & Header",
                    "description": "HTTPS, Zertifikat, HSTS, CSP, zentrale Security-Header und externe Skriptquellen sauber konfigurieren.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-ee41992666992bf2f6931709",
            "ticket_id": "remediation_consent_preconsent_gap",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Marketing/IT",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-ee41992666992bf2f6931709",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-ee41992666992bf2f6931709",
                "X-SaferPage-Body-SHA256": "c40a53d8184c93f7aa0d4eb6a8b7dee6722a60a093a9f33b3928afb9aab77b04",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_consent_preconsent_gap",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Marketing/IT",
                "sla": "7 Tage",
                "title": "Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                "evidence": "Consent, Tracking oder Drittanbieter wirken im Erstaufruf deutlich nachbesserungsbeduerftig.",
                "action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_consent_preconsent_gap\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Marketing/IT\",\"sla\":\"7 Tage\",\"title\":\"Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren\",\"evidence\":\"Consent, Tracking oder Drittanbieter wirken im Erstaufruf deutlich nachbesserungsbeduerftig.\",\"action\":\"Befund mit Hintergrundseite einordnen und danach erneut scannen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "c40a53d8184c93f7aa0d4eb6a8b7dee6722a60a093a9f33b3928afb9aab77b04",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren*\nBefund mit Hintergrundseite einordnen und danach erneut scannen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT · Zielzeit: 7 Tage · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: 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": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Tracking, Cookies oder Drittanbieter vor Einwilligung reparieren",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-410eb01113ec635a5a78b0e2",
            "ticket_id": "remediation_pre_consent_tracking_cookies",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] Tracking-Cookies vor Einwilligung gesetzt",
            "description": "Tracking-Cookies erst nach aktiver Einwilligung setzen.",
            "idempotency_key": "sp-fix-410eb01113ec635a5a78b0e2",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-410eb01113ec635a5a78b0e2",
                "X-SaferPage-Body-SHA256": "4cb6e63db497adaaaa5159aba171032ed45f7a534a6ff052b8e85def9f0622cf",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_pre_consent_tracking_cookies",
                "priority": "hoch",
                "severity": "critical",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "7 Tage",
                "title": "Tracking-Cookies vor Einwilligung gesetzt",
                "evidence": "",
                "action": "Tracking-Cookies erst nach aktiver Einwilligung setzen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_pre_consent_tracking_cookies\",\"priority\":\"hoch\",\"severity\":\"critical\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"7 Tage\",\"title\":\"Tracking-Cookies vor Einwilligung gesetzt\",\"evidence\":\"\",\"action\":\"Tracking-Cookies erst nach aktiver Einwilligung setzen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/tracking-und-consent-reparieren\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "4cb6e63db497adaaaa5159aba171032ed45f7a534a6ff052b8e85def9f0622cf",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: Tracking-Cookies vor Einwilligung gesetzt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Tracking-Cookies vor Einwilligung gesetzt*\nTracking-Cookies erst nach aktiver Einwilligung setzen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 7 Tage · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: Tracking-Cookies vor Einwilligung gesetzt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Tracking-Cookies vor Einwilligung gesetzt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Tracking-Cookies erst nach aktiver Einwilligung setzen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Tracking-Cookies vor Einwilligung gesetzt",
                    "description": "Tracking-Cookies erst nach aktiver Einwilligung setzen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/tracking-und-consent-reparieren\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-39377efe9f40c320088513ab",
            "ticket_id": "remediation_missing_x_frame_options",
            "channel": "jira_slack_webhook",
            "priority": "hoch",
            "severity": "critical",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "7 Tage",
            "summary": "[cityparkingzuerich.ch] X-Frame-Options fehlt",
            "description": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-39377efe9f40c320088513ab",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-39377efe9f40c320088513ab",
                "X-SaferPage-Body-SHA256": "33613c715ac4736a24aab2465cff3dddf1f976f6d66a435a45b11dff89fdd53a",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "33613c715ac4736a24aab2465cff3dddf1f976f6d66a435a45b11dff89fdd53a",
            "slack_payload": {
                "text": "[HOCH] cityparkingzuerich.ch: 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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[HOCH] cityparkingzuerich.ch: 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": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "7 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] X-Frame-Options fehlt",
                    "description": "Header `x-frame-options` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "hoch"
                    ],
                    "priority": {
                        "name": "High"
                    }
                }
            }
        },
        {
            "id": "sp-fix-5cd7285149e19cf5633e7339",
            "ticket_id": "remediation_module_accessibility_usability",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[cityparkingzuerich.ch] Barrierefreiheit & Usability",
            "description": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.",
            "idempotency_key": "sp-fix-5cd7285149e19cf5633e7339",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-5cd7285149e19cf5633e7339",
                "X-SaferPage-Body-SHA256": "05306e2396d2087764d32aaf11d9c7d66881a7a729de7589c3736bf73a25bf54",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_module_accessibility_usability",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Barrierefreiheit & Usability",
                "evidence": "12 Bild(er) ohne alt, 0 Formularfeld(er) ohne Beschriftung, 0 Button(s) ohne Namen.",
                "action": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_module_accessibility_usability\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Barrierefreiheit & Usability\",\"evidence\":\"12 Bild(er) ohne alt, 0 Formularfeld(er) ohne Beschriftung, 0 Button(s) ohne Namen.\",\"action\":\"Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "05306e2396d2087764d32aaf11d9c7d66881a7a729de7589c3736bf73a25bf54",
            "slack_payload": {
                "text": "[MITTEL] cityparkingzuerich.ch: Barrierefreiheit & Usability",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Barrierefreiheit & Usability*\nAlt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] cityparkingzuerich.ch: Barrierefreiheit & Usability",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Barrierefreiheit & Usability"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Barrierefreiheit & Usability",
                    "description": "Alt-Texte, Formularlabels, Button-Namen, lang-Attribut und Überschriftenstruktur für Nutzer und Screenreader prüfen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-80e40f65a450d6b6c7308de0",
            "ticket_id": "remediation_module_browser_evidence",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[cityparkingzuerich.ch] Browser-Nachweis",
            "description": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.",
            "idempotency_key": "sp-fix-80e40f65a450d6b6c7308de0",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-80e40f65a450d6b6c7308de0",
                "X-SaferPage-Body-SHA256": "ea2b71175c9401334726f14ab7f0255317256148692e032142cbceed72a02245",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_module_browser_evidence",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Browser-Nachweis",
                "evidence": "53 Request(s), 1 Drittanbieter-Domain(s), davon 0 datenschutzrelevant, 2 Browser-Cookie(s), Transfer-Prüfbedarf: 0, Referrer-/URL-Leaks: 0, Fingerprinting-/Replay-Hinweise: 0.",
                "action": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_module_browser_evidence\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Browser-Nachweis\",\"evidence\":\"53 Request(s), 1 Drittanbieter-Domain(s), davon 0 datenschutzrelevant, 2 Browser-Cookie(s), Transfer-Prüfbedarf: 0, Referrer-/URL-Leaks: 0, Fingerprinting-/Replay-Hinweise: 0.\",\"action\":\"Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "ea2b71175c9401334726f14ab7f0255317256148692e032142cbceed72a02245",
            "slack_payload": {
                "text": "[MITTEL] cityparkingzuerich.ch: Browser-Nachweis",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Browser-Nachweis*\nUnnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] cityparkingzuerich.ch: Browser-Nachweis",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Browser-Nachweis"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Browser-Nachweis",
                    "description": "Unnötige Drittanbieter reduzieren und die verbleibenden Kontakte in Datenschutz und Consent abbilden.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-d3d5ca84e2bede498b02455d",
            "ticket_id": "remediation_accessibility_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "UX/IT",
            "sla": "30 Tage",
            "summary": "[cityparkingzuerich.ch] Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-d3d5ca84e2bede498b02455d",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-d3d5ca84e2bede498b02455d",
                "X-SaferPage-Body-SHA256": "ee67aee6b94fbabb2eae55d493323fd3422f672c239f98f00f0521f944875cd0",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_accessibility_gap",
                "priority": "mittel",
                "severity": "warning",
                "owner": "UX/IT",
                "sla": "30 Tage",
                "title": "Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
                "evidence": "16 Bild(er), 0 Formularfeld(er), 7 Button(s) im passiven HTML-Sample auf Basis-Barrierefreiheit geprüft.",
                "action": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_accessibility_gap\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"UX/IT\",\"sla\":\"30 Tage\",\"title\":\"Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen\",\"evidence\":\"16 Bild(er), 0 Formularfeld(er), 7 Button(s) im passiven HTML-Sample auf Basis-Barrierefreiheit geprüft.\",\"action\":\"Befund mit Hintergrundseite einordnen und danach erneut scannen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "ee67aee6b94fbabb2eae55d493323fd3422f672c239f98f00f0521f944875cd0",
            "slack_payload": {
                "text": "[MITTEL] cityparkingzuerich.ch: Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen*\nBefund mit Hintergrundseite einordnen und danach erneut scannen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: UX/IT · Zielzeit: 30 Tage · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] cityparkingzuerich.ch: Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Befund mit Hintergrundseite einordnen und danach erneut scannen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "UX/IT"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Cookie-Banner, Formulare und mobile Nutzung barriereärmer machen",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-7653983c5f88d15e5befb840",
            "ticket_id": "remediation_module_cookie_inventory",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "30 Tage",
            "summary": "[cityparkingzuerich.ch] Cookie-Inventar",
            "description": "Cookie-Liste mit Zweck, Anbieter, First-/Third-Party, Secure, SameSite und Speicherdauer gegen Consent-Banner und Datenschutzerklärung abgleichen.",
            "idempotency_key": "sp-fix-7653983c5f88d15e5befb840",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-7653983c5f88d15e5befb840",
                "X-SaferPage-Body-SHA256": "c5767b2c33371e06527e5dedea75072b08b33b6f76dd48aad72952c09334d6ff",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_module_cookie_inventory",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "30 Tage",
                "title": "Cookie-Inventar",
                "evidence": "2 Cookie(s), 2 Tracking-/Werbe-Cookie(s), 0 Drittanbieter-Cookie(s), 1 langlebig, 0 sehr lang.",
                "action": "Cookie-Liste mit Zweck, Anbieter, First-/Third-Party, Secure, SameSite und Speicherdauer gegen Consent-Banner und Datenschutzerklärung abgleichen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche 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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_module_cookie_inventory\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Cookie-Inventar\",\"evidence\":\"2 Cookie(s), 2 Tracking-/Werbe-Cookie(s), 0 Drittanbieter-Cookie(s), 1 langlebig, 0 sehr lang.\",\"action\":\"Cookie-Liste mit Zweck, Anbieter, First-/Third-Party, Secure, SameSite und Speicherdauer gegen Consent-Banner und Datenschutzerklärung abgleichen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche 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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "c5767b2c33371e06527e5dedea75072b08b33b6f76dd48aad72952c09334d6ff",
            "slack_payload": {
                "text": "[MITTEL] cityparkingzuerich.ch: Cookie-Inventar",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cookie-Inventar*\nCookie-Liste mit Zweck, Anbieter, First-/Third-Party, Secure, SameSite und Speicherdauer gegen Consent-Banner und Datenschutzerklärung abgleichen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] cityparkingzuerich.ch: Cookie-Inventar",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cookie-Inventar"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Cookie-Liste mit Zweck, Anbieter, First-/Third-Party, Secure, SameSite und Speicherdauer gegen Consent-Banner und Datenschutzerklärung abgleichen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Cookie-Inventar",
                    "description": "Cookie-Liste mit Zweck, Anbieter, First-/Third-Party, Secure, SameSite und Speicherdauer gegen Consent-Banner und Datenschutzerklärung abgleichen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-923a2f8d367767feb415df7c",
            "ticket_id": "remediation_cookie_inventory_gap",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[cityparkingzuerich.ch] Cookie-Laufzeiten, Zwecke und Consent-Zustand klären",
            "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.",
            "idempotency_key": "sp-fix-923a2f8d367767feb415df7c",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-923a2f8d367767feb415df7c",
                "X-SaferPage-Body-SHA256": "027b0ab4d3c5ed672aeeaa4154b5d8ba8dfe65ec19b6d70324b7ce12ca250a1f",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_cookie_inventory_gap",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "Cookie-Laufzeiten, Zwecke und Consent-Zustand klären",
                "evidence": "2 Cookie(s) inventarisiert: 2 Tracking-/Werbe-Cookie(s), 0 Drittanbieter-Cookie(s), 1 langlebige Cookie(s), 0 sehr lange Laufzeit(en).",
                "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/cookie-laufzeiten-und-zwecke-pruefen",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_cookie_inventory_gap\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"Cookie-Laufzeiten, Zwecke und Consent-Zustand klären\",\"evidence\":\"2 Cookie(s) inventarisiert: 2 Tracking-/Werbe-Cookie(s), 0 Drittanbieter-Cookie(s), 1 langlebige Cookie(s), 0 sehr lange Laufzeit(en).\",\"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/cookie-laufzeiten-und-zwecke-pruefen\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "027b0ab4d3c5ed672aeeaa4154b5d8ba8dfe65ec19b6d70324b7ce12ca250a1f",
            "slack_payload": {
                "text": "[MITTEL] cityparkingzuerich.ch: Cookie-Laufzeiten, Zwecke und Consent-Zustand klären",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Cookie-Laufzeiten, Zwecke und Consent-Zustand klären*\nBefund mit Hintergrundseite einordnen und danach erneut scannen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] cityparkingzuerich.ch: Cookie-Laufzeiten, Zwecke und Consent-Zustand klären",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Cookie-Laufzeiten, Zwecke und Consent-Zustand klären"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Befund mit Hintergrundseite einordnen und danach erneut scannen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Cookie-Laufzeiten, Zwecke und Consent-Zustand klären",
                    "description": "Befund mit Hintergrundseite einordnen und danach erneut scannen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-96b44319562d92761ab3607e",
            "ticket_id": "mapping_cookie__pk_id.1.a4ea",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[cityparkingzuerich.ch] _pk_id.1.a4ea",
            "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
            "idempotency_key": "sp-fix-96b44319562d92761ab3607e",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-96b44319562d92761ab3607e",
                "X-SaferPage-Body-SHA256": "9e658ea9ff4e18f167ed5a5044a157db7334b6c18cd9fa68d93e11474be800a5",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "mapping_cookie__pk_id.1.a4ea",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "_pk_id.1.a4ea",
                "evidence": "cityparkingzuerich.ch",
                "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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"mapping_cookie__pk_id.1.a4ea\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"_pk_id.1.a4ea\",\"evidence\":\"cityparkingzuerich.ch\",\"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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "9e658ea9ff4e18f167ed5a5044a157db7334b6c18cd9fa68d93e11474be800a5",
            "slack_payload": {
                "text": "[MITTEL] cityparkingzuerich.ch: _pk_id.1.a4ea",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*_pk_id.1.a4ea*\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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] cityparkingzuerich.ch: _pk_id.1.a4ea",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "_pk_id.1.a4ea"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] _pk_id.1.a4ea",
                    "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.\n\nNachweis: https://saferpage.de/cookies/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-696e0046c00660cb9d2e3f7c",
            "ticket_id": "mapping_cookie__pk_ses.1.a4ea",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[cityparkingzuerich.ch] _pk_ses.1.a4ea",
            "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.",
            "idempotency_key": "sp-fix-696e0046c00660cb9d2e3f7c",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-696e0046c00660cb9d2e3f7c",
                "X-SaferPage-Body-SHA256": "81f3efc6921e9e1c8059e9fcc0a1e0adfa89474a9a6191a712e2a92fbebfc3d2",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "mapping_cookie__pk_ses.1.a4ea",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "_pk_ses.1.a4ea",
                "evidence": "cityparkingzuerich.ch",
                "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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"mapping_cookie__pk_ses.1.a4ea\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"_pk_ses.1.a4ea\",\"evidence\":\"cityparkingzuerich.ch\",\"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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "81f3efc6921e9e1c8059e9fcc0a1e0adfa89474a9a6191a712e2a92fbebfc3d2",
            "slack_payload": {
                "text": "[MITTEL] cityparkingzuerich.ch: _pk_ses.1.a4ea",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*_pk_ses.1.a4ea*\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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] cityparkingzuerich.ch: _pk_ses.1.a4ea",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "_pk_ses.1.a4ea"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] _pk_ses.1.a4ea",
                    "description": "Zweck, Laufzeit, Anbieter und Consent-Erfordernis in Cookie-Erklärung und CMP pflegen.\n\nNachweis: https://saferpage.de/cookies/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/cookie-laufzeiten-und-zwecke-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-2109487e5a8fe98a8cb596e2",
            "ticket_id": "mapping_vendor_openholidaysapi.org",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[cityparkingzuerich.ch] openholidaysapi.org",
            "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
            "idempotency_key": "sp-fix-2109487e5a8fe98a8cb596e2",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-2109487e5a8fe98a8cb596e2",
                "X-SaferPage-Body-SHA256": "75c4013928ee9b1e7ef670c38bbfeed3b028fb1cf7f8c906dc8c782b32f35a19",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "mapping_vendor_openholidaysapi.org",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "openholidaysapi.org",
                "evidence": "Sonstige",
                "action": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren",
                    "evidence": "https://saferpage.de/anbieter/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"mapping_vendor_openholidaysapi.org\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"openholidaysapi.org\",\"evidence\":\"Sonstige\",\"action\":\"Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\",\"evidence\":\"https://saferpage.de/anbieter/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "75c4013928ee9b1e7ef670c38bbfeed3b028fb1cf7f8c906dc8c782b32f35a19",
            "slack_payload": {
                "text": "[MITTEL] cityparkingzuerich.ch: openholidaysapi.org",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*openholidaysapi.org*\nZweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] cityparkingzuerich.ch: openholidaysapi.org",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "openholidaysapi.org"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] openholidaysapi.org",
                    "description": "Zweck, Rolle, AVV/DPA, Region, Transfer und Consent-Kategorie bestätigen.\n\nNachweis: https://saferpage.de/anbieter/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/drittanbieter-datenschutz-erklaeren\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-d87e405d01c9bb19466f8ecd",
            "ticket_id": "mapping_request_openholidaysapi.org",
            "channel": "jira_webhook",
            "priority": "mittel",
            "severity": "warning",
            "owner": "Marketing/IT/Datenschutz",
            "sla": "30 Tage",
            "summary": "[cityparkingzuerich.ch] openholidaysapi.org",
            "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
            "idempotency_key": "sp-fix-d87e405d01c9bb19466f8ecd",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-d87e405d01c9bb19466f8ecd",
                "X-SaferPage-Body-SHA256": "ac42557e83d83aad094e87217c852301d4adde922e62e5f436c24a01d10025ab",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "mapping_request_openholidaysapi.org",
                "priority": "mittel",
                "severity": "warning",
                "owner": "Marketing/IT/Datenschutz",
                "sla": "30 Tage",
                "title": "openholidaysapi.org",
                "evidence": "other",
                "action": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.",
                "acceptance_criteria": [
                    "Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.",
                    "Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.",
                    "Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen",
                    "evidence": "https://saferpage.de/anbieter/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"mapping_request_openholidaysapi.org\",\"priority\":\"mittel\",\"severity\":\"warning\",\"owner\":\"Marketing/IT/Datenschutz\",\"sla\":\"30 Tage\",\"title\":\"openholidaysapi.org\",\"evidence\":\"other\",\"action\":\"Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\",\"acceptance_criteria\":[\"Dienst ist einer Servicekarte mit Anbieter, Zweck und Kategorie zugeordnet.\",\"Consent-Banner, Datenschutzhinweis und Anbieterregister verwenden dieselbe Bezeichnung.\",\"Re-Scan zeigt keine unbekannte oder ungeklärte Tracking-Auslösung.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\",\"evidence\":\"https://saferpage.de/anbieter/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "ac42557e83d83aad094e87217c852301d4adde922e62e5f436c24a01d10025ab",
            "slack_payload": {
                "text": "[MITTEL] cityparkingzuerich.ch: openholidaysapi.org",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*openholidaysapi.org*\nRequest einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Marketing/IT/Datenschutz · Zielzeit: 30 Tage · https://saferpage.de/anbieter/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[MITTEL] cityparkingzuerich.ch: openholidaysapi.org",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "openholidaysapi.org"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Marketing/IT/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "30 Tage"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] openholidaysapi.org",
                    "description": "Request einem Dienst, Zweck und Consent-Zustand zuordnen oder blockieren.\n\nNachweis: https://saferpage.de/anbieter/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/servicekarte-und-anbieterinventar-aufbauen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "mittel"
                    ],
                    "priority": {
                        "name": "Medium"
                    }
                }
            }
        },
        {
            "id": "sp-fix-06e41fae7d8051ef9a330a2d",
            "ticket_id": "remediation_unknown_vendor_jurisdiction",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[cityparkingzuerich.ch] Anbieter-Jurisdiktion nicht klar ableitbar",
            "description": "Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren.",
            "idempotency_key": "sp-fix-06e41fae7d8051ef9a330a2d",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-06e41fae7d8051ef9a330a2d",
                "X-SaferPage-Body-SHA256": "6987a7985c57d71ed35b7561d21c0553e4826431fa7b4f3029a4eed85d2727f4",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_unknown_vendor_jurisdiction",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Anbieter-Jurisdiktion nicht klar ableitbar",
                "evidence": "",
                "action": "Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/drittlandtransfer-und-anbieter-pruefen",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_unknown_vendor_jurisdiction\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Anbieter-Jurisdiktion nicht klar ableitbar\",\"evidence\":\"\",\"action\":\"Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/drittlandtransfer-und-anbieter-pruefen\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "6987a7985c57d71ed35b7561d21c0553e4826431fa7b4f3029a4eed85d2727f4",
            "slack_payload": {
                "text": "[NIEDRIG] cityparkingzuerich.ch: Anbieter-Jurisdiktion nicht klar ableitbar",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Anbieter-Jurisdiktion nicht klar ableitbar*\nUnklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] cityparkingzuerich.ch: Anbieter-Jurisdiktion nicht klar ableitbar",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Anbieter-Jurisdiktion nicht klar ableitbar"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Anbieter-Jurisdiktion nicht klar ableitbar",
                    "description": "Unklare Drittanbieter in Anbieterinventar, AVV-Prozess und Datenschutzerklärung nachrecherchieren.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/drittlandtransfer-und-anbieter-pruefen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-328fde23565e3c6c4da57d15",
            "ticket_id": "remediation_image_alt_missing",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[cityparkingzuerich.ch] Bilder ohne Alternativtext",
            "description": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.",
            "idempotency_key": "sp-fix-328fde23565e3c6c4da57d15",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-328fde23565e3c6c4da57d15",
                "X-SaferPage-Body-SHA256": "8c3607c64161944009586e763de0dd1371f241074880d09d0cd77a84f66bfcb9",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_image_alt_missing",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Bilder ohne Alternativtext",
                "evidence": "",
                "action": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_image_alt_missing\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Bilder ohne Alternativtext\",\"evidence\":\"\",\"action\":\"Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "8c3607c64161944009586e763de0dd1371f241074880d09d0cd77a84f66bfcb9",
            "slack_payload": {
                "text": "[NIEDRIG] cityparkingzuerich.ch: Bilder ohne Alternativtext",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Bilder ohne Alternativtext*\nInhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] cityparkingzuerich.ch: Bilder ohne Alternativtext",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Bilder ohne Alternativtext"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Bilder ohne Alternativtext",
                    "description": "Inhaltliche Bilder mit alt-Text versehen; dekorative Bilder mit leerem alt oder aria-hidden kennzeichnen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/barrierefreiheit-cookie-banner-formulare\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-ffcd7282b5bb0e47d98d7f6f",
            "ticket_id": "remediation_missing_cross_origin_embedder_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[cityparkingzuerich.ch] Cross-Origin-Embedder-Policy fehlt",
            "description": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-ffcd7282b5bb0e47d98d7f6f",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-ffcd7282b5bb0e47d98d7f6f",
                "X-SaferPage-Body-SHA256": "36159f4d6054211e98bce41755d1fc0e94d1bd6a08a7064c1dd5ea59f5020cbe",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "36159f4d6054211e98bce41755d1fc0e94d1bd6a08a7064c1dd5ea59f5020cbe",
            "slack_payload": {
                "text": "[NIEDRIG] cityparkingzuerich.ch: 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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] cityparkingzuerich.ch: 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": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Cross-Origin-Embedder-Policy fehlt",
                    "description": "Header `cross-origin-embedder-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-b9c296728a8ee3adc6d5ea1c",
            "ticket_id": "remediation_missing_cross_origin_opener_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[cityparkingzuerich.ch] Cross-Origin-Opener-Policy fehlt",
            "description": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-b9c296728a8ee3adc6d5ea1c",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-b9c296728a8ee3adc6d5ea1c",
                "X-SaferPage-Body-SHA256": "4bd81e0d6e1f3c15127b6b646990fbdb166d8219549f97213061c7c72525ac1b",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "4bd81e0d6e1f3c15127b6b646990fbdb166d8219549f97213061c7c72525ac1b",
            "slack_payload": {
                "text": "[NIEDRIG] cityparkingzuerich.ch: 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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] cityparkingzuerich.ch: 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": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Cross-Origin-Opener-Policy fehlt",
                    "description": "Header `cross-origin-opener-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-8c39ae65e65b940be333f499",
            "ticket_id": "remediation_missing_cross_origin_resource_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[cityparkingzuerich.ch] Cross-Origin-Resource-Policy fehlt",
            "description": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-8c39ae65e65b940be333f499",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-8c39ae65e65b940be333f499",
                "X-SaferPage-Body-SHA256": "86530907cd7a43d64f3b6c00952ed0b4386a664f29fc8350627a14d8df34679a",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "86530907cd7a43d64f3b6c00952ed0b4386a664f29fc8350627a14d8df34679a",
            "slack_payload": {
                "text": "[NIEDRIG] cityparkingzuerich.ch: 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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] cityparkingzuerich.ch: 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": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Cross-Origin-Resource-Policy fehlt",
                    "description": "Header `cross-origin-resource-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-4af5fc9cfa1994b15de7b477",
            "ticket_id": "remediation_privacy_policy_dpo_contact_missing",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[cityparkingzuerich.ch] Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
            "description": "Nennen Sie einen Datenschutzkontakt oder erklären Sie nachvollziehbar, wie Datenschutzanfragen gestellt werden können.",
            "idempotency_key": "sp-fix-4af5fc9cfa1994b15de7b477",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-4af5fc9cfa1994b15de7b477",
                "X-SaferPage-Body-SHA256": "0db2530fb14957c1531ae2fccd47e57d88f472144d2b6ca124d94ac5053f2a4e",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_privacy_policy_dpo_contact_missing",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
                "evidence": "",
                "action": "Nennen Sie einen Datenschutzkontakt oder erklären Sie nachvollziehbar, wie Datenschutzanfragen gestellt werden können.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/datenschutzerklaerung-verbessern",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_privacy_policy_dpo_contact_missing\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt\",\"evidence\":\"\",\"action\":\"Nennen Sie einen Datenschutzkontakt oder erklären Sie nachvollziehbar, wie Datenschutzanfragen gestellt werden können.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/datenschutzerklaerung-verbessern\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "0db2530fb14957c1531ae2fccd47e57d88f472144d2b6ca124d94ac5053f2a4e",
            "slack_payload": {
                "text": "[NIEDRIG] cityparkingzuerich.ch: Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt*\nNennen Sie einen Datenschutzkontakt oder erklären Sie nachvollziehbar, wie Datenschutzanfragen gestellt werden können."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] cityparkingzuerich.ch: Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Nennen Sie einen Datenschutzkontakt oder erklären Sie nachvollziehbar, wie Datenschutzanfragen gestellt werden können."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Datenschutzkontakt oder DPO-Hinweis nicht klar erkannt",
                    "description": "Nennen Sie einen Datenschutzkontakt oder erklären Sie nachvollziehbar, wie Datenschutzanfragen gestellt werden können.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/datenschutzerklaerung-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-a4f7ce841fea17c4019f54d6",
            "ticket_id": "remediation_pii_sensitive_link_query",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[cityparkingzuerich.ch] Links mit sensiblen Query-Parametern erkannt",
            "description": "Sensible Parameter aus Links entfernen oder durch serverseitige, kurzlebige Zustände ersetzen.",
            "idempotency_key": "sp-fix-a4f7ce841fea17c4019f54d6",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-a4f7ce841fea17c4019f54d6",
                "X-SaferPage-Body-SHA256": "8c8bddf2e65cfaeffa468238f4536bd46d2e0a64aa7db7bd7a03193710c8d249",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_pii_sensitive_link_query",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Links mit sensiblen Query-Parametern erkannt",
                "evidence": "",
                "action": "Sensible Parameter aus Links entfernen oder durch serverseitige, kurzlebige Zustände ersetzen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/pii-und-url-datenlecks-vermeiden",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_pii_sensitive_link_query\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Links mit sensiblen Query-Parametern erkannt\",\"evidence\":\"\",\"action\":\"Sensible Parameter aus Links entfernen oder durch serverseitige, kurzlebige Zustände ersetzen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/pii-und-url-datenlecks-vermeiden\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "8c8bddf2e65cfaeffa468238f4536bd46d2e0a64aa7db7bd7a03193710c8d249",
            "slack_payload": {
                "text": "[NIEDRIG] cityparkingzuerich.ch: Links mit sensiblen Query-Parametern erkannt",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Links mit sensiblen Query-Parametern erkannt*\nSensible Parameter aus Links entfernen oder durch serverseitige, kurzlebige Zustände ersetzen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] cityparkingzuerich.ch: Links mit sensiblen Query-Parametern erkannt",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Links mit sensiblen Query-Parametern erkannt"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Sensible Parameter aus Links entfernen oder durch serverseitige, kurzlebige Zustände ersetzen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Links mit sensiblen Query-Parametern erkannt",
                    "description": "Sensible Parameter aus Links entfernen oder durch serverseitige, kurzlebige Zustände ersetzen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/pii-und-url-datenlecks-vermeiden\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-e463bf0fd0e4188a3f2428a3",
            "ticket_id": "remediation_missing_permissions_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[cityparkingzuerich.ch] Permissions-Policy fehlt",
            "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-e463bf0fd0e4188a3f2428a3",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-e463bf0fd0e4188a3f2428a3",
                "X-SaferPage-Body-SHA256": "1a0e573443d195be395d3ca6186f66468c85af3bf24ffc99f77e904ec4e0e574",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "1a0e573443d195be395d3ca6186f66468c85af3bf24ffc99f77e904ec4e0e574",
            "slack_payload": {
                "text": "[NIEDRIG] cityparkingzuerich.ch: 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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] cityparkingzuerich.ch: 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": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Permissions-Policy fehlt",
                    "description": "Header `permissions-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-29208aa33c95f4af35aac1c6",
            "ticket_id": "remediation_missing_referrer_policy",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[cityparkingzuerich.ch] Referrer-Policy fehlt",
            "description": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.",
            "idempotency_key": "sp-fix-29208aa33c95f4af35aac1c6",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-29208aa33c95f4af35aac1c6",
                "X-SaferPage-Body-SHA256": "88a36f6aed9e5edb80781933bed766531777c10c2ddb1f7a8f85061f66cfb7c1",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "88a36f6aed9e5edb80781933bed766531777c10c2ddb1f7a8f85061f66cfb7c1",
            "slack_payload": {
                "text": "[NIEDRIG] cityparkingzuerich.ch: 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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] cityparkingzuerich.ch: 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": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Referrer-Policy fehlt",
                    "description": "Header `referrer-policy` setzen und nach Deployment erneut prüfen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/security-header-setzen\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-858541e07e804d6205b0818e",
            "ticket_id": "remediation_privacy_policy_update_date_missing",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[cityparkingzuerich.ch] Stand der Datenschutzerklärung nicht klar erkennbar",
            "description": "Ergänzen Sie ein gut sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach technischen Änderungen.",
            "idempotency_key": "sp-fix-858541e07e804d6205b0818e",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-858541e07e804d6205b0818e",
                "X-SaferPage-Body-SHA256": "9dc0255456ca3659f182f6a3de41f9aafd309342c6a7d5e82a931e85fc373886",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "ticket_id": "remediation_privacy_policy_update_date_missing",
                "priority": "niedrig",
                "severity": "info",
                "owner": "Website-Betrieb/Datenschutz",
                "sla": "quartalsweise",
                "title": "Stand der Datenschutzerklärung nicht klar erkennbar",
                "evidence": "",
                "action": "Ergänzen Sie ein gut sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach technischen Änderungen.",
                "acceptance_criteria": [
                    "Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.",
                    "Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.",
                    "Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe."
                ],
                "links": {
                    "guide": "https://saferpage.de/guides/datenschutzerklaerung-verbessern",
                    "evidence": "https://saferpage.de/befunde/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"ticket_id\":\"remediation_privacy_policy_update_date_missing\",\"priority\":\"niedrig\",\"severity\":\"info\",\"owner\":\"Website-Betrieb/Datenschutz\",\"sla\":\"quartalsweise\",\"title\":\"Stand der Datenschutzerklärung nicht klar erkennbar\",\"evidence\":\"\",\"action\":\"Ergänzen Sie ein gut sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach technischen Änderungen.\",\"acceptance_criteria\":[\"Der konkrete SaferPage-Befund ist im Re-Scan behoben oder nachvollziehbar herabgestuft.\",\"Datenschutzhinweis, Consent-Oberfläche und beobachtete Technik widersprechen sich nicht mehr.\",\"Exportpaket enthält Scan-ID, Zeitstempel, betroffene Tabellen und Betreiber-Freigabe.\"],\"links\":{\"guide\":\"https://saferpage.de/guides/datenschutzerklaerung-verbessern\",\"evidence\":\"https://saferpage.de/befunde/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "9dc0255456ca3659f182f6a3de41f9aafd309342c6a7d5e82a931e85fc373886",
            "slack_payload": {
                "text": "[NIEDRIG] cityparkingzuerich.ch: Stand der Datenschutzerklärung nicht klar erkennbar",
                "blocks": [
                    {
                        "type": "section",
                        "text": {
                            "type": "mrkdwn",
                            "text": "*Stand der Datenschutzerklärung nicht klar erkennbar*\nErgänzen Sie ein gut sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach technischen Änderungen."
                        }
                    },
                    {
                        "type": "context",
                        "elements": [
                            {
                                "type": "mrkdwn",
                                "text": "Verantwortlich: Website-Betrieb/Datenschutz · Zielzeit: quartalsweise · https://saferpage.de/befunde/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] cityparkingzuerich.ch: Stand der Datenschutzerklärung nicht klar erkennbar",
                "attachments": [
                    {
                        "contentType": "application/vnd.microsoft.card.adaptive",
                        "content": {
                            "type": "AdaptiveCard",
                            "version": "1.4",
                            "body": [
                                {
                                    "type": "TextBlock",
                                    "weight": "Bolder",
                                    "text": "Stand der Datenschutzerklärung nicht klar erkennbar"
                                },
                                {
                                    "type": "TextBlock",
                                    "wrap": true,
                                    "text": "Ergänzen Sie ein gut sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach technischen Änderungen."
                                },
                                {
                                    "type": "FactSet",
                                    "facts": [
                                        {
                                            "title": "Domain",
                                            "value": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Stand der Datenschutzerklärung nicht klar erkennbar",
                    "description": "Ergänzen Sie ein gut sichtbares Stand- oder Aktualisierungsdatum und prüfen Sie die Erklärung nach technischen Änderungen.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/datenschutzerklaerung-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        },
        {
            "id": "sp-fix-b404c47523719d46a7daca46",
            "ticket_id": "remediation_too_many_render_blocking_assets",
            "channel": "jira_webhook",
            "priority": "niedrig",
            "severity": "info",
            "owner": "Website-Betrieb/Datenschutz",
            "sla": "quartalsweise",
            "summary": "[cityparkingzuerich.ch] Viele potenziell blockierende Assets",
            "description": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.",
            "idempotency_key": "sp-fix-b404c47523719d46a7daca46",
            "headers": {
                "X-SaferPage-Event": "operator.remediation.ticket_ready",
                "X-SaferPage-Schema": "operator-remediation-ticket-delivery.v1",
                "X-SaferPage-Idempotency-Key": "sp-fix-b404c47523719d46a7daca46",
                "X-SaferPage-Body-SHA256": "b82bab6471f12f0e2a5442e8d10c4fe638e2ff44e3ac74c43ba8bb5549d34cbf",
                "X-SaferPage-Signature": "sha256=<HMAC ueber canonical_webhook_body>"
            },
            "webhook_payload": {
                "event": "operator.remediation.ticket_ready",
                "domain": "cityparkingzuerich.ch",
                "scan_id": "d6e3358b-dc27-4c4f-b68b-62209303a320",
                "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/cityparkingzuerich.ch",
                    "rescan": "https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "report": "https://saferpage.de/cityparkingzuerich.ch",
                    "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch"
                }
            },
            "canonical_webhook_body": "{\"event\":\"operator.remediation.ticket_ready\",\"domain\":\"cityparkingzuerich.ch\",\"scan_id\":\"d6e3358b-dc27-4c4f-b68b-62209303a320\",\"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/cityparkingzuerich.ch\",\"rescan\":\"https://saferpage.de/scanbetrieb/cityparkingzuerich.ch\",\"report\":\"https://saferpage.de/cityparkingzuerich.ch\",\"fix_guides\":\"https://saferpage.de/fix-guides/cityparkingzuerich.ch\"}}",
            "canonical_body_sha256": "b82bab6471f12f0e2a5442e8d10c4fe638e2ff44e3ac74c43ba8bb5549d34cbf",
            "slack_payload": {
                "text": "[NIEDRIG] cityparkingzuerich.ch: 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/cityparkingzuerich.ch"
                            }
                        ]
                    }
                ]
            },
            "teams_payload": {
                "type": "message",
                "summary": "[NIEDRIG] cityparkingzuerich.ch: 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": "cityparkingzuerich.ch"
                                        },
                                        {
                                            "title": "Verantwortlich",
                                            "value": "Website-Betrieb/Datenschutz"
                                        },
                                        {
                                            "title": "Zielzeit",
                                            "value": "quartalsweise"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            },
            "jira_payload": {
                "fields": {
                    "summary": "[cityparkingzuerich.ch] Viele potenziell blockierende Assets",
                    "description": "Skripte/CSS bündeln, defer/async nutzen und kritisches CSS priorisieren.\n\nNachweis: https://saferpage.de/befunde/cityparkingzuerich.ch\nHintergrundseite: https://saferpage.de/guides/performance-und-mobile-usability-verbessern\nRe-Scan: https://saferpage.de/scanbetrieb/cityparkingzuerich.ch",
                    "labels": [
                        "saferpage",
                        "privacyops",
                        "remediation",
                        "niedrig"
                    ],
                    "priority": {
                        "name": "Low"
                    }
                }
            }
        }
    ],
    "links": {
        "fix_guides": "https://saferpage.de/fix-guides/cityparkingzuerich.ch",
        "tickets_json": "https://saferpage.de/fix-guides/cityparkingzuerich.ch/tickets-json",
        "json": "https://saferpage.de/fix-guides/cityparkingzuerich.ch/tickets-delivery-json",
        "csv": "https://saferpage.de/fix-guides/cityparkingzuerich.ch/tickets-delivery-csv"
    },
    "disclaimer": "Payload-Vorlagen ohne aktive Zustellung und ohne echte Secrets. Betreiber muessen Zielsysteme, Authentifizierung, HMAC-Secret, Projekte, Empfaenger und Freigaben selbst konfigurieren."
}
