Datenschutzerklärung
Stand: April 2026
Kurzfassung: Cashflow speichert keine Trading-Daten auf dem Server. Alle Trades, API-Schlüssel und Portfolio-Daten bleiben ausschließlich in deinem Browser. Auf dem Server werden nur Profil- und Abo-Daten (E-Mail, Name, OAuth-Provider, Abo-Status) sowie — falls du Spotify verbindest oder ein Jam startest — die zugehörigen Spotify-Profildaten und Jam-Session-Daten gespeichert.
1. Verantwortlicher
[Vor- und Nachname]
[Straße und Hausnummer]
[PLZ Ort]
E-Mail: [deine@email.de]
2. Welche Daten werden verarbeitet?
2.1 Serverseitig gespeicherte Daten — Tabelle users
| Datum | Zweck | Speicherdauer |
|---|---|---|
| E-Mail-Adresse | Account-Identifikation | Bis Löschung |
| Name | Anzeige im Profil | Bis Löschung |
| Profilbild-URL | Avatar-Anzeige | Bis Löschung |
| Login-Anbieter | OAuth-Zuordnung (Google/GitHub/Discord; leer bei reinem Abo-Kauf ohne Login) | Bis Löschung |
| Abo-Status (Plan) | Feature-Freischaltung (Free/Pro) | Bis Löschung |
| Pro-Start-Datum | Rückverfolgung Abo-Beginn | Bis Löschung |
| Lemon-Squeezy-Customer-ID | Verknüpfung mit Zahlungsdienstleister für Abo-Webhooks | Bis Löschung |
| Abo-Ablaufdatum | Erkennung gekündigter Abos (Pro bis zum Ende der bezahlten Periode) | Bis Löschung |
| Registrierungsdatum | Account-Verwaltung | Bis Löschung |
| Free-Exchange-Lock | Nur Free-Plan: speichert die eine Börse die ein Free-User ausgewählt hat, damit Free-Restriction konsistent über mehrere Sessions bleibt | Bis Plan-Wechsel oder Löschung |
| Spotify-Profilname + Spotify-E-Mail | Nur wenn du "Mit Spotify verbinden" nutzt — für Admin-Allowlist-Pflege (Spotify Dev-Mode Beschränkung auf max. 5 User) | Bis Disconnect oder Löschung |
2.2 Spotify-Jam-Session — Tabelle spotify_jam
Nur aktiv wenn ein Admin einen Spotify-Jam-Link teilt. Maximal eine Zeile — wird automatisch gelöscht wenn der Host 2 Minuten keinen Heartbeat mehr sendet.
| Datum | Zweck | Speicherdauer |
|---|---|---|
| Jam-Link (open.spotify.com/jam/...) | Teilbarer Link für andere User | Max. 2 Min nach letztem Heartbeat |
| Host-Name | Anzeige im Banner für Jam-Teilnehmer | Max. 2 Min nach letztem Heartbeat |
| Host-E-Mail | Ownership-Prüfung (nur der Host kann den eigenen Jam beenden) | Max. 2 Min nach letztem Heartbeat |
| Heartbeat-Zeitstempel | Auto-Cleanup nach Inaktivität | Wird alle 30s vom Host aktualisiert |
2.3 Nur im Browser gespeicherte Daten (nicht auf dem Server)
- Trading-Daten (Trades, Funding, P&L)
- API-Schlüssel der Krypto-Börsen
- Portfolio- und Positions-Daten
- Steuerberechnungen und Exporte
- Einstellungen und UI-Präferenzen
Diese Daten werden in IndexedDB und localStorage deines Browsers gespeichert und verlassen dein Gerät nie.
3. Authentifizierung (OAuth)
Cashflow bietet Login über folgende Anbieter:
- Google — wir erhalten: E-Mail, Name, Profilbild
- GitHub — wir erhalten: E-Mail, Name, Profilbild
- Discord — wir erhalten: E-Mail, Name, Profilbild
Wir speichern kein Passwort. Die Authentifizierung erfolgt ausschließlich über den jeweiligen OAuth-Anbieter. Wir erhalten nur die oben genannten Daten und kein Zugriff auf dein Google-/GitHub-/Discord-Konto.
4. Hosting
Die App wird gehostet bei:
Render.com (Render Services, Inc.)
525 Brannan St, Suite 300, San Francisco, CA 94107, USA
Serverstandort: Frankfurt am Main (EU)
Render verarbeitet Server-Logs (IP-Adressen) im Rahmen des Hostings. Ein Auftragsverarbeitungsvertrag (DPA) liegt vor.
5. Datenbank
User-Daten werden gespeichert bei:
Turso (ChiselStrike, Inc.)
Serverstandort: EU-West (Irland)
Es werden ausschließlich die unter den Punkten 2.1 (users) und 2.2 (spotify_jam) genannten Daten gespeichert. Ein DPA liegt vor.
6. Zahlungen
Zahlungen werden abgewickelt über:
Lemon Squeezy (Lemon Squeezy, LLC / Stripe, Inc.)
Lemon Squeezy agiert als Merchant of Record — sie sind der rechtliche Verkäufer und verantwortlich für Zahlungsdaten, Rechnungen und MwSt-Abwicklung. Cashflow erhält über Webhooks nur folgende Daten:
- E-Mail-Adresse des Kunden (zur Verknüpfung mit dem Cashflow-Account)
- Abo-Status (
plan: free/pro, Status-Events wie created/cancelled/expired/paused/resumed) - Lemon-Squeezy-Customer-ID (
customer_id) — zur eindeutigen Verknüpfung mit Folge-Webhooks - Abo-Ablaufdatum (
ends_at) — bei gekündigten Abos, damit Pro bis zum Ende der bezahlten Periode bestehen bleibt
Zahlungs-Details (Kartennummer, Rechnungsadresse, Zahlungsverlauf) liegen ausschließlich bei Lemon Squeezy und werden von Cashflow nicht gespeichert.
7. Cookies
Cashflow verwendet ausschließlich funktionale Cookies:
- cashflow_session — Session-Cookie für die Authentifizierung (HttpOnly, Secure, SameSite=Lax, 7 Tage gültig)
- cashflow_beta — Nur während Closed-Beta aktiv. Enthält einen Hash des Beta-Zugangs-Codes, damit wiederkehrende Nutzer nicht jedes Mal neu eingeben müssen (HttpOnly, SameSite=Lax, 30 Tage gültig). Wird bei Code-Rotation automatisch ungültig.
- cashflow_spotify_refresh — Nur wenn du "Mit Spotify verbinden" nutzt. Enthält den Spotify Refresh-Token um auto-erneut Access-Tokens zu holen (HttpOnly, Secure, SameSite=Lax). Wird bei "Spotify trennen" gelöscht.
Es werden keine Tracking-Cookies, keine Analytics und keine Werbung eingesetzt. Ein Cookie-Banner ist daher nicht erforderlich.
8. Externe Dienste
| Dienst | Zweck | Daten |
|---|---|---|
| Google OAuth | Login | E-Mail, Name, Profilbild (einmalig) |
| GitHub OAuth | Login | E-Mail, Name, Profilbild (einmalig) |
| Discord OAuth | Login | E-Mail, Name, Profilbild (einmalig) |
| X/Twitter Syndication | News-Feed | Keine personenbezogenen Daten |
| Twemoji CDN (jsdelivr) | Flaggen-Emoji | Keine personenbezogenen Daten |
| EZB-API | EUR/USD-Kurse | Keine personenbezogenen Daten |
| Krypto-Börsen APIs | Trading-Daten | Direkt vom Browser, nicht über unseren Server (außer BingX/MEXC/Bitget via Proxy) |
Beim Proxy-Zugriff (BingX, MEXC, Bitget) leitet unser Server die API-Anfragen weiter, speichert aber keine Trading-Daten.
9. Deine Rechte (DSGVO)
- Auskunft (Art. 15) — Im Profil-Dropdown: „Meine Daten exportieren" liefert alle gespeicherten Daten als JSON.
- Löschung (Art. 17) — Im Profil-Dropdown oder unter Einstellungen → Daten löschen: „Account löschen" entfernt alle Server-Daten unwiderruflich.
- Berichtigung (Art. 16) — Name und Profilbild werden bei jedem Login automatisch aktualisiert.
- Datenübertragbarkeit (Art. 20) — Der Datenexport liefert alle Daten in maschinenlesbarem JSON-Format.
- Widerspruch (Art. 21) — Du kannst deinen Account jederzeit löschen und dich abmelden.
10. Rechtsgrundlagen
- Vertragserfüllung (Art. 6 Abs. 1 lit. b DSGVO) — Verarbeitung der Account-Daten für die Bereitstellung des Dienstes.
- Berechtigtes Interesse (Art. 6 Abs. 1 lit. f DSGVO) — Server-Logs zur Sicherstellung des Betriebs.
11. Änderungen
Diese Datenschutzerklärung kann bei Bedarf aktualisiert werden. Die aktuelle Version ist immer unter dieser URL abrufbar.