{
    "schema": "https://saferpage.de/schemas/security-feed-runner-state.v1",
    "generated_at": "2026-06-09T21:18:43+00:00",
    "available": true,
    "health": "gated_idle",
    "summary": "Security-Feed-Runner: 50 Domain(s) geprüft, 0 aktivierungsbereit, 0 externe Feed-Run(s), 0 Observation(s) gespeichert, 37 durch Gates blockiert, 13 ohne Reportseite, 0 technische Fehler.",
    "metrics": {
        "evaluated_count": 50,
        "ready_count": 0,
        "executed_count": 0,
        "stored_observation_count": 0,
        "external_feed_run_attempt_count": 0,
        "storage_write_attempt_count": 0,
        "credential_reference_count": 4,
        "configured_credential_reference_count": 0,
        "external_feed_connector_ready": false,
        "storage_canary_enabled": false,
        "storage_canary_stored_observation_count": 0,
        "blocked_count": 37,
        "unavailable_count": 13,
        "error_count": 0
    },
    "run_policy": {
        "base_url": "",
        "recent_limit": 0,
        "max_hosts": 0,
        "timeout_seconds": 0,
        "execute_ready": false,
        "external_feed_calls_only_if": "activation_ready=true and --execute-ready was passed",
        "external_feed_run_attempt_count": 0,
        "storage_writes_only_if": "SAFERPAGE_SECURITY_FEED_STORAGE_APPROVED=yes and a live connector was executed",
        "storage_write_attempt_count": 0,
        "storage_canary_does_not_call_external_feeds": true,
        "no_secret_export": true
    },
    "credential_manifest": {
        "reference_count": 4,
        "present_reference_count": 0,
        "external_feed_connector_ready": false,
        "storage_approved": false,
        "secret_policy": "Only env_ref and present flags are exported; never secret values, tokens, request payloads or webhook URLs.",
        "references": [
            {
                "id": "urlhaus_auth_key",
                "env_ref": "SAFERPAGE_URLHAUS_AUTH_KEY",
                "present": false,
                "required_for_external_feed_run": true,
                "required_for_storage_write": false,
                "purpose": "URLhaus Host API connector."
            },
            {
                "id": "google_safe_browsing_api_key",
                "env_ref": "SAFERPAGE_GOOGLE_SAFE_BROWSING_API_KEY",
                "present": false,
                "required_for_external_feed_run": true,
                "required_for_storage_write": false,
                "purpose": "Google Safe Browsing connector."
            },
            {
                "id": "security_feed_storage_approval",
                "env_ref": "SAFERPAGE_SECURITY_FEED_STORAGE_APPROVED",
                "present": false,
                "required_for_external_feed_run": false,
                "required_for_storage_write": true,
                "purpose": "Explicit approval for storing normalized feed observations."
            },
            {
                "id": "security_feed_preflight_approval",
                "env_ref": "SAFERPAGE_SECURITY_FEED_PREFLIGHT_APPROVED",
                "present": false,
                "required_for_external_feed_run": false,
                "required_for_storage_write": false,
                "purpose": "Manual guarded credential-preflight live probe."
            }
        ]
    },
    "last_run": {
        "started_at": "2026-06-09T03:39:01+00:00",
        "finished_at": "2026-06-09T03:39:02+00:00",
        "execute_ready": true,
        "storage_approved": false,
        "job_id": "security-feed-runner-2026-06-09T033901z0000",
        "user_agent": "SaferPageFeedRunner/0.1 (+https://saferpage.de/bot; scheduled security feed readiness and gated feed runs)"
    },
    "storage_canary": {
        "enabled": false,
        "status": "",
        "summary": "Storage Canary wurde in diesem Runner-State nicht angefordert.",
        "host": "",
        "source_id": "",
        "stored": false,
        "stored_observation_count": 0,
        "storage_approved": false,
        "does_not_call_external_feeds": true,
        "does_not_publish_hit": true,
        "dedupe_key": "",
        "error": "",
        "evidence_url": "https://saferpage.de/sicherheit/feed-storage-canary-json"
    },
    "schedule": {
        "manager": "systemd",
        "unit": "saferpage-security-feed.service",
        "timer": "saferpage-security-feed.timer",
        "cadence": "daily",
        "run_window": "03:20-03:40 Europe/Berlin plus RandomizedDelaySec 20min",
        "environment_file": "/etc/saferpage/security-feed.env",
        "storage_canary_unit": "saferpage-security-feed-canary.service",
        "storage_canary_timer": "saferpage-security-feed-canary.timer",
        "storage_canary_cadence": "weekly Tuesday",
        "storage_canary_window": "04:15-04:35 Europe/Berlin plus RandomizedDelaySec 20min",
        "storage_canary_execute_ready": false,
        "max_hosts_per_run": 50,
        "recent_limit": 500,
        "timeout_seconds": 35
    },
    "gate_policy": {
        "activation_endpoint": "https://saferpage.de/sicherheit/{domain}/feed-activation-json",
        "external_run_endpoint": "https://saferpage.de/sicherheit/{domain}/feed-live-json?run=yes",
        "external_runs_only_if": "activation_ready=true und Runner mit --execute-ready gestartet.",
        "storage_only_if": "SAFERPAGE_SECURITY_FEED_STORAGE_APPROVED=yes und Live-Connector nach Aktivierungs-Gates ausgeführt wurde.",
        "current_public_evidence": "Der letzte öffentliche State zeigt keine externen Feed-Ausführungen.",
        "secrets_required": [
            "SAFERPAGE_URLHAUS_AUTH_KEY",
            "SAFERPAGE_GOOGLE_SAFE_BROWSING_API_KEY",
            "SAFERPAGE_WEBHOOK_SECRET oder SAFERPAGE_OPERATOR_WEBHOOK_SECRET",
            "SAFERPAGE_SECURITY_FEED_STORAGE_APPROVED=yes fuer Speicherung"
        ]
    },
    "operations_runbook": {
        "purpose": "Betriebsnachweis fuer den taeglichen Runner: Timer, letzter Lauf, Dry-Run-Gates, Secret-Schutz, Storage-Freigabe und Stop-Bedingungen sind ohne Secret-Ausgabe pruefbar.",
        "systemd_checks": [
            {
                "label": "Timer sichtbar",
                "command": "systemctl list-timers saferpage-security-feed.timer --no-pager",
                "expected": "NEXT, LAST und UNIT sind sichtbar; Timer ist fuer den taeglichen Lauf geplant."
            },
            {
                "label": "Service-Status",
                "command": "systemctl status saferpage-security-feed.service --no-pager",
                "expected": "Type=oneshot, ExecStart zeigt run-security-feed-schedule.py mit --execute-ready."
            },
            {
                "label": "Letzte Logs",
                "command": "journalctl -u saferpage-security-feed.service -n 80 --no-pager",
                "expected": "Abschlusszeile done evaluated=... errors=0; keine Secret-Werte in Logs."
            },
            {
                "label": "Storage-Canary-Timer sichtbar",
                "command": "systemctl list-timers saferpage-security-feed-canary.timer --no-pager",
                "expected": "Separater Canary-Timer ist sichtbar; Service nutzt --storage-canary ohne --execute-ready."
            },
            {
                "label": "Environment-Datei kontrollieren",
                "command": "systemctl cat saferpage-security-feed.service saferpage-security-feed-canary.service --no-pager",
                "expected": "EnvironmentFile=-/etc/saferpage/security-feed.env ist gesetzt; fehlende Datei blockiert Dry-Run nicht."
            },
            {
                "label": "Oeffentlicher State",
                "command": "curl -fsS https://saferpage.de/sicherheit/feed-runner-json",
                "expected": "JSON enthaelt metrics, last_run.user_agent, schedule und rows ohne Rohpayloads."
            }
        ],
        "dry_run_drill": [
            {
                "step": "Runner lokal ohne externe Feed-Ausfuehrung testen",
                "command": "python3 scripts/run-security-feed-schedule.py anrufer.info --base-url http://127.0.0.1 --max 1 --timeout 15",
                "expected": "executed_count bleibt 0, stored_observation_count bleibt 0."
            },
            {
                "step": "Isolierten Dry-run-Smoke ausfuehren",
                "command": "scripts/run-security-feed-dry-run-smoke.sh",
                "expected": "Schreibt nur temporaere State-Dateien, external_feed_run_attempt_count=0 und no_secret_export=true."
            },
            {
                "step": "Storage-Canary ohne Freigabe blockiert testen",
                "command": "python3 scripts/run-security-feed-schedule.py anrufer.info --base-url http://127.0.0.1 --max 1 --timeout 15 --storage-canary",
                "expected": "storage_canary.status ist blocked_without_storage_approval und es werden keine externen Feeds abgefragt."
            },
            {
                "step": "Aktivierungs-Gates einzeln pruefen",
                "command": "curl -fsS https://saferpage.de/sicherheit/anrufer.info/feed-activation-json",
                "expected": "activation_ready ist nur true, wenn Credentials, Delivery, Storage- und Review-Gates passend sind."
            },
            {
                "step": "Secret-Readiness ohne Secret-Werte pruefen",
                "command": "curl -fsS https://saferpage.de/sicherheit/anrufer.info/feed-secrets-json",
                "expected": "Nur present/missing und Setup-Vorlagen, keine API-Keys oder Webhook-Secrets."
            },
            {
                "step": "Launch-Board vor Freigabe pruefen",
                "command": "curl -fsS https://saferpage.de/sicherheit/feed-launch-board-json",
                "expected": "status bleibt blocked/approval_required, solange Feed-Credentials oder Storage-Freigabe fehlen."
            }
        ],
        "go_live_sequence": [
            "Migration security-feed-storage.sql pruefen und nur nach Betreiberfreigabe anwenden.",
            "Secrets und SAFERPAGE_SECURITY_FEED_STORAGE_APPROVED bei Freigabe in /etc/saferpage/security-feed.env setzen, nie in Unit-Dateien.",
            "Nach Storage-Freigabe den separaten Canary-Service starten und storage_canary_stored_observation_count=1 pruefen.",
            "systemd daemon-reload ausfuehren und Daily- sowie Canary-Timer kontrollieren.",
            "Feed-Approval-Dossier auf recommendation=go bringen und Change-Fenster dokumentieren.",
            "Timer manuell mit systemctl start saferpage-security-feed.service ausloesen.",
            "feed-runner-json, feed-launch-board-json und Alert-Delivery-Exports nach dem Lauf pruefen."
        ],
        "public_contract": [
            "Externe Feeds werden nur fuer aktivierungsbereite Domains und nur mit --execute-ready abgefragt.",
            "Der Storage-Canary laeuft in separater Unit ohne --execute-ready und ruft keine externen Feeds auf.",
            "Gespeichert werden nur normalisierte Observationen nach Storage-Freigabe, nie Rohpayloads externer Feeds.",
            "Der User-Agent verweist auf /bot und macht Zweck, Kontakt und Frequenz nachvollziehbar.",
            "Der oeffentliche State begrenzt Domainzeilen auf 100 und zeigt keine Secret-Werte."
        ],
        "stop_conditions": [
            "error_count groesser 0 oder journalctl zeigt wiederholte HTTP-/DB-Fehler.",
            "executed_count groesser 0, obwohl Approval-Dossier nicht auf go steht.",
            "stored_observation_count groesser 0 ohne SAFERPAGE_SECURITY_FEED_STORAGE_APPROVED=yes und dokumentierte Freigabe.",
            "Oeffentliche Exports enthalten API-Keys, Webhook-Secrets, Rohpayloads oder personenbezogene Besucherlogs.",
            "Timer-Last ueberschreitet geplantes Fenster oder verursacht sichtbare Web-Antwortzeitprobleme."
        ]
    },
    "rows": [
        {
            "host": "85st.co",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": true,
            "blocked_gate_count": 0,
            "error": "HTTP 404: report page not available",
            "summary": "",
            "activation_url": "https://saferpage.de/sicherheit/85st.co/feed-activation-json",
            "report_url": "https://saferpage.de/85st.co"
        },
        {
            "host": "abda.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "abda.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/abda.de/feed-activation-json",
            "report_url": "https://saferpage.de/abda.de"
        },
        {
            "host": "klima-mensch-gesundheit.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "klima-mensch-gesundheit.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/klima-mensch-gesundheit.de/feed-activation-json",
            "report_url": "https://saferpage.de/klima-mensch-gesundheit.de"
        },
        {
            "host": "klischee-frei.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "klischee-frei.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/klischee-frei.de/feed-activation-json",
            "report_url": "https://saferpage.de/klischee-frei.de"
        },
        {
            "host": "klicksafe.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "klicksafe.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/klicksafe.de/feed-activation-json",
            "report_url": "https://saferpage.de/klicksafe.de"
        },
        {
            "host": "kek-online.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "kek-online.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/kek-online.de/feed-activation-json",
            "report_url": "https://saferpage.de/kek-online.de"
        },
        {
            "host": "blog.wikimedia.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "blog.wikimedia.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/blog.wikimedia.de/feed-activation-json",
            "report_url": "https://saferpage.de/blog.wikimedia.de"
        },
        {
            "host": "die-medienanstalten.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": true,
            "blocked_gate_count": 0,
            "error": "HTTP 404: report page not available",
            "summary": "",
            "activation_url": "https://saferpage.de/sicherheit/die-medienanstalten.de/feed-activation-json",
            "report_url": "https://saferpage.de/die-medienanstalten.de"
        },
        {
            "host": "kjm-online.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "kjm-online.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/kjm-online.de/feed-activation-json",
            "report_url": "https://saferpage.de/kjm-online.de"
        },
        {
            "host": "klexikon.zum.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "klexikon.zum.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/klexikon.zum.de/feed-activation-json",
            "report_url": "https://saferpage.de/klexikon.zum.de"
        },
        {
            "host": "karriere.datev.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "karriere.datev.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/karriere.datev.de/feed-activation-json",
            "report_url": "https://saferpage.de/karriere.datev.de"
        },
        {
            "host": "kanzleiboerse.datev.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": true,
            "blocked_gate_count": 0,
            "error": "HTTP 404: report page not available",
            "summary": "",
            "activation_url": "https://saferpage.de/sicherheit/kanzleiboerse.datev.de/feed-activation-json",
            "report_url": "https://saferpage.de/kanzleiboerse.datev.de"
        },
        {
            "host": "help-center.apps.datev.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "help-center.apps.datev.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/help-center.apps.datev.de/feed-activation-json",
            "report_url": "https://saferpage.de/help-center.apps.datev.de"
        },
        {
            "host": "download.datev.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "download.datev.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/download.datev.de/feed-activation-json",
            "report_url": "https://saferpage.de/download.datev.de"
        },
        {
            "host": "diversity-konferenz.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "diversity-konferenz.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/diversity-konferenz.de/feed-activation-json",
            "report_url": "https://saferpage.de/diversity-konferenz.de"
        },
        {
            "host": "diversity-reifegrad.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": true,
            "blocked_gate_count": 0,
            "error": "HTTP 404: report page not available",
            "summary": "",
            "activation_url": "https://saferpage.de/sicherheit/diversity-reifegrad.de/feed-activation-json",
            "report_url": "https://saferpage.de/diversity-reifegrad.de"
        },
        {
            "host": "datev-mymarketing.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "datev-mymarketing.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/datev-mymarketing.de/feed-activation-json",
            "report_url": "https://saferpage.de/datev-mymarketing.de"
        },
        {
            "host": "datev-magazin.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "datev-magazin.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/datev-magazin.de/feed-activation-json",
            "report_url": "https://saferpage.de/datev-magazin.de"
        },
        {
            "host": "datev-community.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": true,
            "blocked_gate_count": 0,
            "error": "HTTP 404: report page not available",
            "summary": "",
            "activation_url": "https://saferpage.de/sicherheit/datev-community.de/feed-activation-json",
            "report_url": "https://saferpage.de/datev-community.de"
        },
        {
            "host": "bildungsforum.datev.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "bildungsforum.datev.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/bildungsforum.datev.de/feed-activation-json",
            "report_url": "https://saferpage.de/bildungsforum.datev.de"
        },
        {
            "host": "datev-bot.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": true,
            "blocked_gate_count": 0,
            "error": "HTTP 404: report page not available",
            "summary": "",
            "activation_url": "https://saferpage.de/sicherheit/datev-bot.de/feed-activation-json",
            "report_url": "https://saferpage.de/datev-bot.de"
        },
        {
            "host": "apps.datev.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "apps.datev.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/apps.datev.de/feed-activation-json",
            "report_url": "https://saferpage.de/apps.datev.de"
        },
        {
            "host": "bildung-lernen.datev.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "bildung-lernen.datev.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/bildung-lernen.datev.de/feed-activation-json",
            "report_url": "https://saferpage.de/bildung-lernen.datev.de"
        },
        {
            "host": "datev.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "datev.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/datev.de/feed-activation-json",
            "report_url": "https://saferpage.de/datev.de"
        },
        {
            "host": "charta-der-vielfalt-e-v.myspreadshop.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "charta-der-vielfalt-e-v.myspreadshop.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/charta-der-vielfalt-e-v.myspreadshop.de/feed-activation-json",
            "report_url": "https://saferpage.de/charta-der-vielfalt-e-v.myspreadshop.de"
        },
        {
            "host": "bmfsfj.kita-plattform.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "bmfsfj.kita-plattform.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/bmfsfj.kita-plattform.de/feed-activation-json",
            "report_url": "https://saferpage.de/bmfsfj.kita-plattform.de"
        },
        {
            "host": "bildungsfreaks.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": true,
            "blocked_gate_count": 0,
            "error": "HTTP 404: report page not available",
            "summary": "",
            "activation_url": "https://saferpage.de/sicherheit/bildungsfreaks.de/feed-activation-json",
            "report_url": "https://saferpage.de/bildungsfreaks.de"
        },
        {
            "host": "kita-plattform.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "kita-plattform.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/kita-plattform.de/feed-activation-json",
            "report_url": "https://saferpage.de/kita-plattform.de"
        },
        {
            "host": "charta-der-vielfalt.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "charta-der-vielfalt.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/charta-der-vielfalt.de/feed-activation-json",
            "report_url": "https://saferpage.de/charta-der-vielfalt.de"
        },
        {
            "host": "push-pull.net",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": true,
            "blocked_gate_count": 0,
            "error": "HTTP 404: report page not available",
            "summary": "",
            "activation_url": "https://saferpage.de/sicherheit/push-pull.net/feed-activation-json",
            "report_url": "https://saferpage.de/push-pull.net"
        },
        {
            "host": "kinofenster.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "kinofenster.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/kinofenster.de/feed-activation-json",
            "report_url": "https://saferpage.de/kinofenster.de"
        },
        {
            "host": "dkhw.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "dkhw.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/dkhw.de/feed-activation-json",
            "report_url": "https://saferpage.de/dkhw.de"
        },
        {
            "host": "karriere.kbv.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "karriere.kbv.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/karriere.kbv.de/feed-activation-json",
            "report_url": "https://saferpage.de/karriere.kbv.de"
        },
        {
            "host": "kindersache.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "kindersache.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/kindersache.de/feed-activation-json",
            "report_url": "https://saferpage.de/kindersache.de"
        },
        {
            "host": "kbv.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "kbv.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/kbv.de/feed-activation-json",
            "report_url": "https://saferpage.de/kbv.de"
        },
        {
            "host": "kindernetz.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "kindernetz.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/kindernetz.de/feed-activation-json",
            "report_url": "https://saferpage.de/kindernetz.de"
        },
        {
            "host": "hevianna-versicherungsdienst.de",
            "checked_at": "2026-06-09T03:39:01+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": true,
            "blocked_gate_count": 0,
            "error": "HTTP 404: report page not available",
            "summary": "",
            "activation_url": "https://saferpage.de/sicherheit/hevianna-versicherungsdienst.de/feed-activation-json",
            "report_url": "https://saferpage.de/hevianna-versicherungsdienst.de"
        },
        {
            "host": "events.mcon-mannheim.de",
            "checked_at": "2026-06-09T03:39:02+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "events.mcon-mannheim.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/events.mcon-mannheim.de/feed-activation-json",
            "report_url": "https://saferpage.de/events.mcon-mannheim.de"
        },
        {
            "host": "hebammenverband-olga.de",
            "checked_at": "2026-06-09T03:39:02+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "hebammenverband-olga.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/hebammenverband-olga.de/feed-activation-json",
            "report_url": "https://saferpage.de/hebammenverband-olga.de"
        },
        {
            "host": "hebammenkongress.de",
            "checked_at": "2026-06-09T03:39:02+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "hebammenkongress.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/hebammenkongress.de/feed-activation-json",
            "report_url": "https://saferpage.de/hebammenkongress.de"
        },
        {
            "host": "hebammenforum.de",
            "checked_at": "2026-06-09T03:39:02+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "hebammenforum.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/hebammenforum.de/feed-activation-json",
            "report_url": "https://saferpage.de/hebammenforum.de"
        },
        {
            "host": "bgw-online.de",
            "checked_at": "2026-06-09T03:39:02+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "bgw-online.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/bgw-online.de/feed-activation-json",
            "report_url": "https://saferpage.de/bgw-online.de"
        },
        {
            "host": "events.hebammenverband.de",
            "checked_at": "2026-06-09T03:39:02+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "events.hebammenverband.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/events.hebammenverband.de/feed-activation-json",
            "report_url": "https://saferpage.de/events.hebammenverband.de"
        },
        {
            "host": "dhv-zukunftsforum.de",
            "checked_at": "2026-06-09T03:39:02+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "dhv-zukunftsforum.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/dhv-zukunftsforum.de/feed-activation-json",
            "report_url": "https://saferpage.de/dhv-zukunftsforum.de"
        },
        {
            "host": "airjordans-retro.com",
            "checked_at": "2026-06-09T03:39:02+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": true,
            "blocked_gate_count": 0,
            "error": "HTTP 404: report page not available",
            "summary": "",
            "activation_url": "https://saferpage.de/sicherheit/airjordans-retro.com/feed-activation-json",
            "report_url": "https://saferpage.de/airjordans-retro.com"
        },
        {
            "host": "lku.ch",
            "checked_at": "2026-06-09T03:39:02+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": true,
            "blocked_gate_count": 0,
            "error": "HTTP 404: report page not available",
            "summary": "",
            "activation_url": "https://saferpage.de/sicherheit/lku.ch/feed-activation-json",
            "report_url": "https://saferpage.de/lku.ch"
        },
        {
            "host": "trace.axd",
            "checked_at": "2026-06-09T03:39:02+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": true,
            "blocked_gate_count": 0,
            "error": "HTTP 404: report page not available",
            "summary": "",
            "activation_url": "https://saferpage.de/sicherheit/trace.axd/feed-activation-json",
            "report_url": "https://saferpage.de/trace.axd"
        },
        {
            "host": "login.action",
            "checked_at": "2026-06-09T03:39:02+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": true,
            "blocked_gate_count": 0,
            "error": "HTTP 404: report page not available",
            "summary": "",
            "activation_url": "https://saferpage.de/sicherheit/login.action/feed-activation-json",
            "report_url": "https://saferpage.de/login.action"
        },
        {
            "host": "hebammenverband.de",
            "checked_at": "2026-06-09T03:39:02+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "hebammenverband.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/hebammenverband.de/feed-activation-json",
            "report_url": "https://saferpage.de/hebammenverband.de"
        },
        {
            "host": "gkv-heilmittel.de",
            "checked_at": "2026-06-09T03:39:02+00:00",
            "activation_ready": false,
            "executed": false,
            "storage_approved": false,
            "stored_observation_count": 0,
            "unavailable": false,
            "blocked_gate_count": 4,
            "error": "",
            "summary": "gkv-heilmittel.de: Security-Feed-Aktivierung mit 5 Gate(s), 4 blockiert, Delivery ohne Secret.",
            "activation_url": "https://saferpage.de/sicherheit/gkv-heilmittel.de/feed-activation-json",
            "report_url": "https://saferpage.de/gkv-heilmittel.de"
        }
    ],
    "links": {
        "html": "https://saferpage.de/sicherheit/feed-runner",
        "json": "https://saferpage.de/sicherheit/feed-runner-json",
        "csv": "https://saferpage.de/sicherheit/feed-runner-csv",
        "markdown": "https://saferpage.de/sicherheit/feed-runner-md",
        "bot": "https://saferpage.de/bot",
        "security_example": "https://saferpage.de/sicherheit/anrufer.info",
        "activation_example": "https://saferpage.de/sicherheit/anrufer.info/feed-activation-json",
        "secrets_example": "https://saferpage.de/sicherheit/anrufer.info/feed-secrets-json",
        "storage_canary": "https://saferpage.de/sicherheit/feed-storage-canary-json",
        "comparison": "https://saferpage.de/vergleich"
    },
    "disclaimer": "Dieser Export zeigt nur Betriebsstatus, Gate-Entscheidungen und öffentliche Reportlinks. Er veröffentlicht keine Secret-Werte, keine Rohpayloads externer Feeds und keine personenbezogenen Besucherlogs."
}
