Deine Finanzdaten gehören zu den sensibelsten Informationen, die es gibt. Deshalb ist Sicherheit kein nachträgliches Feature, sondern die Grundlage, auf der Kontavio gebaut ist. Auf dieser Seite erklären wir transparent, wie wir deine Daten schützen.
1. Unsere Sicherheitsphilosophie
Wir folgen drei Grundprinzipien:
- Minimale Angriffsfläche — Wir speichern nur Daten, die für die Funktion der App nötig sind. Keine Kreditkartennummern, keine Bank-Passwörter.
- Defense in Depth — Mehrere Sicherheitsebenen statt einer einzelnen Mauer: Netzwerk, Applikation, Datenbank, Verschlüsselung, Zwei-Faktor-Authentifizierung.
- Transparenz — Wir kommunizieren offen, wie unsere Systeme funktionieren, statt durch Geheimhaltung Sicherheit vorzutäuschen.
2. Hosting & Infrastruktur
| Aspekt | Details |
|---|---|
| Anbieter | Hetzner Cloud, Deutschland |
| Standort | Falkenstein (Sachsen), EU |
| Rechtsraum | Deutsches Datenschutzrecht + DSGVO |
| Betriebssystem | Ubuntu 24.04 LTS mit automatischen Sicherheitsupdates |
| Reverse Proxy | Caddy mit automatischem TLS-Zertifikatsmanagement (Let's Encrypt) |
| Netzwerk | Nur Port 443 (HTTPS) öffentlich erreichbar. SSH nur über Key-basierte Authentifizierung. |
Warum Hetzner? Hetzner ist ein deutscher Infrastrukturanbieter mit ISO 27001-zertifizierten Rechenzentren. Deine Daten verlassen nie die EU. Im Gegensatz zu US-Cloud-Anbietern unterliegt Hetzner nicht dem CLOUD Act.
3. Verschlüsselung
In Transit (Übertragung)
- TLS 1.3 für alle Verbindungen zwischen deinem Browser und unseren Servern
- HTTPS-Only — HTTP-Anfragen werden automatisch auf HTTPS umgeleitet
- HSTS (HTTP Strict Transport Security) aktiviert
- Caddy verwaltet Zertifikate automatisch via Let's Encrypt mit OCSP Stapling
At Rest (Speicherung)
- PostgreSQL Datenbank auf verschlüsseltem Dateisystem
- Datenbank ist nur über
localhosterreichbar — kein externer Netzwerkzugriff möglich - Passwörter werden mit bcrypt (Kostenfaktor 12) gehasht — niemals im Klartext gespeichert
- Session-Tokens sind kryptografisch zufällig generierte 256-Bit-Werte
- Secure-Flag auf allen Session-Cookies — Übertragung ausschließlich über HTTPS
4. Authentifizierung & Kontoschutz
Kontavio sichert dein Konto mit mehreren Schutzebenen ab:
Zwei-Faktor-Authentifizierung (2FA)
- Pflicht bei der Registrierung — Jeder neue Account muss mindestens die E-Mail-Adresse verifizieren (Double Opt-In), bevor die App genutzt werden kann
- TOTP-Authenticator (empfohlen) — Unterstützung für gängige Authenticator-Apps wie Google Authenticator, Authy, 1Password oder Bitwarden
- Recovery-Codes — 8 einmalig verwendbare Backup-Codes für den Notfall, falls die Authenticator-App nicht verfügbar ist. Recovery-Codes werden bcrypt-gehasht gespeichert.
- Bei aktivierter 2FA wird bei jedem Login ein zusätzlicher 6-stelliger Code abgefragt — selbst bei gestohlenem Passwort bleibt das Konto geschützt
Passwort-Sicherheit
- bcrypt-gehashte Passwörter (Kostenfaktor 12) — selbst bei einem theoretischen Datenbankzugriff wären Passwörter nicht rekonstruierbar
- Mindestlänge 8 Zeichen bei der Registrierung und Passwortänderung
- Passwortänderung erfordert die Eingabe des aktuellen Passworts
Brute-Force-Schutz
- Rate Limiting — Maximal 10 Login-Versuche pro Minute pro IP-Adresse. Bei Überschreitung wird die IP temporär blockiert (HTTP 429).
- Account Lockout — Nach 5 fehlgeschlagenen Login-Versuchen wird das Konto für 15 Minuten gesperrt, unabhängig von der IP-Adresse.
- Registrierung — Maximal 5 Registrierungen pro Minute pro IP-Adresse.
Session-Management
- Session-basierte Authentifizierung mit HTTP-Only Cookies — nicht über JavaScript auslesbar
- Secure-Flag auf allen Cookies — Session-Tokens werden nur über HTTPS übertragen
- SameSite=Lax — Schutz vor Cross-Site Request Forgery (CSRF)
- Session-Timeout — Inaktive Sessions werden automatisch invalidiert
- Sessions sind an einen einzelnen Benutzer gebunden und serverseitig validiert
5. Bank-Anbindung & Read-Only-Zugriff
Wir haben keinen Zugriff auf dein Geld.
| Verbindungsart | Zugriff | Details |
|---|---|---|
| Open Banking (PSD2) | Nur Lesezugriff | Über regulierte Aggregatoren (Enable Banking). Wir können Transaktionen lesen, aber keine Überweisungen initiieren. Consent läuft nach 90 Tagen ab. |
| Wise / Airwallex API | Nur Lesezugriff | API-Tokens mit Read-Only-Berechtigung. Kein Schreibzugriff auf Konten. |
| CSV / CAMT Import | Offline | Dateien werden lokal verarbeitet. Keine Verbindung zu deiner Bank nötig. |
- Bank-API-Credentials werden verschlüsselt gespeichert
- PSD2-Consent kann jederzeit widerrufen werden — direkt bei deiner Bank oder in Kontavio
- Wir speichern keine Bank-Zugangsdaten (Benutzername/Passwort) — die Authentifizierung läuft immer direkt bei der Bank
6. Applikationssicherheit
OWASP Top 10 Schutzmaßnahmen
- SQL Injection — Alle Datenbankabfragen nutzen parametrisierte Queries über Drizzle ORM. Kein String-Concatenation in SQL.
- Cross-Site Scripting (XSS) — Vue 3 escaped standardmäßig alle Template-Ausgaben. Kein
v-htmlmit User-Input. - Cross-Site Request Forgery (CSRF) — Session-Cookies sind mit
SameSite=Laxkonfiguriert. API nutzt Bearer-Token-Authentifizierung. - Broken Authentication — Zwei-Faktor-Authentifizierung, Rate Limiting und Account Lockout auf allen Auth-Endpoints.
- Security Headers —
X-Content-Type-Options,X-Frame-Options,Referrer-Policyvia Caddy konfiguriert.
Dependency Management
- Regelmäßige Überprüfung auf bekannte Schwachstellen in Dependencies
- Minimale Abhängigkeiten — weniger Code = weniger Angriffsfläche
7. Datenisolierung & Multi-Tenancy
Jeder Benutzer sieht nur seine eigenen Daten. Die Isolierung wird auf mehreren Ebenen sichergestellt:
- Middleware-Ebene — Jede API-Anfrage wird gegen die aktive Session und die zugehörige Entity validiert
- Datenbank-Ebene — Alle Tabellen sind über
entity_idunduser_idForeign Keys isoliert. Jede Query filtert automatisch auf den aktuellen Benutzer. - Kein Shared-Data — Es gibt keinen globalen Datenpool. Jede Entity hat ihre eigenen Kunden, Transaktionen, Rechnungen und Berichte.
8. Backups & Disaster Recovery
- Tägliche Datenbank-Backups auf separatem Storage
- Point-in-Time Recovery über PostgreSQL WAL-Archivierung möglich
- Backups werden verschlüsselt gespeichert
- Regelmäßige Wiederherstellungstests
9. KI & Datenverarbeitung
Wenn du die optionale KI-Kategorisierung aktivierst:
- Opt-In — KI-Features sind standardmäßig deaktiviert. Du entscheidest aktiv, ob du sie nutzen willst (DSGVO-konformer Consent).
- Minimale Daten — An den KI-Anbieter werden nur Transaktionsbeschreibungen und Beträge gesendet, keine persönlichen Daten wie Namen oder Kontodaten.
- Kein Training — Deine Daten werden nicht zum Training von KI-Modellen verwendet.
- Audit-Log — Jede KI-Verarbeitung wird protokolliert und ist unter Einstellungen einsehbar.
10. Verantwortungsvolle Offenlegung
Hast du eine Sicherheitslücke gefunden? Wir nehmen das ernst.
Bitte melde Sicherheitsprobleme an security@kontavio.com. Wir antworten innerhalb von 48 Stunden und arbeiten mit dir zusammen an einer Lösung, bevor die Lücke öffentlich gemacht wird.
Bitte nicht:
- Daten anderer Benutzer zugreifen oder verändern
- Denial-of-Service-Angriffe durchführen
- Social Engineering gegen unser Team einsetzen