Sicherheit
Sicherheit als Invariante, nicht als Funktion.
Mandantengrenze auf AST-Ebene erzwungen. mTLS-Agenten mit Auto-Rotation. Ein unveränderliches Audit-Log. Details unten.
Architektonische Invarianten
- Jede TSDB-Abfrage erhält eine organization_id. composeQuery und rewritePromQL fügen organization_id als Pflicht-Matcher hinzu. Es gibt keinen Roh-Pfad für Nutzereingaben — mandantenübergreifender Datenabfluss ist strukturell unmöglich.
- Embed-JWT-Modell. API-Schlüssel stellen kurzlebige JWTs mit Pflichtfiltern in den Claims aus. Handler lesen Filter aus den Claims, nie aus der URL. Spoofing über eine manipulierte URL ist unmöglich.
- Secrets via SecretBox (AES-256-GCM). OAuth-Tokens, Kanal-Signaturschlüssel und Embed-Schlüssel werden mit einem Master-Key verschlüsselt gespeichert. Klartext landet nie in den Logs.
- Agent-Identität = geprüftes Client-Zertifikat. Kein Header, kein Body. Die mTLS-Validierung erfolgt in der Server-TLS-Konfiguration, nicht im Anwendungscode.
- JWT-Schlüssel rotieren mit kid-Header. Während der Rotation liegen mehrere Signaturschlüssel im Speicher. KeyRevocator entwertet ausgestellte Tokens bei Bedarf vorzeitig.
- Tokens öffentlicher Dashboards akzeptieren nie eine org_id aus der URL. Die org_id wird serverseitig aus der Token-Zeile aufgelöst — eine manipulierte URL kann die Organisation nicht wechseln.
Authentifizierung
- Cookie-Sessions mit CSRF-Double-Submit
- Passwort + bcrypt
- TOTP-2FA (RFC 6238)
- WebAuthn / Passkeys
- OAuth: GitHub, Google, Apple
- Magic-Link für passwortlos
- SCIM 2.0 für IdP-Auto-Provisioning
Transportsicherheit
- Cabinet über HTTPS — TLS 1.2+, HSTS in Production
- mTLS-Ingest — eigener Listener, Client-Auth verpflichtend
- Agent-Zertifikate — TTL 24 h, Auto-Rotation
- Eingebaute Agent-CA, keine öffentliche
Daten im Ruhezustand
- Postgres — Verschlüsselung auf Disk-Ebene (managed) oder App-Ebene (SecretBox für Secrets)
- TSDB — Verschlüsselung auf Disk-Ebene (LUKS / Cloud-KMS)
- Backups — mit Ihrem eigenen Schlüssel verschlüsselt, nicht mit einem geteilten
Offenlegungsrichtlinie
Schwachstelle gefunden? Schreiben Sie an [email protected]. PGP-Fingerprint auf Anfrage. Wir antworten binnen 48 Stunden.
- Critical / RCE / Datenleck / Auth-Bypass — Patch binnen 7 Tagen
- High — Patch binnen 30 Tagen
- Medium — Patch binnen 90 Tagen
- Low — im nächsten Release
Die öffentliche Offenlegung folgt dem Fix-Release, auf Wunsch mit Ihrer Nennung. Für gravierende Funde zahlen wir eine Prämie.
Unterauftragsverarbeiter
Das Managed-Angebot nutzt die folgenden Unterauftragsverarbeiter. Die vollständige Liste mit Zweck und Datenumfang steht im DPA-Dokument.
- Cloud-Hosting — Infrastruktur (Regionen US, EU)
- Globaler Zahlungsanbieter — Zahlungsabwicklung
- Transaktions-E-Mail
- CDN + DDoS-Schutz