{
    "schema": "https://saferpage.de/schemas/monitoring-alert-dispatch-runner.v1",
    "generated_at": "2026-06-09T20:58:41+00:00",
    "available": true,
    "health": "dry_run_ready",
    "summary": "Alert-Dispatch-Runner: 20 Domain(s) geprüft, 16 zustellbare Outbox-Einträge, 0 gesendet, 52 blockiert, 0 Fehler.",
    "metrics": {
        "evaluated_count": 20,
        "deliverable_count": 16,
        "sent_count": 0,
        "blocked_count": 52,
        "error_count": 0,
        "no_alert_count": 0,
        "channel_count": 4,
        "configured_channel_count": 1,
        "signed_channel_count": 0,
        "outbox_count": 64,
        "external_send_attempt_count": 0,
        "local_file_sink_attempt_count": 0,
        "dry_run_queued_count": 16,
        "credential_reference_count": 6,
        "configured_credential_reference_count": 0
    },
    "run_policy": {
        "base_url": "http://127.0.0.1",
        "recent_limit": 80,
        "max_hosts": 20,
        "timeout_seconds": 20,
        "execute_ready": true,
        "dispatch_approved": false,
        "external_delivery_only_if": "--execute-ready was passed, SAFERPAGE_ALERT_DISPATCH_APPROVED=yes and the channel target is configured",
        "external_send_attempt_count": 0,
        "local_file_sink_attempt_count": 0,
        "dry_run_queued_count": 16,
        "local_file_sink_policy": "Writes sanitized JSONL summary rows only when dispatch is approved and --execute-ready is passed.",
        "no_secret_export": true
    },
    "credential_manifest": {
        "reference_count": 6,
        "present_reference_count": 0,
        "external_native_target_ready": false,
        "dispatch_approved": false,
        "secret_policy": "Only env_ref and present flags are exported; never secret values, webhook URLs, recipients, target URLs or raw payloads.",
        "references": [
            {
                "id": "dispatch_approval",
                "env_ref": "SAFERPAGE_ALERT_DISPATCH_APPROVED",
                "present": false,
                "required_for_external_delivery": true,
                "purpose": "Explicit approval gate for productive alert delivery."
            },
            {
                "id": "generic_webhook_url",
                "env_ref": "SAFERPAGE_WEBHOOK_URL",
                "present": false,
                "required_for_external_delivery": false,
                "purpose": "Generic operator webhook target."
            },
            {
                "id": "generic_webhook_secret",
                "env_ref": "SAFERPAGE_WEBHOOK_SECRET",
                "present": false,
                "required_for_signed_webhook": true,
                "purpose": "HMAC-SHA256 signing secret for generic webhook deliveries."
            },
            {
                "id": "slack_webhook_url",
                "env_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
                "present": false,
                "required_for_external_delivery": false,
                "purpose": "Slack incoming webhook target."
            },
            {
                "id": "teams_webhook_url",
                "env_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
                "present": false,
                "required_for_external_delivery": false,
                "purpose": "Microsoft Teams incoming webhook target."
            },
            {
                "id": "local_file_sink_path",
                "env_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
                "present": false,
                "required_for_external_delivery": false,
                "purpose": "Optional override for sanitized local JSONL audit sink; default path is used when absent."
            }
        ]
    },
    "receiver_contract": {
        "event": "monitoring.alert",
        "method": "POST",
        "content_type": "application/json; charset=utf-8",
        "required_headers": [
            "X-SaferPage-Event",
            "X-SaferPage-Domain",
            "X-SaferPage-Idempotency-Key"
        ],
        "optional_headers": [
            "X-SaferPage-Signature"
        ],
        "signature_algorithm": "HMAC-SHA256 over the compact JSON request body, formatted as sha256=<hex>.",
        "signature_header": "X-SaferPage-Signature",
        "idempotency_policy": "Receivers must deduplicate on X-SaferPage-Idempotency-Key and may compare body_sha256 for replay diagnostics.",
        "secret_policy": "Secrets, target URLs, recipients and raw payloads are never included in public runner state."
    },
    "last_run": {
        "started_at": "2026-06-09T08:46:39+00:00",
        "finished_at": "2026-06-09T08:46:40+00:00",
        "execute_ready": true,
        "dispatch_approved": false,
        "job_id": "alert-dispatch-2026-06-09T084639z0000",
        "user_agent": "SaferPageAlertDispatcher/0.1 (+https://saferpage.de/bot; scheduled privacy and security alert delivery)"
    },
    "schedule": {
        "manager": "systemd",
        "unit": "saferpage-alert-dispatch.service",
        "timer": "saferpage-alert-dispatch.timer",
        "cadence": "daily",
        "run_window": "04:05-04:20 Europe/Berlin plus RandomizedDelaySec 15min",
        "environment_file": "/etc/saferpage/alert-dispatch.env",
        "max_hosts_per_run": 50,
        "recent_limit": 300,
        "timeout_seconds": 20
    },
    "gate_policy": {
        "delivery_endpoint": "https://saferpage.de/alarme/{domain}/delivery-json",
        "execute_only_if": "--execute-ready und SAFERPAGE_ALERT_DISPATCH_APPROVED=yes aktiv sind.",
        "configured_targets": "SAFERPAGE_WEBHOOK_URL, SAFERPAGE_SLACK_WEBHOOK_URL oder SAFERPAGE_TEAMS_WEBHOOK_URL sind serverseitig gesetzt.",
        "signature_secret": "SAFERPAGE_WEBHOOK_SECRET signiert generische Webhook-Payloads, falls gesetzt.",
        "current_public_evidence": "Der letzte State zeigt Dry-run/Outbox oder blockierte Zielsysteme ohne echte Sendung."
    },
    "operations_runbook": {
        "purpose": "Betriebsnachweis fuer automatische Alert-Zustellung: Timer, Outbox, Kanäle, Freigabe, Signatur, Idempotenz und Stop-Bedingungen sind ohne Secret-Ausgabe pruefbar.",
        "systemd_checks": [
            {
                "label": "Timer sichtbar",
                "command": "systemctl list-timers saferpage-alert-dispatch.timer --no-pager",
                "expected": "NEXT, LAST und UNIT sind sichtbar; Timer ist fuer den taeglichen Lauf geplant."
            },
            {
                "label": "Service-Status",
                "command": "systemctl status saferpage-alert-dispatch.service --no-pager",
                "expected": "Type=oneshot, ExecStart zeigt run-alert-dispatch.py mit --execute-ready."
            },
            {
                "label": "Letzte Logs",
                "command": "journalctl -u saferpage-alert-dispatch.service -n 80 --no-pager",
                "expected": "Abschlusszeile done evaluated=... errors=0; keine Secret-Werte oder Webhook-URLs in Logs."
            },
            {
                "label": "Oeffentlicher State",
                "command": "curl -fsS https://saferpage.de/alarme/dispatch-runner-json",
                "expected": "JSON enthaelt metrics, channels, rows, outbox und guardrails ohne Ziel-URLs oder Secrets."
            }
        ],
        "dry_run_drill": [
            {
                "step": "Einzelne Domain ohne Versand pruefen",
                "command": "python3 scripts/run-alert-dispatch.py anrufer.info --base-url http://127.0.0.1 --max 1 --timeout 15",
                "expected": "Outbox entsteht; sent_count bleibt 0."
            },
            {
                "step": "Isolierten Dry-run-Smoke ausfuehren",
                "command": "scripts/run-alert-dispatch-dry-run-smoke.sh",
                "expected": "Schreibt nur temporaere State-Dateien, sent_count=0 und external_send_attempt_count=0."
            },
            {
                "step": "Freigabe-Gate ohne Zielsystem pruefen",
                "command": "python3 scripts/run-alert-dispatch.py anrufer.info --base-url http://127.0.0.1 --max 1 --timeout 15 --execute-ready",
                "expected": "Ohne SAFERPAGE_ALERT_DISPATCH_APPROVED=yes wird nicht gesendet."
            },
            {
                "step": "Delivery-Payload prüfen",
                "command": "curl -fsS https://saferpage.de/alarme/anrufer.info/delivery-json",
                "expected": "Payloads enthalten Idempotency-Key, Slack/Teams/Webhook/Jira/E-Mail-Vorlagen."
            }
        ],
        "go_live_sequence": [
            "Zielsysteme, Empfänger und Owner intern freigeben.",
            "Secrets und Ziel-URLs in /etc/saferpage/alert-dispatch.env setzen, nie in öffentlichen URLs oder Unit-Dateien.",
            "SAFERPAGE_ALERT_DISPATCH_APPROVED=yes erst nach Testempfänger-Dry-run setzen.",
            "Timer starten oder manuell systemctl start saferpage-alert-dispatch.service ausführen.",
            "dispatch-runner-json und Zielsystem-Logs auf Idempotency-Key, Signatur und Duplikate prüfen."
        ],
        "stop_conditions": [
            "error_count groesser 0 oder wiederholte HTTP-/TLS-/Rate-Limit-Fehler.",
            "sent_count groesser 0 ohne dokumentierte Betreiberfreigabe.",
            "Oeffentliche Exports enthalten Webhook-URLs, Tokens, E-Mail-Adressen, API-Keys oder private Rohpayloads.",
            "Zielsysteme duplizieren Tickets trotz Idempotency-Key."
        ]
    },
    "channels": [
        {
            "id": "generic_webhook",
            "label": "Generischer Webhook",
            "configured": false,
            "signed": false,
            "url_ref": "SAFERPAGE_WEBHOOK_URL",
            "secret_ref": "SAFERPAGE_WEBHOOK_SECRET"
        },
        {
            "id": "slack",
            "label": "Slack",
            "configured": false,
            "signed": false,
            "url_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "secret_ref": "provider_webhook_secret"
        },
        {
            "id": "teams",
            "label": "Microsoft Teams",
            "configured": false,
            "signed": false,
            "url_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "secret_ref": "provider_webhook_secret"
        },
        {
            "id": "local_file_sink",
            "label": "Lokaler Audit-File-Sink",
            "configured": true,
            "signed": false,
            "url_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "secret_ref": "provider_webhook_secret"
        }
    ],
    "rows": [
        {
            "host": "parodontologie-darmstadt.de",
            "checked_at": "2026-06-09T08:46:39+00:00",
            "status": "queued_dry_run",
            "alert_count": 2,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/parodontologie-darmstadt.de/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/parodontologie-darmstadt.de"
        },
        {
            "host": "thomas.ehrhardt.nl",
            "checked_at": "2026-06-09T08:46:39+00:00",
            "status": "unavailable",
            "alert_count": 0,
            "deliverable_channel_count": 0,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/thomas.ehrhardt.nl/delivery-json",
            "error": "HTTP 404: alert delivery package not available",
            "report_url": "https://saferpage.de/thomas.ehrhardt.nl"
        },
        {
            "host": "dtb.de",
            "checked_at": "2026-06-09T08:46:39+00:00",
            "status": "queued_dry_run",
            "alert_count": 3,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/dtb.de/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/dtb.de"
        },
        {
            "host": "fahrrad-buecher-karten.de",
            "checked_at": "2026-06-09T08:46:39+00:00",
            "status": "queued_dry_run",
            "alert_count": 3,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/fahrrad-buecher-karten.de/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/fahrrad-buecher-karten.de"
        },
        {
            "host": "bmvg.de",
            "checked_at": "2026-06-09T08:46:39+00:00",
            "status": "unavailable",
            "alert_count": 0,
            "deliverable_channel_count": 0,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/bmvg.de/delivery-json",
            "error": "HTTP 404: alert delivery package not available",
            "report_url": "https://saferpage.de/bmvg.de"
        },
        {
            "host": "admin.dsv.de",
            "checked_at": "2026-06-09T08:46:39+00:00",
            "status": "queued_dry_run",
            "alert_count": 3,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/admin.dsv.de/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/admin.dsv.de"
        },
        {
            "host": "dsv.de",
            "checked_at": "2026-06-09T08:46:39+00:00",
            "status": "queued_dry_run",
            "alert_count": 2,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/dsv.de/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/dsv.de"
        },
        {
            "host": "dsm-olympia.de",
            "checked_at": "2026-06-09T08:46:39+00:00",
            "status": "queued_dry_run",
            "alert_count": 2,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/dsm-olympia.de/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/dsm-olympia.de"
        },
        {
            "host": "dsg.dlrg.de",
            "checked_at": "2026-06-09T08:46:40+00:00",
            "status": "queued_dry_run",
            "alert_count": 3,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/dsg.dlrg.de/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/dsg.dlrg.de"
        },
        {
            "host": "dsj.de",
            "checked_at": "2026-06-09T08:46:40+00:00",
            "status": "queued_dry_run",
            "alert_count": 3,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/dsj.de/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/dsj.de"
        },
        {
            "host": "euromixproject.eu",
            "checked_at": "2026-06-09T08:46:40+00:00",
            "status": "unavailable",
            "alert_count": 0,
            "deliverable_channel_count": 0,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/euromixproject.eu/delivery-json",
            "error": "HTTP 404: alert delivery package not available",
            "report_url": "https://saferpage.de/euromixproject.eu"
        },
        {
            "host": "citroen.de",
            "checked_at": "2026-06-09T08:46:40+00:00",
            "status": "unavailable",
            "alert_count": 0,
            "deliverable_channel_count": 0,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/citroen.de/delivery-json",
            "error": "HTTP 404: alert delivery package not available",
            "report_url": "https://saferpage.de/citroen.de"
        },
        {
            "host": "airbnb.de",
            "checked_at": "2026-06-09T08:46:40+00:00",
            "status": "queued_dry_run",
            "alert_count": 3,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/airbnb.de/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/airbnb.de"
        },
        {
            "host": "dlrg-jugend.de",
            "checked_at": "2026-06-09T08:46:40+00:00",
            "status": "queued_dry_run",
            "alert_count": 3,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/dlrg-jugend.de/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/dlrg-jugend.de"
        },
        {
            "host": "dosb.de",
            "checked_at": "2026-06-09T08:46:40+00:00",
            "status": "queued_dry_run",
            "alert_count": 2,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/dosb.de/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/dosb.de"
        },
        {
            "host": "dlrg.de",
            "checked_at": "2026-06-09T08:46:40+00:00",
            "status": "queued_dry_run",
            "alert_count": 2,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/dlrg.de/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/dlrg.de"
        },
        {
            "host": "deine-spiele.de",
            "checked_at": "2026-06-09T08:46:40+00:00",
            "status": "queued_dry_run",
            "alert_count": 3,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/deine-spiele.de/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/deine-spiele.de"
        },
        {
            "host": "anrufer.info",
            "checked_at": "2026-06-09T08:46:40+00:00",
            "status": "queued_dry_run",
            "alert_count": 2,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/anrufer.info/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/anrufer.info"
        },
        {
            "host": "deutsches-sportabzeichen.de",
            "checked_at": "2026-06-09T08:46:40+00:00",
            "status": "queued_dry_run",
            "alert_count": 2,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/deutsches-sportabzeichen.de/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/deutsches-sportabzeichen.de"
        },
        {
            "host": "businesslocationcenter.de",
            "checked_at": "2026-06-09T08:46:40+00:00",
            "status": "queued_dry_run",
            "alert_count": 3,
            "deliverable_channel_count": 1,
            "sent_count": 0,
            "delivery_url": "https://saferpage.de/alarme/businesslocationcenter.de/delivery-json",
            "error": "",
            "report_url": "https://saferpage.de/businesslocationcenter.de"
        }
    ],
    "outbox": [
        {
            "host": "parodontologie-darmstadt.de",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-b2ee1e913fd19253e3afb760",
            "body_sha256": "48e7270f29215609eca12980cc44010142b90b39d554f89a5e663044b29e1eb4",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/parodontologie-darmstadt.de/delivery-json",
            "http_status": null
        },
        {
            "host": "parodontologie-darmstadt.de",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-b2ee1e913fd19253e3afb760",
            "body_sha256": "9ca8c93265891544dcbe140eaf79dc0778bff96ec0cb91e57e6f15ce0dcfec9a",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/parodontologie-darmstadt.de/delivery-json",
            "http_status": null
        },
        {
            "host": "parodontologie-darmstadt.de",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-b2ee1e913fd19253e3afb760",
            "body_sha256": "c3c17a3d57c79f3985b87705dcbab3d2703f3cbfd5275ea8f7db1e2094e0f29b",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/parodontologie-darmstadt.de/delivery-json",
            "http_status": null
        },
        {
            "host": "parodontologie-darmstadt.de",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 2,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-b2ee1e913fd19253e3afb760",
            "body_sha256": "48e7270f29215609eca12980cc44010142b90b39d554f89a5e663044b29e1eb4",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/parodontologie-darmstadt.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dtb.de",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-c52a43a27a8f05699e768ed0",
            "body_sha256": "660ad8e329750089362d5ed1351be87733367cb4c7fca05183451ec1acb8b8bd",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dtb.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dtb.de",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-c52a43a27a8f05699e768ed0",
            "body_sha256": "34c74317b8313123987a220e7e32335ede5ae5ffa940a02462cb4c23c5a13203",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dtb.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dtb.de",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-c52a43a27a8f05699e768ed0",
            "body_sha256": "c8c16deb00e908094bb5babf51017d34b7b47e12d1f3ce49ee75b5c2b7a3ecc6",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dtb.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dtb.de",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-c52a43a27a8f05699e768ed0",
            "body_sha256": "660ad8e329750089362d5ed1351be87733367cb4c7fca05183451ec1acb8b8bd",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/dtb.de/delivery-json",
            "http_status": null
        },
        {
            "host": "fahrrad-buecher-karten.de",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-61dd5ea201fcbea5216fa9b7",
            "body_sha256": "d186f44c3b5f5326b5065d308496fc559179d93c30a135d64bcd27a37c5d954c",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/fahrrad-buecher-karten.de/delivery-json",
            "http_status": null
        },
        {
            "host": "fahrrad-buecher-karten.de",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-61dd5ea201fcbea5216fa9b7",
            "body_sha256": "0cd0cc8e6af89f7d9ede8e5df263f6f63657fe1506b0e4557196d3c858d56f72",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/fahrrad-buecher-karten.de/delivery-json",
            "http_status": null
        },
        {
            "host": "fahrrad-buecher-karten.de",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-61dd5ea201fcbea5216fa9b7",
            "body_sha256": "5461399ad61fb5ec81bb1bf26f685bccee3f2d8de3eb525f8489d236f2e8e146",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/fahrrad-buecher-karten.de/delivery-json",
            "http_status": null
        },
        {
            "host": "fahrrad-buecher-karten.de",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-61dd5ea201fcbea5216fa9b7",
            "body_sha256": "d186f44c3b5f5326b5065d308496fc559179d93c30a135d64bcd27a37c5d954c",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/fahrrad-buecher-karten.de/delivery-json",
            "http_status": null
        },
        {
            "host": "admin.dsv.de",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-67887577cb3af2870d49e445",
            "body_sha256": "eb68fb7c19027756b28b7591fdfa6f2dbce43f511c905bd0257a9c8625bf90d6",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/admin.dsv.de/delivery-json",
            "http_status": null
        },
        {
            "host": "admin.dsv.de",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-67887577cb3af2870d49e445",
            "body_sha256": "5fedddba7cec116a53a0d05c4c86dc28cad5b4342c50b156096858ad577ccd52",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/admin.dsv.de/delivery-json",
            "http_status": null
        },
        {
            "host": "admin.dsv.de",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-67887577cb3af2870d49e445",
            "body_sha256": "7830a821cb31279e7490205ff83df8b737b3dca1c8688a56b2704da7b02d8a6a",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/admin.dsv.de/delivery-json",
            "http_status": null
        },
        {
            "host": "admin.dsv.de",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-67887577cb3af2870d49e445",
            "body_sha256": "eb68fb7c19027756b28b7591fdfa6f2dbce43f511c905bd0257a9c8625bf90d6",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/admin.dsv.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsv.de",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-8a62d9cb14b71dbee1874335",
            "body_sha256": "5f87f7783356710238eeb4e667a6849b451327e68309e225fe78fd4e1ba80a85",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dsv.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsv.de",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-8a62d9cb14b71dbee1874335",
            "body_sha256": "2a7294bf72b064a2340a0a3d1ac794fabb3a6d285cd623fd3b13223e250e1e74",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dsv.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsv.de",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-8a62d9cb14b71dbee1874335",
            "body_sha256": "bb2dd8c82fbd21d0194f7e5e874aa4981714cc6ab6eb104fc68a94343bf76e12",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dsv.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsv.de",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 2,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-8a62d9cb14b71dbee1874335",
            "body_sha256": "5f87f7783356710238eeb4e667a6849b451327e68309e225fe78fd4e1ba80a85",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/dsv.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsm-olympia.de",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-35cf1c4ca824d557ba7211c5",
            "body_sha256": "e34c601119b82463846db9c1c1cf0d712f9d7772bc78ed42e4c966d7e90546fd",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dsm-olympia.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsm-olympia.de",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-35cf1c4ca824d557ba7211c5",
            "body_sha256": "3c3f94a80eafbc264fbd2e51285e60c1c078126db416e367eeac8a0199d29360",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dsm-olympia.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsm-olympia.de",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-35cf1c4ca824d557ba7211c5",
            "body_sha256": "083034db949cdcaf64e5f7a4f1ed3b67b22dfda83e895139343889fa66fa4dc1",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dsm-olympia.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsm-olympia.de",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 2,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-35cf1c4ca824d557ba7211c5",
            "body_sha256": "e34c601119b82463846db9c1c1cf0d712f9d7772bc78ed42e4c966d7e90546fd",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/dsm-olympia.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsg.dlrg.de",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-4e38c3039fa0d6fd28731bd6",
            "body_sha256": "b9707d969592be6d78b5c5cb6b4c35e165d7ce7356ef3d8697b351e1bcedf4e8",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dsg.dlrg.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsg.dlrg.de",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-4e38c3039fa0d6fd28731bd6",
            "body_sha256": "f36fe32b6015bf74e91b3cb5551da281c524edd9d82521393826e74be805a4e6",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dsg.dlrg.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsg.dlrg.de",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-4e38c3039fa0d6fd28731bd6",
            "body_sha256": "f2a0e87b1cf64d6bd738805bcc03d07d88a96459d0857de65253872d6d1ca537",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dsg.dlrg.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsg.dlrg.de",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-4e38c3039fa0d6fd28731bd6",
            "body_sha256": "b9707d969592be6d78b5c5cb6b4c35e165d7ce7356ef3d8697b351e1bcedf4e8",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/dsg.dlrg.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsj.de",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-7cbfe8477839ab81ef7b131a",
            "body_sha256": "3afa1be4614a8e9c239bf3cbeaa2298387e27c06522c711a4a214bdacfeb85df",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dsj.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsj.de",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-7cbfe8477839ab81ef7b131a",
            "body_sha256": "44d413825f558b9fddd1e4d54e9deb0a53c28542ebc07413ee94dcad582e0588",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dsj.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsj.de",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-7cbfe8477839ab81ef7b131a",
            "body_sha256": "34c7967e3072124b17e763fbbfdc835fd26f705c32310264ea1fa45dbd55ae7e",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dsj.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dsj.de",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-7cbfe8477839ab81ef7b131a",
            "body_sha256": "3afa1be4614a8e9c239bf3cbeaa2298387e27c06522c711a4a214bdacfeb85df",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/dsj.de/delivery-json",
            "http_status": null
        },
        {
            "host": "airbnb.de",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-fc431e7698344bd9ccdf0c28",
            "body_sha256": "652c8199ea64e4ff3718d49c74a5b474085f0e6bcb9498f2f47e732f35743a54",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/airbnb.de/delivery-json",
            "http_status": null
        },
        {
            "host": "airbnb.de",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-fc431e7698344bd9ccdf0c28",
            "body_sha256": "5991b4d9e6302ab0c84986531326dfe9629a8e18081b5e6e0304af5b60b5489f",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/airbnb.de/delivery-json",
            "http_status": null
        },
        {
            "host": "airbnb.de",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-fc431e7698344bd9ccdf0c28",
            "body_sha256": "f861eb90606b4153baf17ee8e12dede6c5793a46950b8300fea257c6f384b392",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/airbnb.de/delivery-json",
            "http_status": null
        },
        {
            "host": "airbnb.de",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-fc431e7698344bd9ccdf0c28",
            "body_sha256": "652c8199ea64e4ff3718d49c74a5b474085f0e6bcb9498f2f47e732f35743a54",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/airbnb.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dlrg-jugend.de",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-0e4dad467116d04c0b9eec98",
            "body_sha256": "9024a40c8c42a06dd869caf1615d0aed79ee43b7cb85f72d7b1e8d4e2d148805",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dlrg-jugend.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dlrg-jugend.de",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-0e4dad467116d04c0b9eec98",
            "body_sha256": "824f3a65b689cc638c732ba90e4d2a03530b86bfd0b3905fc7d27239e08175ef",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dlrg-jugend.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dlrg-jugend.de",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-0e4dad467116d04c0b9eec98",
            "body_sha256": "fcafad55a9eb53e4e0bf57e85a6a8af9c9d177b8359fc1f81a199154d20cfd9c",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dlrg-jugend.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dlrg-jugend.de",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-0e4dad467116d04c0b9eec98",
            "body_sha256": "9024a40c8c42a06dd869caf1615d0aed79ee43b7cb85f72d7b1e8d4e2d148805",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/dlrg-jugend.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dosb.de",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-d3a785109f280a190b84ac6e",
            "body_sha256": "76327c3fd6cec7c1a18b3354fc67e1404ab845aac90d2b4c9894b0a85e0599c7",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dosb.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dosb.de",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-d3a785109f280a190b84ac6e",
            "body_sha256": "7e896786fa4f104fe088b26476610ee39874daf0eb3702fac13c8dfba8b96855",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dosb.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dosb.de",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-d3a785109f280a190b84ac6e",
            "body_sha256": "e16766a62e79733995505271e5d6ed2a585be6caae35f12bbadb6aa9f703e3f8",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dosb.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dosb.de",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 2,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-d3a785109f280a190b84ac6e",
            "body_sha256": "76327c3fd6cec7c1a18b3354fc67e1404ab845aac90d2b4c9894b0a85e0599c7",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/dosb.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dlrg.de",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-ab07f06dfff4c5c24b7702d3",
            "body_sha256": "d641d1233876e001c5d7c3ce4aca12c4e8acafac03bc834112a05d56211a1407",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dlrg.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dlrg.de",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-ab07f06dfff4c5c24b7702d3",
            "body_sha256": "fe5eaa229a1e89bac9528d5b6a39f0e0c486d89b02e248edcacbe26d70ed0cc8",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dlrg.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dlrg.de",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-ab07f06dfff4c5c24b7702d3",
            "body_sha256": "7fa5e95c61bb13714c165800eda07f2f30af0f2f90ee6bd8d4a6e2addba9ee21",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/dlrg.de/delivery-json",
            "http_status": null
        },
        {
            "host": "dlrg.de",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 2,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-ab07f06dfff4c5c24b7702d3",
            "body_sha256": "d641d1233876e001c5d7c3ce4aca12c4e8acafac03bc834112a05d56211a1407",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/dlrg.de/delivery-json",
            "http_status": null
        },
        {
            "host": "deine-spiele.de",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-a7c9e68f00440699f86905ad",
            "body_sha256": "1581f68c79e37a2087cb69578ce2c49f60bba614cbf6976dff17dc7cfb6c8044",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/deine-spiele.de/delivery-json",
            "http_status": null
        },
        {
            "host": "deine-spiele.de",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-a7c9e68f00440699f86905ad",
            "body_sha256": "6bc1e5b4a17c2eb82b988f172328c617248326f942466d164d49038113be05ff",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/deine-spiele.de/delivery-json",
            "http_status": null
        },
        {
            "host": "deine-spiele.de",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-a7c9e68f00440699f86905ad",
            "body_sha256": "8b018591284175f83120629e8a6618e61289050e6d539348d68b251ccb1a41c3",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/deine-spiele.de/delivery-json",
            "http_status": null
        },
        {
            "host": "deine-spiele.de",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-a7c9e68f00440699f86905ad",
            "body_sha256": "1581f68c79e37a2087cb69578ce2c49f60bba614cbf6976dff17dc7cfb6c8044",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/deine-spiele.de/delivery-json",
            "http_status": null
        },
        {
            "host": "anrufer.info",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-1c519aa587f12eb4e4f7b5b3",
            "body_sha256": "3db11fe7609476445181c9354fe9dc6ea5c8f82ccb2919da433a911c5f6f1b8e",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/anrufer.info/delivery-json",
            "http_status": null
        },
        {
            "host": "anrufer.info",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-1c519aa587f12eb4e4f7b5b3",
            "body_sha256": "1a20575e4a03e75138d0dfae7c85e2468913009e0809a48a9020b467e8c00597",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/anrufer.info/delivery-json",
            "http_status": null
        },
        {
            "host": "anrufer.info",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-1c519aa587f12eb4e4f7b5b3",
            "body_sha256": "38f07dfcef3efc5b5f10945494377f1abf068e0277b64d1798188dad3c4eabbc",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/anrufer.info/delivery-json",
            "http_status": null
        },
        {
            "host": "anrufer.info",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 2,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-1c519aa587f12eb4e4f7b5b3",
            "body_sha256": "3db11fe7609476445181c9354fe9dc6ea5c8f82ccb2919da433a911c5f6f1b8e",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/anrufer.info/delivery-json",
            "http_status": null
        },
        {
            "host": "deutsches-sportabzeichen.de",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-ba80c149bc69bdceb133bcd0",
            "body_sha256": "1dab53787317ce96c9edb05ba9724e74627d0ae11e5d80640d9d89090f805937",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/deutsches-sportabzeichen.de/delivery-json",
            "http_status": null
        },
        {
            "host": "deutsches-sportabzeichen.de",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-ba80c149bc69bdceb133bcd0",
            "body_sha256": "88b83a29e8fd85fea815db7a1e75a5cb1b2878531f781633f7841e0a1d5db09a",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/deutsches-sportabzeichen.de/delivery-json",
            "http_status": null
        },
        {
            "host": "deutsches-sportabzeichen.de",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 2,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-ba80c149bc69bdceb133bcd0",
            "body_sha256": "5e7935b6ae88c0e983ae11c836faa2e0c4b24a272c1e487ae3af093ada508ed3",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/deutsches-sportabzeichen.de/delivery-json",
            "http_status": null
        },
        {
            "host": "deutsches-sportabzeichen.de",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 2,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-ba80c149bc69bdceb133bcd0",
            "body_sha256": "1dab53787317ce96c9edb05ba9724e74627d0ae11e5d80640d9d89090f805937",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/deutsches-sportabzeichen.de/delivery-json",
            "http_status": null
        },
        {
            "host": "businesslocationcenter.de",
            "channel": "generic_webhook",
            "channel_label": "Generischer Webhook",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-b492390567a2cde65428b68e",
            "body_sha256": "89026ba16b3cd07c834d3804faca3eeba13935daeb95d0c69b1dfa9b0498afc9",
            "target_ref": "SAFERPAGE_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/businesslocationcenter.de/delivery-json",
            "http_status": null
        },
        {
            "host": "businesslocationcenter.de",
            "channel": "slack",
            "channel_label": "Slack",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-b492390567a2cde65428b68e",
            "body_sha256": "fc55a7594f20ecf50681353fcb49e476d8e9ef85c7590ed6ac6ff98d167df764",
            "target_ref": "SAFERPAGE_SLACK_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/businesslocationcenter.de/delivery-json",
            "http_status": null
        },
        {
            "host": "businesslocationcenter.de",
            "channel": "teams",
            "channel_label": "Microsoft Teams",
            "status": "blocked_missing_target",
            "sent": false,
            "configured": false,
            "signed": false,
            "alert_count": 3,
            "severity": "",
            "title": "",
            "idempotency_key": "sp-alert-b492390567a2cde65428b68e",
            "body_sha256": "6e978311cee9743f7103a2f695aa290c9de3f9439fed1ee540331c1e3d95db63",
            "target_ref": "SAFERPAGE_TEAMS_WEBHOOK_URL",
            "delivery_url": "https://saferpage.de/alarme/businesslocationcenter.de/delivery-json",
            "http_status": null
        },
        {
            "host": "businesslocationcenter.de",
            "channel": "local_file_sink",
            "channel_label": "Lokaler Audit-File-Sink",
            "status": "queued_dry_run",
            "sent": false,
            "configured": true,
            "signed": false,
            "alert_count": 3,
            "severity": "kritisch",
            "title": "Kritischer Datenschutz-/Trust-Score",
            "idempotency_key": "sp-alert-b492390567a2cde65428b68e",
            "body_sha256": "89026ba16b3cd07c834d3804faca3eeba13935daeb95d0c69b1dfa9b0498afc9",
            "target_ref": "SAFERPAGE_LOCAL_FILE_SINK_PATH",
            "delivery_url": "https://saferpage.de/alarme/businesslocationcenter.de/delivery-json",
            "http_status": null
        }
    ],
    "guardrails": [
        "No delivery is sent unless --execute-ready and SAFERPAGE_ALERT_DISPATCH_APPROVED=yes are both active.",
        "Public state shows only environment reference names, body hashes, idempotency keys and status, never target URLs or secrets.",
        "Generic webhooks are HMAC signed when SAFERPAGE_WEBHOOK_SECRET is present.",
        "Failed or missing targets remain in the public dry-run outbox for operator follow-up."
    ],
    "links": {
        "html": "https://saferpage.de/alarme/dispatch-runner",
        "json": "https://saferpage.de/alarme/dispatch-runner-json",
        "csv": "https://saferpage.de/alarme/dispatch-runner-csv",
        "markdown": "https://saferpage.de/alarme/dispatch-runner-md",
        "integrations": "https://saferpage.de/integrationen",
        "alert_example": "https://saferpage.de/alarme/anrufer.info/delivery-json",
        "bot": "https://saferpage.de/bot",
        "comparison": "https://saferpage.de/vergleich",
        "runtime_controls": "https://saferpage.de/evidence/delivery-runtime-controls.json"
    },
    "disclaimer": "Dieser Export zeigt nur Dispatch-Status, Outbox-Hashes, Env-Referenzen und öffentliche Alertlinks. Er veröffentlicht keine Webhook-URLs, API-Keys, Tokens, E-Mail-Empfänger oder privaten Rohpayloads."
}
