{"controller_enrolled":false,"controller_last_error":"","crypto_agility":{"integration_state":"provider_validated_not_routed","profile":"classical-only","provider_available":true,"self_test":{"data_algorithm":"AES-256-GCM","kem":"ML-KEM-768","ok":true,"signature":"ML-DSA-65","tamper_rejected":true},"supported_profiles":["classical-only","pqc-ready-ml-kem-768-ml-dsa-65"]},"crypto_agility_keys":{"configured_accounts":0,"key_versions":0,"private_keys_encrypted":true},"feature_summary":{"in_progress":1,"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":"Kryptografie","name":"PQC-Kryptoagilitaet","note":"ML-KEM-768/ML-DSA-65 Provider und versionierter Envelope selbstgetestet; SAFE liefert derzeit keinen verifizierten ML-KEM-Empfaengerschluessel, daher kein Hybridmodus.","state":"in_progress"},{"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 live; Transportverschluesselung erzwungen. SAFE-Recipient-Cert wird auf Gueltigkeit, RSA-Staerke, Key Encipherment und Java-Fingerprint-Bindung geprueft. Communication verarbeitet vor OSCI weiterhin Klartext.","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,"recipient_crypto":{"browser_cryptokey_no_server_plaintext":false,"classical_algorithms":{"RSA-4096":14},"classical_blocked":2,"classical_ready":12,"hybrid_ready_recipients":0,"java_fingerprint_binding":true,"pqc_state":"recipient-key-unavailable","recipient_count":14,"server_plaintext_before_osci_transport":true,"transport_encryption_forced":true,"verified_pqc_recipient_keys":0},"release_channel":"dev","release_version":"dev","service":"sentinel-communication","uptime_seconds":124483}
