# SaferPage DACH-Crawler Operations

DACH-Crawler operational: 0 deutschsprachige Checks, Queue 0, Fehlerquote 0%.

> Crawler-Operations zeigen öffentliche Betriebs- und Queue-Signale. Sie veröffentlichen keine Secrets, keine internen IPs und keine personenbezogenen Besucherlogs.

## Crawler-Identität
- User-Agent: SaferPageCrawler/0.3 (+https://saferpage.de/bot; schedules passive DACH website checks; report examples: https://saferpage.de/tests)
- Bot-Policy: https://saferpage.de/bot
- Beispielreport: https://saferpage.de/anrufer.info
- Zweck: Passive Datenschutz-, Consent-, Security- und Seitenvorschau-Prüfung für öffentliche Website-Reports.

## Schedule
- Unit: saferpage-crawler.service
- Timer: saferpage-crawler.timer
- Kadenz: every 15min after previous unit activation
- Randomized Delay: 2min

## Seedquelle
- Datei: 
- Datei-Hosts: 0
- Seed-Hosts gesamt: 0
- Neu in Queue: 0

## Performance-Grenzen
- max_hosts_per_run: 320
- concurrency: 8
- timeout_seconds: 90
- delay_between_batches_seconds: 0.25
- refresh_days: 7
- refresh_limit: 5000
- seed_cursor_batch: 500
- seed_cursor_refill_below: 3000
- rotation_batch: 500
- rotation_refill_below: 3000
- daily_target: 20000
- daily_cap: 30000
- min_free_disk_gb: 300
- checkpoint_every: 64
- retry_base_hours: 12
- robots_policy: SaferPageCrawler und SaferPageBot respektieren robots.txt.
- browser_policy: Headless Chromium nur für Screenshot-, Cookie-, Storage- und Consent-Nachweise.
- letzter Lauf max_hosts_per_run: 0
- letzter Lauf concurrency: 0

## Kapazitaet und Retry
- Laufdauer: 7 min
- Durchsatz/min: 0
- Queue-ETA: nicht berechnet
- Retry offen/fällig: 0/0
- Strategie: Exponentieller Backoff pro Host; Timeout, DNS, TLS, 403/429/5xx und sonstige Fehler werden klassifiziert und später kontrolliert erneut versucht.

## Screenshot-Abdeckung
- Abdeckung: 90.9%
- Mit Vorschau: 186574
- Ohne Vorschau: 18677

## Zuletzt geprüft
- ulm.city-map.de: Score 65, https://saferpage.de/ulm.city-map.de
- eacdn.com: Score 57, https://saferpage.de/eacdn.com
- ebaumsworld.com: Score 100, https://saferpage.de/ebaumsworld.com
- dreamserve.dev: Score 66, https://saferpage.de/dreamserve.dev
- dla.mil: Score 91, https://saferpage.de/dla.mil
- valife.de: Score 67, https://saferpage.de/valife.de
- cloud-xip.com: Score 66, https://saferpage.de/cloud-xip.com
- cdnpk.net: Score 100, https://saferpage.de/cdnpk.net
- centurylink.com: Score 64, https://saferpage.de/centurylink.com
- clairvoyance.cloud: Score 66, https://saferpage.de/clairvoyance.cloud
- fachklinik-klosterwald.de: Score 72, https://saferpage.de/fachklinik-klosterwald.de
- canberratimes.com.au: Score 62, https://saferpage.de/canberratimes.com.au

## Runbook
- Bei hoher Queue --max und --concurrency nur nach API-/CPU-Reserve erhöhen.
- Bei Fehlerquote über 20 Prozent API-Log, DNS/Timeouts und robots.txt-Skiprate prüfen.
- Fehlerhosts nicht hart durchdrücken: Retry-Backoff und Fehlerklasse aus Ops-JSON prüfen.
- Backlog-ETA aus Durchsatz und Queue beobachten; bei stabilem Lauf schrittweise skalieren statt grosse Spruenge zu machen.
- Screenshot-Abdeckung unter 95 Prozent als Backfill-Arbeit behandeln; fehlende Hosts aus preview_coverage.missing_preview erneut scannen.
- Deutschraum-Seeds über die versionierte Seed-Datei oder Recent-Checks erweitern; Plattform- und CDN-Domains weiter filtern.
- Jeder gespeicherte Check muss unter der kanonischen Kurz-URL /{domain} verlinkt bleiben.
