Skip to content

Datenschutz und DSGVO

Welche Daten CodeCharter verarbeitet, wo sie liegen und wie wir DSGVO-Pflichten umsetzen.

CodeCharter wird in Deutschland von der Bochmann Software GmbH betrieben. Alle Daten liegen auf Servern in Deutschland. Zahlungen wickelt unser Zahlungsdienstleister Stripe ab. Wenn Sie über eine Google-Ads-Anzeige zu uns finden, melden wir zudem eine Conversion serverseitig an Google Ads zurück (siehe Abschnitt "Google Ads Conversion-Messung"). Darüber hinaus geben wir keine personenbezogenen Daten an Dritte weiter.

Welche Daten wir verarbeiten

Für jeden Account speichern wir:

  • E-Mail-Adresse (für Login und Benachrichtigungen)
  • Display-Name (frei wählbar, dient nur der UI)
  • Passwort-Hash (nie als Klartext)
  • Erstellungsdatum und ein Anmelde-Protokoll: die letzten Anmeldeversuche (maximal 30 pro Account) mit Zeitstempel, IP-Adresse, Browser-Kennung und Erfolg bzw. Misserfolg
  • Bei einer E-Mail-Änderung: die neue, noch unbestätigte E-Mail-Adresse, bis Sie sie bestätigen
  • Version und Zeitpunkt Ihrer Zustimmung zu den AGB
  • Aktive und vergangene Abos
  • Abrechnungsdaten: sobald Sie einen Checkout abschließen, eine Kunden-ID unseres Zahlungsdienstleisters Stripe, die Ihren Account mit Ihrem dortigen Abo verknüpft
  • Wenn Sie über eine Google-Ads-Anzeige zu uns finden: die Google-Klick-Kennung (gclid) und etwaige Kampagnen-Parameter (utm_source, utm_medium, utm_campaign), serverseitig an Ihrem Account gespeichert und ausschließlich für die Conversion-Messung genutzt
  • Wenn Sie die GitHub-CI-Integration verbinden: die Installations-ID und der Name des GitHub-Accounts, auf dem die App installiert ist
  • Erstellte API-Keys (nur als Hash gespeichert, der Klartext-Wert nur einmalig direkt nach Erzeugung sichtbar)
  • Download-Log (welche Version, welche Plattform, wann, dazu IP-Adresse und Browser-Kennung)
  • Ein Audit-Log über wesentliche Account- und Konfigurationsaktionen, inklusive Client-IP-Adresse pro Eintrag; Audit-Einträge werden nach 24 Monaten automatisch gelöscht

Für die Analyse selbst verarbeiten wir gar keine Daten in unserer Infrastruktur. Die CLI läuft auf Ihrem Rechner oder Ihrem CI-Runner, liest Ihren Source-Code lokal und schreibt die Findings lokal weg. Wir holen uns weder Ihr Repo noch Code-Snippets in unsere Cloud.

Wo die Daten liegen

Was Wo
Portal-Datenbank Server in Deutschland (EU)
Release-Binaries Server in Deutschland (EU)
Logs Server in Deutschland (EU)
E-Mail-Versand EU-Region eines etablierten Anbieters

Backups werden täglich erstellt und sieben Tage aufbewahrt, dann überschrieben.

Recht auf Auskunft

Sie haben jederzeit das Recht zu erfahren, welche Daten wir über Sie gespeichert haben. Schicken Sie dafür eine Mail von der bei uns registrierten Adresse an [email protected] mit dem Betreff "Datenauskunft". Wir antworten innerhalb von 30 Tagen mit einer Übersicht aller Felder.

Recht auf Vergessen

Sie können Ihren Account selbst auf der Profil-Seite löschen. Dabei werden:

  • Ihr User-Record entfernt.
  • Alle Abos hart gelöscht (kein Soft-Delete).
  • Alle API-Keys entfernt; bestehende CI-Pulls werden ab dem nächsten Aufruf abgewiesen.
  • Ein gesalzener, langsam abgeleiteter Hash Ihrer E-Mail-Adresse wird auf eine Sperrliste gesetzt, damit eine erneute Registrierung mit derselben Adresse abgelehnt wird. Wir nutzen das gleiche Härtungs-Verfahren wie für Passwörter (PBKDF2 mit zufälligem Salt pro Eintrag); die E-Mail selbst speichern wir nicht.

Wenn Sie den Sperrlisten-Eintrag entfernt haben wollen, schreiben Sie uns an. Wir entfernen ihn manuell.

MCP-Server-Telemetrie

Der CodeCharter-MCP-Server kann auf Wunsch pseudonymisierte Nutzungs-Telemetrie an unsere Server senden. Dieser Abschnitt erfüllt die Informationspflicht nach Art. 13 DSGVO für diese Verarbeitung.

Zweck der Verarbeitung

Wir nutzen die Telemetrie zur Analyse der Produktnutzung und für Kundenanalysen. Konkret werten wir aus, welche MCP-Tools wie oft aufgerufen werden und wie performant die Analyse über Versionen hinweg bleibt. Daraus leiten wir Produkt-Roadmap und Priorisierung von Bugfixes ab.

Rechtsgrundlage

Art. 6 Abs. 1 lit. a DSGVO (Einwilligung). Die Telemetrie ist standardmäßig aus und wird nur durch eine explizite Aktivierung eingeschaltet, entweder per CLI-Flag, per Umgebungsvariable oder per Eintrag in der lokalen Konfigurationsdatei. Sie können die Einwilligung jederzeit widerrufen, indem Sie das Flag entfernen, die Umgebungsvariable löschen oder den Konfigurationseintrag zurücksetzen. Ab dem nächsten MCP-Server-Start werden dann keine Daten mehr gesendet.

Welche Daten erhoben werden

Die folgende Allowlist ist abschließend. Andere Felder werden nicht übertragen, weil sie strukturell nicht Teil des Payload-Typs sind.

  • tool_name: Name des aufgerufenen MCP-Tools (zum Beispiel analyze_solution).
  • latency_bucket: Latenz-Bucket des Aufrufs, nicht der exakte Wert.
  • is_success: ob der Aufruf erfolgreich war.
  • workspace_id (gehasht): ein Hash-Wert, niemals der Workspace-Pfad selbst. Der MCP-Server sendet derzeit einen konstanten Platzhalter-Hash, der keinerlei Workspace-Information enthält.
  • finding_summaries: höchstens rule_id, Severity und Anzahl pro Regel. Kein Finding-Text, keine Datei, keine Codestelle. Der MCP-Server überträgt diese Liste derzeit leer; es werden also keine Daten pro Regel gesendet.
  • license_id: Lizenz-ID des aktiven CodeCharter-Abos.
  • client_instance_id: pseudonyme lokale GUID (siehe unten).
  • code_charter_version: installierte CodeCharter-Version.
  • dot_net_version: .NET-Laufzeitversion.
  • os_family: Betriebssystem-Familie (win, linux, mac).
  • occurred_at_utc: UTC-Zeitstempel des Aufrufs.

Welche Daten nicht erhoben werden

Folgende Felder gehören explizit nicht zur Payload und werden nicht übertragen. Sie sind strukturell nicht Teil des Telemetrie-Payload-Typs, können also auch nicht versehentlich gesendet werden.

  • Source-Code in jeder Form, ob ganz oder als Snippet.
  • Datei-, Klassen-, Methoden- oder Entity-Namen.
  • Datei-Pfade und Diff-Inhalte.
  • Entwickler-Identitäten (Username, E-Mail, Git-Author, Hostname).
  • Regel-DSL-Text und benutzerdefinierte Regeldefinitionen.
  • Finding-Message-Text und Code-Snippets aus Findings.

Aufbewahrungsdauer

Telemetrie-Events werden 60 Tage aufbewahrt und danach automatisch gelöscht. Aggregierte Auswertungen ohne Personenbezug behalten wir darüber hinaus.

Charakter der client_instance_id

Die client_instance_id ist eine pseudonyme GUID, die einmalig pro Installation lokal erzeugt und in einer Datei abgelegt wird. Sie ist nicht aus Hardware-Merkmalen, MAC-Adressen, Hostnamen oder Nutzerdaten abgeleitet, sondern rein zufällig. Sie können sie jederzeit zurücksetzen, indem Sie die lokale Datei löschen. Beim nächsten Start wird eine neue ID erzeugt.

Speicherorte:

  • Windows: %LOCALAPPDATA%\CodeCharter\client-instance-id
  • Linux und macOS: $XDG_DATA_HOME/codecharter/client-instance-id, Fallback ~/.codecharter/client-instance-id

Empfänger

Die Daten werden ausschließlich auf unseren eigenen Servern in der EU verarbeitet. Es findet keine Übermittlung an Dritte statt, auch nicht innerhalb der EU.

Löschanfragen

Sie können die Löschung aller bisher gesendeten Telemetrie-Events zu Ihrer Lizenz verlangen. Schreiben Sie dafür an [email protected] mit dem Betreff "Telemetrie-Löschantrag" und Ihrer Lizenz-ID im Mailtext. Wir bestätigen die Löschung innerhalb von 30 Tagen.

Technische Doku

Eine vollständige technische Beschreibung der Telemetrie, inklusive Endpunkt-URL, Payload-Schema und Opt-in-Mechanik, finden Sie unter MCP-Telemetrie.

Wenn Sie über eine Google-Ads-Anzeige auf unsere Seite gelangen, hängt Google an die Ziel-URL eine Klick-Kennung (den Parameter gclid) an. Wir nutzen diese Kennung, um den Erfolg unserer Werbung zu messen, ohne dazu Tracking-Cookies zu setzen oder ein Cookie-Banner einzublenden.

Ablauf

Die Klick-Kennung und etwaige Kampagnen-Parameter (utm_source, utm_medium, utm_campaign) werden bei der Registrierung serverseitig an Ihrem Account gespeichert. Schließen Sie später ein kostenpflichtiges Abo ab, melden wir diese eine Conversion serverseitig an Google Ads zurück (Offline-Conversion-Import): die Klick-Kennung, den Zeitpunkt sowie den Auftragswert und die Währung. Wir übertragen dabei keinen Namen, keine E-Mail-Adresse und keine weiteren Kontodaten.

Rechtsgrundlage

Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse). Unser berechtigtes Interesse ist die Messung und wirtschaftliche Steuerung unserer Werbung. Sie können dieser Verarbeitung jederzeit widersprechen. Schreiben Sie dazu an [email protected] mit dem Betreff "Google Ads Widerspruch".

Empfänger und Drittlandübermittlung

Empfänger der Conversion-Daten ist Google (Google Ireland Ltd. und Google LLC). Google verarbeitet die Daten als Auftragsverarbeiter nach den Google-Ads-Datenverarbeitungsbedingungen. Dabei kann eine Übermittlung in die USA stattfinden, gestützt auf den Angemessenheitsbeschluss zum EU-US Data Privacy Framework und ergänzende Standardvertragsklauseln.

Aufbewahrungsdauer

Die Klick-Kennung und die Kampagnen-Parameter speichern wir für die Dauer der Abrechnungsbeziehung an Ihrem Account. Löschen Sie Ihren Account, werden sie mit dem User-Record entfernt. Für die an Google übermittelten Conversions gelten darüber hinaus die Fristen von Google Ads.

Auftragsverarbeitung

Für Geschäftskunden bieten wir einen Auftragsverarbeitungsvertrag (AVV) nach Art. 28 DSGVO. Fragen Sie bei uns an, wir schicken den Standard-AVV zu und Sie unterschreiben digital.

Cookies

Das Portal setzt nur technisch notwendige Cookies: für die Session, für den CSRF-Schutz auf Formularen und für Ihre Spracheinstellung (wird beim Umschalten der UI-Sprache für ein Jahr gesetzt).

Wir setzen keine Tracking-Cookies, kein Google Analytics, kein Meta-Pixel und keine Werbe-Cookies. Unsere Google-Ads-Conversion-Messung läuft serverseitig und ganz ohne Cookies (siehe Abschnitt "Google Ads Conversion-Messung"). Daher kein Cookie-Banner.

Verantwortlich nach DSGVO

Bochmann Software GmbH
Mitja Bochmann
[email protected]

Vollständige Kontakt- und Vertretungsdaten siehe Impressum.