Datenschutz
Übersicht, welche Daten die App verarbeitet, warum, wie lange — und welche externen Dienste beteiligt sind.
Welche Daten werden verarbeitet?
Zum Betrieb des Content Manager Pro werden folgende Daten in einer lokalen Datenbank gespeichert:
- Benutzerkonto — E-Mail-Adresse, Anzeigename, Rolle, gehashtes Passwort (bcrypt, nie im Klartext), optional 2FA-Geheimnis.
- Sessions — Session-ID (zufällig), zugehörige IP-Adresse, User-Agent (Browser/Gerät), Zeitpunkt der Erstellung und letzter Aktivität. TTL 7 Tage.
- Passkeys — öffentlicher Schlüssel und Gerätename. Biometrische Merkmale verbleiben ausschließlich auf dem Endgerät.
- Login-Versuche — IP, E-Mail und Erfolg/Misserfolg, zur Erkennung von Brute-Force-Angriffen.
- Security-Events (Audit-Log) — relevante sicherheitsbezogene Ereignisse (Login, 2FA, Passwort-Änderung, Passkey-Verwaltung, Admin-Aktionen) mit Zeitpunkt, IP und User-Agent.
- Projekt- und Inhaltsdaten — Projektname, Projekt-Status, Notizen, Item-Historie.
Weder localStorage noch Tracking-Cookies werden gesetzt. Es findet kein Tracking, keine Werbe- oder Analytics-Integration statt.
Rechtsgrundlage & Zweck
Die Verarbeitung von IP-Adresse, User-Agent und Session-Daten erfolgt auf Grundlage von Art. 6 (1) f DSGVO (berechtigtes Interesse). Erwägungsgrund 49 nennt die Sicherheit von Netz- und Informationssystemen ausdrücklich als anerkannten Zweck. Genau dafür werden diese Daten erhoben — Schutz der App vor Brute-Force, Session-Hijacking und unbefugter Nutzung.
Die Verarbeitung der Konto- und Inhaltsdaten erfolgt zur Erfüllung des Nutzungsverhältnisses (Art. 6 (1) b DSGVO).
Speicherdauer
- Sessions, 2FA-Token und WebAuthn-Challenges: automatischer Ablauf (Session 7 Tage, Token & Challenges wenige Minuten).
- Login-Versuche und Security-Events: werden aktuell unbegrenzt aufbewahrt, um forensische Analysen bei Sicherheitsvorfällen zu ermöglichen. Eine Obergrenze wird im Rahmen der nächsten Phase (VPS-Deployment) eingeführt.
- Konto- und Inhaltsdaten: bis zur Löschung durch den Nutzer bzw. durch einen Administrator.
Cookies
ic_session— Session-Kennung.HttpOnly,SameSite=Strict,Secure. Lebensdauer 7 Tage.cmp.csrf/__Host-cmp.csrf— CSRF-Schutz (Double-Submit-Token).HttpOnly,SameSite=Strict,Secure. Session-Laufzeit.
Keine weiteren Cookies, insbesondere keine Tracking- oder Marketing-Cookies.
Externe Dienste
Cloudflare (geplant, Phase 4)
Nach dem Umzug der App auf den Produktivserver steht Cloudflare als CDN und Bot-Schutz vor der Anwendung. Dabei werden IP-Adresse und Anfrage-Header an Cloudflare übermittelt. Cloudflare liefert bei aktiver Geo-Erkennung das zugeordnete Land im CF-IPCountry-Header, den die App bei Sicherheits-Events mitspeichert (z. B. zur Erkennung ungewöhnlicher Login-Standorte). Es werden keine MaxMind-/GeoLite-Datenbanken lokal verwendet.
Cloudflare Turnstile (optional)
Bei aktiviertem CAPTCHA wird die IP-Adresse des anfragenden Endgeräts sowie ein Challenge-Token an challenges.cloudflare.com übermittelt. Die Integration wird erst nach drei fehlgeschlagenen Login-Versuchen aktiviert.
Keine weiteren externen Dienste
Kein Analytics, kein Error-Tracking, kein externer Mail-Versand, keine Werbepartner, keine Social-Media-Widgets.
Lizenzhinweis — GeoLite2 (MaxMind)
Ursprünglich war die Einbindung der npm-Bibliothek geoip-lite zur Ermittlung des Herkunftslands aus IP-Adressen vorgesehen. Diese Bibliothek nutzt die GeoLite2-Daten von MaxMind, die unter der Lizenz CC BY-SA 4.0 stehen und eine Attribution-Pflicht vorsehen.
Entscheidung: Statt der lokalen GeoLite2-Datenbank wird die Cloudflare-Integration (CF-IPCountry-Header) verwendet. Damit entfällt die Attribution-Pflicht in der Regel, weil keine MaxMind-Daten mehr im Paket enthalten sind. Der Hinweis bleibt auf dieser Seite bestehen, solange die Möglichkeit besteht, dass die Bibliothek temporär eingebunden wird (z. B. während des VPS-Umzugs oder für Offline-Tests).
Betroffenenrechte
Sie haben gemäß DSGVO jederzeit das Recht auf Auskunft, Berichtigung, Löschung, Einschränkung der Verarbeitung, Datenübertragbarkeit und Widerspruch. Bitte wenden Sie sich an den Administrator Ihres Accounts.