Zum Hauptinhalt springen

DSGVO und Datenschutz (cockpitOS)

Diese Seite beschreibt technische und organisatorische Maßnahmen von cockpitOS für Besucher-Websites, externe Frontends (API/v0) und das Redaktions-Dashboard. Sie ersetzt keine Rechtsberatung — der Center-Betreiber bleibt Verantwortlicher und pflegt Impressum sowie Datenschutzerklärung.

Rollen

RolleWercockpitOS
VerantwortlicherCenter / Website-Betreiber
AuftragsverarbeiterPlattformbetreiber (Hosting, Betrieb)Dashboard, API, Speicherung
UnterauftragsverarbeiterOpenAI, Resend, DeepL, ggf. Cloudflare, Google Mapsdokumentieren im AV-Vertrag

Was CockpitOS umsetzt

Besucher-Website (Templates & v0-Builds)

ThemaUmsetzung
Cookie-BannerOpt-in (vanilla-cookieconsent), Kategorien: notwendig, Analytics, extern (Maps/Schriften)
Analytics (Umami)Script erst nach Analytics-Einwilligung; DNT respektiert
KI-ChatSeparater Opt-in-Dialog; Server prüft chatConsentAccepted bei client=website
Session-IDZufällig im Browser — nicht aus IP abgeleitet
Bot-Analytics in DBNur anonymisierte queryNormalized (80 Zeichen), Intents, erwähnte Shop-IDs
Feedback aus ChatFreitext anonymisiert vor Speicherung
KontaktformularServerseitiger Versand (Resend), Empfänger-Allowlist, Rate-Limit
Öffentliche APIWhitelist (public-visitor-surface) — keine Secrets im Browser
SchriftenPresets via next/font (self-hosted); Google Fonts URLs blockiert
Google Maps (Centerplan)JS-API nur nach Cookie-Kategorie external
DNT / Analytics-Opt-outSchalter aus Dashboard; Footer „Analytics deaktivieren“ wenn aktiviert

Konfiguration: Einstellungen → Datenschutz (/dashboard/settings/privacy) und Center → Webseite → Legal.

CockpitOS Dashboard (Redaktion)

  • Login, Rollen, Center-Zuweisungen — personenbezogene Nutzerdaten
  • DeepL/ OpenAI nur serverseitig (Keys in Env), nicht im Browser
  • Kein vollständiges DSAR-Portal — Betroffenenanfragen prozessual beim Center

Aufbewahrung (Retention)

Cron: POST /api/cron/privacy-retention (Auth: Bearer CRON_SECRET)

Löscht nach PRIVACY_RETENTION_DAYS (Default 365):

  • ChatbotInteraction
  • CenterUsageEvent
  • Chatbot-Feedback (source=chatbot oder locationType=chatbot)

Siehe Cron-Setup.

Drittlandübermittlungen (Auswahl)

DienstZweckTypische Absicherung
OpenAIKI-Chat, interne KIAPI-DPA, SCC, kein Training (API-Policy)
ResendKontakt-E-MailsAV-Vertrag
DeepLRedaktions-ÜbersetzungAV (EU)
Google MapsCenterplan (optional)Einwilligung Kategorie external
UmamiAnalyticsSelf-hosted (Standort im Betrieb dokumentieren)

Was der Center-Betreiber pflegen muss

  1. Datenschutzerklärung — Abschnitte: Cookies, Analytics, KI-Assistent, Kontakt, Maps
  2. AV-Verträge mit Plattform und Subprozessoren
  3. Consent-Texte im Cockpit (Datenschutz-Einstellungen)
  4. Prozess für Auskunft/Löschung/Beschwerden (kein automatisches Ticket-System in cockpitOS)
  5. Bei v0-Go-Live: V0AnalyticsSnippet, Chat-Consent, keine Secrets im Frontend

v0-Frontends (Vercel, extern)

ThemaÜber API?v0 muss selbst …
Branding, Inhalte, API-URLsJa — GET …/public-visitor-surface (templatePublicContent, apiHints)Layout anbinden
Analytics (Umami)Ja — data.tracking + <V0AnalyticsSnippet centerId="…" />Cookie-Banner (oder cc_cookie mit Kategorie analytics)
DNT / Opt-out-SchalterJa — data.tracking.respectDNT, trackingOptOutV0AnalyticsSnippet setzt Regeln; Opt-out-Link im v0-Footer optional (localStorage cockpit-tracking-opt-out)
KI-ChatAPI ja — POST …/visitor-chatbotConsent-Dialog + chatConsentAccepted: true vor erster Nachricht
Google Maps / externe FontsKeys/URLs ggf. in APIKategorie external im Cookie-Banner — nicht automatisch in v0

Kurz: Daten und Schalter kommen aus der API, Consent-UI und Drittanbieter-Einbindung müssen im v0-Build umgesetzt werden (oder Nutzer nutzen die Cockpit-Center-Website als Referenz).

Textbausteine (Center-DSE): siehe intern apps/center-website/docs/DATENSCHUTZ-TEXT.md.

Was cockpitOS bewusst nicht abdeckt

  • Externes CMP (Usercentrics, Cookiebot) als Vollprodukt
  • Automatisches DSAR-Workflow-Portal
  • Rechtliche Bewertung der Formulierungen

Details zur Dashboard-Seite Datenschutz & Einwilligung: Datenschutz & Einwilligung.

So testen

  1. Center-Website: Cookie-Banner → nur notwendig → Umami-Script nicht in DevTools Network
  2. Analytics akzeptieren → script.js von Umami lädt
  3. Chat: ohne Consent keine Antwort (403); mit Consent Antwort
  4. Centerplan mit Google-Key: ohne external-Consent Hinweis statt Karte
  5. Cron dry-run: curl -X POST …/api/cron/privacy-retention -H "Authorization: Bearer $CRON_SECRET"

Betrieb

EnvBedeutung
CRON_SECRETAuth für Retention-Cron
PRIVACY_RETENTION_DAYSLöschfrist Bot-Analytics (Default 365)
COCKPIT_DISABLE_PUBLIC_VISITOR_RATE_LIMIT=1Rate-Limits aus (nur Tests)
NEXT_PUBLIC_UMAMI_DEV_WITHOUT_CONSENT=1Umami ohne Consent (nur lokale Dev)

Nutzungsstatistik: Seitenaufrufe werden anonymisiert erfasst. Im Umami-Dashboard nach diesem Pfad filtern: /plattform/dsgvo-und-datenschutz