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