Sicherheit und Daten
TestDetta läuft in Ihrer CI und auf Ihren Rechnern. Ihr Quellcode, Ihre Coverage-Maps und Testergebnisse verlassen diese nie. Diese Seite listet alles auf, was es speichert, und jeden Netzwerkaufruf, den es macht.
Was in Ihrer CI bleibt
- Die Analyse Ihres Diffs und Quellcodes.
- Coverage-Maps: welche Testklasse welche Methode ausgeführt hat und wie lange jede Klasse gebraucht hat. Sie nennen Ihre Typen, Methoden und Testklassen; behandeln Sie sie daher wie Build-Artefakte.
- Testläufe und ihre Ergebnisse.
- Die Anzahl aktiver Committer. Dafür werden die E-Mail-Adressen der Autoren auf Ihrem Rechner aus der Git-Historie gelesen; keine Namen oder E-Mail-Adressen werden irgendwohin gesendet.
Wo Dateien abgelegt werden
| Pfad | Inhalt |
|---|---|
.testdetta/coverage/ | Coverage-Maps des aktuellen Commits, eine pro Testprojekt |
.testdetta/cache/ | Ein Cache des ausgewerteten Projektgraphen |
.testdetta/license.json | Optional: zusätzliche Bot-Konten, die bei der Committer-Zählung nicht mitzählen |
~/.testdetta/license | Eine mit td license install installierte oder automatisch erneuerte Lizenz |
~/.testdetta/license-refresh | Wann die letzte Erneuerung versucht wurde |
Ordner von --maps-dir | Maps früherer Commits, ein Ordner pro Commit, an einem Ort Ihrer Wahl |
Unter GitHub Actions werden Maps im Actions-Cache Ihres Repositorys gespeichert. .testdetta/coverage/ und .testdetta/cache/ werden generiert; halten Sie sie aus der Versionsverwaltung heraus.
Der eine Netzwerkaufruf
Mit einer Abonnement-Lizenz fragt TestDetta höchstens einmal am Tag beim Lizenzdienst eine erneuerte Lizenz ab, damit Verlängerungen die CI erreichen, ohne dass jemand ein Secret aktualisieren muss.
- Gesendet wird nur die Lizenz selbst, sonst nichts: kein Repository-Name, kein Code, keine Pfade oder Zahlen.
- Es läuft parallel zur Analyse und wartet höchstens 6 Sekunden. Ein Fehler, der vorübergehen kann, wird nach einer Stunde erneut versucht; ist der Dienst nicht erreichbar, funktioniert die aktuelle Lizenz weiter.
HTTPS_PROXYwird berücksichtigt.TESTDETTA_LICENSE_REFRESH=offschaltet ihn ab. Offline- und Enterprise-Lizenzen nehmen nie Kontakt auf.
Öffentliche Repositorys benötigen keine Lizenz und machen keinen Aufruf.
Wie die Lizenz geprüft wird
Eine Lizenz ist ein signierter String, der auf Ihrem Rechner mit einem in TestDetta eingebauten öffentlichen Schlüssel geprüft wird. Sie benennt die Repositorys, die sie abdeckt, und wird mit dem Remote origin abgeglichen, aus dem zuvor alle Anmeldedaten entfernt werden. Ein Lizenzproblem lässt nie einen Build fehlschlagen: Stattdessen laufen alle Tests, wie vor TestDetta. Mehr zu Lizenzen.
Was wir speichern
Für ein Abonnement: den Namen des Lizenznehmers, die abgedeckten Repositorys, die Anzahl der Seats und die Laufzeit. Die Zahlung und die E-Mail-Adresse, an die die Lizenz gesendet wird, verwaltet Polar Software, Inc., unser Merchant of Record. Siehe die Datenschutzerklärung.
Eine Sicherheitslücke melden
Schreiben Sie an support@testdetta.com. Bitte geben Sie uns Zeit, die Lücke zu beheben, bevor Sie sie veröffentlichen.