Zum Inhalt springen

Wie wir Source-Code behandeln

Was mit eurem Code passiert, wenn ihr CodeCharter nutzt, und was nicht.

Kurzfassung: Euer Source-Code verlässt eure Umgebung nicht. Die Analyse läuft lokal, wir holen nichts in unsere Cloud, und wir schicken nichts an einen LLM-Endpoint.

Was bei einem CodeCharter-Lauf passiert

codecharter analyze .
    │
    ▼
Ihre Maschine / Ihr CI-Runner liest .cs-Dateien
    │
    ▼
Die Standard-.NET-Build-Toolchain kompiliert sie zu einem Code-Modell (lokal)
    │
    ▼
Eingebaute und eigene Regeln laufen gegen das Modell (lokal)
    │
    ▼
Findings landen in der Konsole oder einer Output-Datei (lokal)

Mit vollständigem lokalem Regel-Cache und gültiger Lizenz macht die CLI während der Analyse keine Netzwerk-Zugriffe. Sie kontaktiert das Portal nur, um fehlende Regel-Bundles nachzuladen (wenn ihr Portal-Regelprofile nutzt), um eine kurzlebige CI-Lizenz zu erneuern (wenn CODECHARTER_API_KEY gesetzt ist) oder um das optionale, standardmäßig deaktivierte Telemetrie-Event zu senden. Euer Source-Code ist nie Teil dieser Aufrufe.

Das könnt ihr verifizieren: Wenn der Regel-Cache geladen und eine gültige Lizenz vorhanden ist, trennt ihr die Maschine vom Netz, und der Analyze-Lauf läuft trotzdem durch.

Was über das Netz geht

Das sind alle Netzwerk-Zugriffe, und keiner davon enthält euren Anwendungs-Source-Code:

  1. CLI- und Asset-Downloads vom Portal. Eure eigenen Skripte können das CLI-Archiv von https://codecharter.tools mit Bearer-Authentifizierung über euren API-Key laden. Die offizielle GitHub Action macht im Kern dasselbe: Sie lädt das CLI-Archiv mit dem api-key-Input vom Portal herunter und führt es dann nativ auf dem Runner aus, ganz ohne Docker oder Container-Image. Details dazu auf der Seite GitHub Actions.

  2. Regel-Bundle-Downloads für Portal-Profile. codecharter restore und codecharter update (sowie der automatische Preflight vor analyze) laden die Regel-Bundles eurer konfigurierten Portal-Profile herunter.

  3. CI-Lizenz-Erneuerung. Wenn CODECHARTER_API_KEY gesetzt ist, holt die CLI eine kurzlebige Lizenz vom Portal, damit CI-Läufe ohne manuelle Schritte lizenziert bleiben.

  4. Freiwilliger Regel-Upload. codecharter push lädt eure .ccr-Regeldateien als Entwürfe ins Portal hoch, nur wenn ihr den Befehl ausführt, und nur eure Regeldateien, nie euren Anwendungscode.

  5. Opt-in-Telemetrie. Standardmäßig aus. Wenn aktiviert, sendet die CLI ein anonymes Event pro Lauf: Tool-Name, Latenz-Bucket, Finding-Anzahl pro Regel und eine gehashte Workspace-ID, keine Quelltexte, Pfade oder Code. Details auf der Seite Telemetrie.

Alle diese Aufrufe enthalten keinen Source-Code, nur Metadaten (Versionen, Plattform, Profilnamen, API-Key).

Was bochmann-software über euren Code wissen kann

Was Wissen wir?
Welche Repos ihr habt nein
Welche Sprachen ihr nutzt nein
Welche Findings bei euch auflaufen nein, außer ihr aktiviert die optionale anonyme Telemetrie, die Finding-Anzahlen pro Regel sendet, nie die Findings selbst
Welche Dateinamen ihr habt nein
Welche Regeln ihr aktiv habt nein für lokale Regeln; wenn ihr Portal-Regelprofile nutzt, sehen wir, welche Profile euer Account herunterlädt, nicht wie sie in eurem Code anschlagen
Wann ihr die CLI gepullt habt ja
Welche Plattform der Pull war ja
Welcher API-Key gepullt hat ja
Welche CodeCharter-Version ja

Wir loggen nur, was wir für den Betrieb (Subscription-Verwaltung, Download-Audit) brauchen. Die Download-Logs erfassen auch die Client-IP-Adresse und den User-Agent der Anfrage.

Vorteile der lokalen Analyse

  • DSGVO und NDA bleiben unkompliziert. Wenn euer Code unsere Server nicht sieht, gibt es keinen Auftragsverarbeitungs-Aufwand wegen Analyse-Daten. Der AVV deckt nur Kontaktdaten und Subscription-Records ab.
  • Reproduzierbare Builds. Sobald euer Regel-Cache geladen ist, läuft die Analyse auf eurer Maschine unabhängig von unserer Service-Verfügbarkeit.
  • Vertrauen in Sicherheits-Reviews. Source-Code ist sensibler als Kontaktdaten. Mit CodeCharter bleibt diese Schicht in eurer Hand.

Was bei einem Sicherheits-Vorfall passieren würde

Falls jemand bei uns einbricht und Zugriff auf Datenbank und Server hat:

  • Source-Code: nicht betroffen, weil nicht bei uns gespeichert.
  • Findings eurer Codebasis: nicht betroffen, weil wir sie nie speichern. Falls ihr die anonyme Telemetrie aktiviert habt, liegen bei uns nur Anzahlen pro Regel, ohne jeden Code- oder Dateibezug.
  • Login-Daten (E-Mail + Passwort-Hash) sind betroffen. Klartext-Passwörter speichern wir nie; die Hashes sind nicht direkt zurückrechenbar.
  • API-Key-Hashes sind betroffen. Wir würden in dem Fall sofort alle bestehenden Keys widerrufen und euch zur Neuausstellung auffordern.

Wir würden die Aufsichtsbehörde innerhalb von 72 Stunden benachrichtigen und euch unverzüglich informieren, wie es die DSGVO verlangt.

Wenn ihr noch tiefer schauen wollt

Die CLI ist closed-source; ihr seht den genauen Code nicht. Aber:

  • Wir machen auf Anfrage einen Security-Review mit eurem Team (Source-Walkthrough, Architektur-Q&A).
  • Wir geben Pen-Testern auf Anfrage Zugriff auf eine Test-Instanz.
  • Jeder Download vom Portal enthält seine SHA-256-Prüfsumme im Response-Header X-CodeCharter-Sha256, und die Installer-Hashes werden mit jedem Release veröffentlicht. So könnt ihr die Supply-Chain-Integrität selbst prüfen. Auf Wunsch senden wir Hashes zusätzlich vorab.

Schreibt uns, wenn ihr davon etwas braucht.