Daten, Datenschutz & Sicherheit › Cron-Endpunkte (API-Gruppe, siehe Automationen)
Cron-Endpunkte (API-Gruppe, siehe Automationen)
API-GruppeLive✓ Geprüft am Sat Sep 05 2026 02:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)Automatisierte Hintergrund-Läufe (19 Stück) müssen sich mit einem geheimen, mindestens 32 Zeichen langen Passwort ausweisen — fehlt das Passwort auf dem Server, verweigern ALLE diese Läufe automatisch die Arbeit, statt versehentlich offen zu laufen.
Bild folgt
Alle 19 zeitgesteuerten Läufe (Mahnvorschläge, Tagesabschluss, vault-sweep" tabindex="0">Vault-Sweep und die übrigen Automationen) hängen an derselben, gemeinsamen Prüfung: Der aufrufende OS-Cron auf dem Server schickt ein geheimes, mindestens 32 Zeichen langes Passwort mit, entweder als Bearer-Kopfzeile oder als Legacy-Parameter in der Adresse. Die Prüfung vergleicht das Passwort zeitkonstant, damit kein Zeitunterschied Rückschlüsse auf die richtige Antwort erlaubt. Ein paar Endpunkte lassen zusätzlich eine angemeldete Büro-Sitzung als Ersatz für den manuellen Testlauf zu — der reguläre Cron-Aufruf selbst braucht immer das gemeinsame Geheimnis. Fehlt das Geheimnis auf dem Server komplett, verweigern alle 19 Läufe von sich aus die Arbeit, statt versehentlich ganz ohne Prüfung durchzulaufen.
- Ein Cron-Lauf meldet dauerhaft Fehler → das gemeinsame Geheimnis fehlt oder ist auf dem Server zu kurz geraten; ohne es verweigern alle 19 Läufe bewusst die Arbeit.
- Ein manueller Testaufruf mit dem Geheimnis in der Adresse schlägt fehl, obwohl das Passwort stimmt → einige Endpunkte akzeptieren die Adress-Variante bewusst nicht, nur die Kopfzeile.
Regelt
- Pad-Station (Signotec) Teilweise
- KI-Gedächtnis-Verdichtung (Cron) Live
- Morgen-Briefing (Cron) Live
- Rechnungs-Erinnerung (Cron) Live
- DSGVO-Aufbewahrungsfristen (Cron) Teilweise
- Mahnvorschläge (Cron) Live
- Tagesabschluss-Erinnerung (Cron) Live
- Konsistenz-Prüfung (Cron) Teilweise
- Lieferschein-Erinnerung (Cron) Live
- Mail-Outbox-Worker (Cron) Live
- Überzogen-Erkennung (Cron) Live
- Erinnerungs-Dispatch (Cron) Teilweise
- Nachbestell-Erinnerung (Cron) Live
- RepDoc-Abgleich (Cron) Teilweise
- Scan-Postfach-Poller (Cron) Live
- Tageswechsel (Cron) Live
- Umsatzziel-Erinnerung (Cron) Live
- Vault-Sweep — Archivierung alter Aufträge (Cron) Live
- WhatsApp-Termin-Erinnerung (Cron) Teilweise
- Zulassungsschein-Aufräumung (Cron) Live
Gehört zu
Nutzt
- app/api/cron
- lib/cron-auth.ts
- docs/DEPLOYMENT.md
- docs/hetzner-migration-runbook.md
| aufrufer | Cron (OS-Crontab auf Hetzner) |
|---|---|
| routen | 19 |
| auth | lib/cron-auth.ts — verifyCronAuth()/verifyCronAuthOrCookie() — Bearer CRON_SECRET (min. 32 Zeichen) oder ?key=, timing-safe Vergleich, fail-closed bei fehlendem Secret |
| mechanismus | verifyCronAuth()/verifyCronAuthOrCookie() — Bearer-Header oder Legacy ?key=, zeitkonstanter Vergleich, Mindestlaenge 32 |
Beleg: docs/hetzner-migration-runbook.md:461-464 — externer Cron-Trigger mit CRON_SECRET; docs/DEPLOYMENT.md:112-143 — /etc/cron.d Beispiele
Tiefer fragen
Kontext aus dem KFZ-Bozo-Handbuch
Knoten: sec-cron-auth (API-Gruppe · Daten, Datenschutz & Sicherheit · live · geprüft Sat Sep 05 2026 02:00:00 GMT+0200 (Mitteleuropäische Sommerzeit) @ 0f0406a1)
Kurz: Automatisierte Hintergrund-Läufe (19 Stück) müssen sich mit einem geheimen, mindestens 32 Zeichen langen Passwort ausweisen — fehlt das Passwort auf dem Server, verweigern ALLE diese Läufe automatisch die Arbeit, statt versehentlich offen zu laufen.
Lies zuerst (Lesebereich, nicht der ganze Baum):
app/api/cron
lib/cron-auth.ts
docs/DEPLOYMENT.md
docs/hetzner-migration-runbook.md
Hängt zusammen mit:
app-pad-station (MEM:pad-fernanforderung-live-2026-09-02.md) · auto-billing-reminder (app/api/cron/billing-reminder/route.ts) · auto-vault-sweep (app/api/cron/vault-sweep/route.ts) · ops-env (.env.example) · auto-distill-memory (app/api/cron/distill-memory/route.ts) · auto-morning-briefing (app/api/cron/morning-briefing/route.ts) · auto-billing-reminder (app/api/cron/billing-reminder/route.ts) · auto-dsgvo-retention (app/api/cron/dsgvo-retention/route.ts)
Offene Fragen der Seite:
keine
Hausregel 2: Vault-Daten sind für diese Session unsichtbar; Quellpfade auf Vault-Code sind keine Freigabe.
Frage: {{DEINE FRAGE}}
Antworte nur mit Belegen: nenne Datei und Zeile für jede Aussage.
Wenn die Quellen die Frage nicht beantworten, sag das und nenne, was du zusätzlich lesen müsstest.
Weicht die Seite vom Code ab, schlage den Seiten-Patch vor (wiki/seiten/daten-recht-sicherheit/sec-cron-auth.md).