Sicherheit · öffentliche Doku

Doku, die ein DPO freitags liest.

Keine Marketing-Checkbox. Jede Ebene ist dokumentiert, getestet und unter der Annahme entworfen, dass eine Aufsichtsbehörde, eine Kundin oder ein Auditor nachfragen wird.

CH
Souveränität standardmässig
strikter Modus, überprüfbar
10 Jahre
Append-only-Audit
Änderung in der DB abgewiesen · Trigger
0
Abfragen ohne Isolation
PostgreSQL-RLS pro Tenant
4
Sprachen der Oberfläche
FR · DE · IT · EN

06 Ebenen

Jedes Glied dokumentiert. Jeder Schlüssel gedreht.

Wir verkaufen kein Vorhängeschloss. Wir verkaufen ein Cockpit, das durchgängig auditierbar ist.

01 · Ebene

Tenant-Isolation, von der Datenbank erzwungen.

PostgreSQL Row-Level Security ist auf jeder Tabelle aktiviert. Der Anwendungscode schreibt nie ein WHERE tenantId — Prisma setzt eine Session-GUC, die von der Policy gelesen wird. Ein Bug, der das Scoping vergisst, liefert null Zeilen zurück, nie die Daten eines anderen Tenants.

  • Postgres-RLS erzwungen · Policy pro Tenant auf jeder tenantisierten Tabelle
  • UUID v7 überall · keine sequenziellen Zähler
  • Anwendungsrolle ohne Superuser — die Datenbank verweigert den Bypass selbst bei einem Bug
  • Isolationstests mit zwei Tenants, gegen eine echte Datenbank mit der Anwendungsrolle ausgeführt
Ebene 01

Illustration des Prinzips

02 · Ebene

Schweizer Souveränität, im Code überprüfbar.

Hauptinfrastruktur bei Infomaniak — Rechenzentren in der Schweiz. Der Modus «strikte Schweizer Souveränität» deaktiviert jede Funktion, die eine Verarbeitung ausserhalb der Schweiz erfordert — eine Regel, die im Backend durchgesetzt wird, keine Einstellung in der Oberfläche. Die verbleibenden Datenflüsse werden offengelegt: Stripe-Abrechnung (Irland), minimierte Push-Benachrichtigungen. Das Verzeichnis der Unterauftragsverarbeiter ist öffentlich.

  • Postgres, Redis, S3 (MinIO) · Schweizer Hauptinfrastruktur (Infomaniak)
  • Strikter Modus: jede Verarbeitung ausserhalb der Schweiz deaktiviert, vom Backend geprüft
  • Souveränes AI Gateway standardmässig (Llama 3.3 über Infomaniak)
  • Frontier-LLM (Anthropic — Inferenz auch ausserhalb EU/CH möglich, abgesichert durch Standardvertragsklauseln und das Data Privacy Framework), nur nach ausdrücklichem Opt-in
Ebene 02

Illustration des Prinzips

03 · Ebene

Secrets ausserhalb des Codes, nie im Repository.

Secrets leben nicht im Code: Die Schlüssel kommen aus der Server-Umgebung, auf die nur die Systemadministration Zugriff hat. Sensible Secrets in der Datenbank (TOTP, Webhook-Signatur) sind envelope-verschlüsselt. Automatisierte Rotation und automatisiertes Secret-Scanning kommen mit einem dedizierten Secret-Manager.

  • Secrets in Server-Umgebungsvariablen · ausserhalb des Repositorys
  • HTTPS überall (Let’s Encrypt, HSTS)
  • Eigene Authentifizierung · Argon2id, MFA TOTP verfügbar
  • Stripe-Webhooks · HMAC-Prüfung auf dem Raw Body
Ebene 03

Illustration des Prinzips

04 · Ebene

Native Konformität: nLPD, DSGVO.

Keine kosmetische Checkbox. Jede KI-Entscheidung wird protokolliert (Modell, Input, Output, Score, Alternativen). Das Audit-Log ist append-only — durch einen PostgreSQL-Trigger erzwungen — wird 10 Jahre aufbewahrt, ist in der Anwendung einsehbar und auf Anfrage des DPO oder der Kontrollbehörde exportierbar (JSON).

  • DSGVO-Recht auf Löschung im Self-Service des Tenants (kaskadierendes DELETE)
  • KI-Entscheidungen protokolliert: Modell, Eingaben, Ausgaben, Alternativen
  • Pseudonymisierung der PII in allen Pino-Logs
  • Striktes CSP + Helmet-Header auf der NestJS-API
Ebene 04

Illustration des Prinzips

05 · Ebene

Audit-Log append-only, 10 Jahre.

Jede fachliche Änderung wird protokolliert: wer, was, wann, von welcher IP, mit welchem Ergebnis. Die Datenbank weist jede Änderung eines Eintrags ab (PostgreSQL-Trigger). Das Löschen ist nur über zwei deklarierte Wege möglich: die gesetzliche Aufbewahrungsbereinigung und die vollständige Löschung eines Tenants auf dessen Verlangen.

  • Änderung (UPDATE) wird stets von einem PostgreSQL-Trigger abgewiesen
  • In der App einsehbar · über API exportierbar (JSON)
  • Aufbewahrung 10 Jahre · abgestimmt auf die Aufbewahrung der Geschäftsbücher (OR)
  • Versioniertes Schema — kein Breaking Change auf alten Zeilen
Ebene 05

Illustration des Prinzips

06 · Ebene

Backups und Wiederherstellung, ohne Überversprechen.

Die Wiederherstellungsverfahren sind in Runbooks dokumentiert, die mit dem Code versioniert werden. Das Off-site-Backup-Programm und die bezifferten Zusagen (RPO/RTO) befinden sich im Aufbau — wir stellen sie als laufende Arbeit dar, nicht als erledigt.

  • Wiederherstellungs-Runbooks mit dem Code versioniert
  • Daten auf Schweizer Infomaniak-Infrastruktur
  • Vertragliche RPO/RTO: eingeführt mit den Tarifen Moyenne und Grande
  • Der tatsächliche Stand wird auf Anfrage mitgeteilt — ohne Schönfärberei
Ebene 06

Illustration des Prinzips

Compliance-Roadmap

Was steht. Was kommt.

In Produktion

Praktiken nLPD · DSGVO

Ziel Q4 2026

Vollständiges Sicherheitsdossier, auf Anfrage geteilt

Ziel 2027

Verschlüsselte Backups ausserhalb der Produktionsmaschine

Ziel 2027

Self-Service-Export des Audit-Protokolls

Stellen Sie Ihre Fragen.

Sicherheitsdossier, Architektur, Verzeichnis der Unterauftragsverarbeiter, DPIA — auf Anfrage geteilt, schon beim ersten Gespräch.

Sécurité — SwissPlanif · SwissPlanif