# SaferPage Operator Go-live Command Center

Operator-Go-live: 0/3 Aktivierungsbereiche bereit, 3 warten auf sichere Eingaben oder Freigaben.

> Dieses Command Center aktiviert nichts, erzeugt keine Credentials, ruft keine externen Feeds auf, sendet keine Alerts und veroeffentlicht keine Secret-Werte, Ziel-URLs, Empfaenger, Rohpayloads oder Besucherlogs.

## Aktivierungsreihenfolge
- Oeffentliche Evidence zuerst pruefen und unveraendert archivieren; Evidence-Health muss vor Produktivfreigabe gruen sein.
- Secrets, Ziel-URLs und DSN ausschliesslich im Server-Environment oder Secret Manager setzen.
- Dry-runs und Preflights ausfuehren, bevor ein Go-live-Gate aktiviert wird.
- Betreiberfreigabe mit Scope, Owner, Smoke-Referenzen, Ablaufdatum und Rollback-Owner dokumentieren.
- Nach jeder Freigabe Live-JSON, Runner-State, Sitemap und Parity-Board erneut pruefen.

## No-Secret-Smoke-Coverage
- Coverage: 7/7
- Ziele: 160
- Failed Checks: 0
- Erwartete Gates: 5
- **DACH Crawler Readiness Smoke**: ok, targets=11, checks=13, failed_checks=0, expected_blockers=0, JSON: https://saferpage.de/evidence/crawler-readiness-smoke.json
- **Trust-Readiness Smoke**: ok, targets=32, checks=12, failed_checks=0, expected_blockers=1, JSON: https://saferpage.de/evidence/trust-readiness-smoke.json
- **Competitive Source Availability Smoke**: ok, targets=14, checks=14, failed_checks=0, expected_blockers=0, JSON: https://saferpage.de/evidence/competitive-source-availability-smoke.json
- **Competitive Evidence Health Smoke**: ok, targets=79, checks=7, failed_checks=0, expected_blockers=0, JSON: https://saferpage.de/evidence/competitive-evidence-health-smoke.json
- **Alert-Delivery Readiness Smoke**: ok, targets=6, checks=0, failed_checks=0, expected_blockers=1, JSON: https://saferpage.de/evidence/alert-delivery-readiness-smoke.json
- **Security-Feed Readiness Smoke**: ok, targets=12, checks=0, failed_checks=0, expected_blockers=2, JSON: https://saferpage.de/evidence/security-feed-readiness-smoke.json
- **API-Key Readiness Smoke**: ok, targets=6, checks=6, failed_checks=0, expected_blockers=1, JSON: https://saferpage.de/evidence/api-key-readiness-smoke.json

## Öffentliche Evidence-Health
- Status: ok
- Zeitpunkt: 2026-06-09T20:52:26+00:00
- Passed: 79
- Failed: 0
- Aktion: Öffentliche Evidence ist grün; Produktiv-Gates bleiben trotzdem an Secrets, Betreiberfreigabe und phasenspezifische Smokes gebunden.
- Ergebnis: https://saferpage.de/evidence/competitive-evidence-health-smoke.json
- No-Secret-Policy:
  - contains_secrets: false
  - contains_private_target_urls: false
  - contains_recipients: false
  - contains_private_documents: false
  - contains_visitor_logs: false

## Alert-Delivery-Readiness-Smoke
- Status: ok
- Zeitpunkt: 2026-06-09T17:46:10+00:00
- Ziele: 6
- Failed Checks: 0
- Erwartete Blocker: 1
- Dry-run gesendet: 0
- Runner gesendet: 0
- Aktion: Alert-Delivery-Smoke ist grün: öffentliche Nachweise sind erreichbar, erwartete Produktivblocker sind sichtbar und Dry-run/Runner haben keine Alerts versendet.
- Ergebnis: https://saferpage.de/evidence/alert-delivery-readiness-smoke.json

## Security-Feed-Readiness-Smoke
- Status: ok
- Zeitpunkt: 2026-06-09T19:39:37+00:00
- Ziele: 12
- Failed Checks: 0
- Erwartete Blocker: 2
- Dry-run externe Runs: 0
- Dry-run gespeicherte Observations: 0
- Aktion: Security-Feed-Smoke ist grün: öffentliche Nachweise sind erreichbar, erwartete Produktivblocker sind sichtbar und der Dry-run hat keine externen Feeds ausgeführt oder Observations gespeichert.
- Ergebnis: https://saferpage.de/evidence/security-feed-readiness-smoke.json

## Phasen
- Alert-Zustellung freigeben: waiting_for_secure_inputs - Externes Webhook/Slack/Teams-Ziel fehlt. SAFERPAGE_ALERT_DISPATCH_APPROVED ist nicht aktiv.
  - Command: `scripts/run-alert-delivery-readiness-smoke.sh`
  - Command: `scripts/run-alert-dispatch-dry-run-smoke.sh`
  - Evidence: https://saferpage.de/integrationen/delivery-credential-preflight-json
  - Evidence: https://saferpage.de/integrationen/delivery-approval-template.env
  - Evidence: https://saferpage.de/alarme/dispatch-runner-json
  - Evidence: https://saferpage.de/evidence/delivery-runtime-controls.json
  - Evidence: https://saferpage.de/evidence/alert-delivery-readiness-smoke.json
- Security-Feeds aktivieren: waiting_for_secure_inputs - URLhaus/Safe-Browsing-Credentials fehlen. SAFERPAGE_SECURITY_FEED_STORAGE_APPROVED ist nicht aktiv.
  - Command: `scripts/run-security-feed-readiness-smoke.sh`
  - Command: `scripts/run-security-feed-storage-preflight.sh`
  - Command: `scripts/run-storage-migrations.sh`
  - Command: `scripts/run-security-feed-dry-run-smoke.sh`
  - Evidence: https://saferpage.de/sicherheit/feed-credential-preflight-json
  - Evidence: https://saferpage.de/sicherheit/feed-activation-template.env
  - Evidence: https://saferpage.de/sicherheit/feed-storage-readiness-json
  - Evidence: https://saferpage.de/evidence/security-feed-storage-preflight.json
  - Evidence: https://saferpage.de/evidence/security-feed-readiness-smoke.json
  - Evidence: https://saferpage.de/sicherheit/feed-launch-board-json
- Operator-API-Key-Store freischalten: waiting_for_secure_inputs - API-Access-Storage 0/2 Tabellen; produktive API-Key-Freigaben 0/7.
  - Command: `scripts/run-api-access-migration-preflight.sh`
  - Command: `scripts/run-storage-migrations.sh`
  - Command: `scripts/run-api-runtime-deny-smoke.sh`
  - Command: `scripts/run-api-service-smoke.sh`
  - Evidence: https://saferpage.de/api-zugriff/key-readiness-json
  - Evidence: https://saferpage.de/api-zugriff/access-migration.sql
  - Evidence: https://saferpage.de/evidence/api-access-migration-preflight.json
  - Evidence: https://saferpage.de/api-zugriff/runtime-gate-probe-json
  - Evidence: https://saferpage.de/evidence/api-runtime-controls.json

## Operator-Freigabequeue
- Alert-Zustellung freigeben: waiting_for_operator_inputs - Sichere Inputs, Betreiberfreigabe und Smoke-Evidence nachreichen.
  - Primaerlink: https://saferpage.de/integrationen/delivery-credential-preflight-json
  - Public Export Policy: Nur Referenznamen, Status, Hashes, Evidence-URLs, Kommandonamen, Abnahmekriterien und Stop-Bedingungen oeffentlich zeigen; keine Secret-Werte, DSN, Ziel-URLs, Empfaenger, Roh-Keys, Authorization-Header, Rohpayloads oder Besucherlogs.
- Security-Feeds aktivieren: waiting_for_operator_inputs - Sichere Inputs, Betreiberfreigabe und Smoke-Evidence nachreichen.
  - Primaerlink: https://saferpage.de/sicherheit/feed-credential-preflight-json
  - Public Export Policy: Nur Referenznamen, Status, Hashes, Evidence-URLs, Kommandonamen, Abnahmekriterien und Stop-Bedingungen oeffentlich zeigen; keine Secret-Werte, DSN, Ziel-URLs, Empfaenger, Roh-Keys, Authorization-Header, Rohpayloads oder Besucherlogs.
- Operator-API-Key-Store freischalten: waiting_for_operator_inputs - Sichere Inputs, Betreiberfreigabe und Smoke-Evidence nachreichen.
  - Primaerlink: https://saferpage.de/api-zugriff/key-readiness-json
  - Public Export Policy: Nur Referenznamen, Status, Hashes, Evidence-URLs, Kommandonamen, Abnahmekriterien und Stop-Bedingungen oeffentlich zeigen; keine Secret-Werte, DSN, Ziel-URLs, Empfaenger, Roh-Keys, Authorization-Header, Rohpayloads oder Besucherlogs.
