{"controller_enrolled":false,"controller_last_error":"","feature_summary":{"in_progress":0,"live":19,"planned":1},"features":[{"area":"Plattform","name":"Domain, TLS, Reverse-Proxy","note":"sentinel-communication.de aktiv (Let's Encrypt on-demand).","state":"live"},{"area":"Plattform","name":"Health & Diagnose","note":"GET /healthz, GET /api/status, GET /api/controller/status.","state":"live"},{"area":"Plattform","name":"Sentinel-Controller Enrolment","note":"Enrol- und Heartbeat-Client live; Zero-Config-Bootstrap ueber SC_CONTROLLER_URL, SC_CONTROLLER_INSTANCE_ID, SC_CONTROLLER_ENROL_TOKEN. Reine Kunden-Instanzen ohne Enrol-Token laufen mit last_error=no_enrolment_token_no_api_key.","state":"live"},{"area":"Konten","name":"Betreiber- und Konto-Login","note":"Passwort + Session-Cookie.","state":"live"},{"area":"Konten","name":"Passkeys, 2FA, Sub-User","note":"Passkey-Login (WebAuthn), TOTP-2FA fuer Passwort-Login und Sub-User (Mitarbeiter-Logins pro Konto) alle live.","state":"live"},{"area":"Mail","name":"Mailbox-Verwaltung","note":"CRUD ueber /api/mailboxes, UI unter /mail.","state":"live"},{"area":"Mail","name":"SMTP-Postausgang","note":"STARTTLS/SSL, formataddr, saubere Fehler.","state":"live"},{"area":"Mail","name":"IMAP-Empfang","note":"Sync per Klick, Nachrichten-Store pro Mailbox, keine Server-Seen-Aenderung.","state":"live"},{"area":"Mail","name":"Automatischer Sync-Hintergrund","note":"Poller im 5-Minuten-Takt (SENTINEL_COMMUNICATION_MAIL_POLL_SECONDS).","state":"live"},{"area":"Mail","name":"IMAP-IDLE-Push (Sekunden-Latenz)","note":"Ein Watcher-Thread pro Mailbox halt IMAP-IDLE offen; EXISTS/EXPUNGE loesen sofortigen Sync aus, Poller bleibt als Fallback. Status unter /api/mail/idle.","state":"live"},{"area":"Mail","name":"Verschluesselte Passwoerter at rest","note":"Fernet-Key in data/master.key (0600), transparente Ent-/Verschluesselung.","state":"live"},{"area":"Konten","name":"Operator-UI /admin/accounts","note":"Anlegen, Passwort setzen, aktivieren/deaktivieren, loeschen.","state":"live"},{"area":"Justiz-Kanaele","name":"eBO-Adressbuch & Absender-Zertifikate","note":"Kontenspezifische Absender-P12, SAFE-Aufloesung fuer Empfaenger (Kreuzberg F1108 & Co.).","state":"live"},{"area":"Justiz-Kanaele","name":"SAFE-Verzeichnis-Suche","note":"Exakter Name (z.B. 'Bundesgerichtshof') liefert F-/A-/D-Kennung + Intermediary; Uebernehmen ins Adressbuch mit einem Klick.","state":"live"},{"area":"Justiz-Kanaele","name":"eBO mediateDelivery (Send)","note":"OSCI-1.2 Dialog (InitDialog + MediateDelivery + ExitDialog) live gegen NRW/Berlin-Intermediaere getestet; Feedback-Codes lokal uebersetzt (0801, 3501, 3707, 9805, 9811).","state":"live"},{"area":"Justiz-Kanaele","name":"eBO-Empfang (FetchProcessCard + FetchDelivery)","note":"Java-CLI FetchInbox: OSCI-1.2 InitDialog + FetchProcessCard (Uebersicht) + FetchDelivery (Einzelnachricht + Attachments als Datei) + ExitDialog. Endpunkte /api/ebo/inbox und /api/ebo/inbox/fetch aktiv.","state":"live"},{"area":"Justiz-Kanaele","name":"EGVP","note":"gleicher OSCI-Stack wie eBO; jede EGVP-Adresse ist ueber die SAFE-Suche greifbar und wird als Empfaenger gefuehrt.","state":"live"},{"area":"Justiz-Kanaele","name":"beA (BRAK-Postfach)","note":"Recherche + Modul-Skelett sc_bea.py; wartet auf BRAK-Testzertifikat. SOAP/HTTPS + XJustiz + HBA/Soft-Token, kein OSCI-Stack. Endpunkt /api/bea/status liefert Roadmap.","state":"planned"},{"area":"Chat","name":"WhatsApp & Telegram","note":"Send + Empfang via Webhook live (WhatsApp Cloud API v20 + Telegram Bot API). Konfiguration und Webhook-URLs im Dashboard; Inbox unter /api/chat/inbox/{whatsapp,telegram}.","state":"live"},{"area":"Prozessverwaltung-Bridge","name":"PV konsumiert SC via API","note":"SC-API-Tokens + Bridge-Modul + PV-Routen /api/communication/* + Standalone-Konfig-Seite /tools/communication live. Wirksam nach naechstem PV-Restart im Docker-Stack.","state":"live"}],"ok":true,"release_channel":"dev","release_version":"dev","service":"sentinel-communication","uptime_seconds":673879}
