Sicherheitskonzept

Sicherheit by Design

Technische Maßnahmen zum Schutz gespeicherter Kundendaten — ohne Kompromisse.

Verschlüsselung

  • Payload-Verschlüsselung: XSalsa20-Poly1305 (libsodium secretbox)
  • Datensatz-Schlüssel: 32 Byte Zufallsschlüssel pro Datensatz
  • Schlüssel-Wrapping: Argon2id (pwhash) aus Kunden-Passphrase
  • Die Passphrase wird niemals gespeichert — kein Back-Door möglich

Zugangstoken

  • Einladungslinks: einmaliger Token (32 Byte Zufallswert)
  • Nur HMAC-SHA256-Hash wird in der Datenbank gespeichert
  • Ablaufzeit: 7 Tage ab Ausstellung
  • Nach erstem Entsperren: Session-basierter Zugang (30 Min. Idle-Timeout)

Admin-Authentifizierung

  • Keine Passwörter — ausschließlich OTP via E-Mail
  • OTP: 6 Ziffern, 10 Minuten gültig, einmaliger Gebrauch
  • OTPs nur als HMAC-SHA256-Hash gespeichert
  • Rate-Limiting: max. 5 Anfragen/Stunde pro E-Mail, 20/Stunde pro IP

Mandantentrennung

  • Vollständige Datenisolierung pro Mandant (tenant_id auf allen Tabellen)
  • Alle Datenbankabfragen sind mandantengebunden
  • Kein mandantenübergreifender Datenzugriff möglich

Protokollierung

  • Separates Audit-Log, Security-Log und App-Log
  • Keine Klartextdaten, Passphrases oder vollständige E-Mail-Adressen in Logs
  • Tägliche Log-Rotation (30 Tage Aufbewahrung)