セキュリティとデータ
TestDetta はお使いの CI とマシンの上で動作します。ソースコード、カバレッジマップ、テスト結果がそこから外に出ることはありません。このページでは、TestDetta が保存するものと、行うネットワーク通信をすべて示します。
CI の中にとどまるもの
- 差分とソースコードの分析。
- カバレッジマップ:どのテストクラスがどのメソッドを実行したか、各クラスにどれだけ時間がかかったか。型、メソッド、テストクラスの名前が含まれるため、ビルド成果物と同じように扱ってください。
- テストの実行とその結果。
- アクティブなコミッター数。数えるために作成者のメールアドレスを git の履歴からお使いのマシン上で読み取りますが、名前やメールアドレスがどこかに送信されることはありません。
ファイルの保存場所
| パス | 内容 |
|---|---|
.testdetta/coverage/ | 現在のコミットのカバレッジマップ(テストプロジェクトごとに 1 つ) |
.testdetta/cache/ | 評価済みのプロジェクトグラフのキャッシュ |
.testdetta/license.json | 任意:コミッター数から除外する追加のボットアカウント |
~/.testdetta/license | td license install でインストールしたライセンス、または自動更新されたライセンス |
~/.testdetta/license-refresh | 最後に更新を試みた日時 |
--maps-dir のフォルダー | 過去のコミットのマップ(コミットごとに 1 フォルダー)。保存場所は任意に選べます |
GitHub Actions では、マップはリポジトリの Actions のキャッシュに保存されます。.testdetta/coverage/ と .testdetta/cache/ は生成物なので、バージョン管理の対象外にしてください。
唯一のネットワーク通信
サブスクリプションのライセンスでは、TestDetta は 1 日に最大 1 回、ライセンスサービスに更新されたライセンスを問い合わせます。これにより、誰かがシークレットを更新しなくても、更新されたライセンスが CI に届きます。
- 送信するのはライセンスそのものだけです。リポジトリ名、コード、パス、各種の件数は送信しません。
- 分析と並行して実行され、待機時間は最大 6 秒です。一時的な可能性がある失敗は 1 時間後に再試行され、サービスに接続できない場合も、現在のライセンスはそのまま使えます。
HTTPS_PROXYに従います。TESTDETTA_LICENSE_REFRESH=offで無効にできます。オフラインライセンスとエンタープライズライセンスが外部と通信することはありません。
パブリックリポジトリにはライセンスが不要で、通信も行いません。
ライセンスの確認方法
ライセンスは署名付きの文字列で、TestDetta に組み込まれた公開鍵を使ってお使いのマシン上で検証されます。ライセンスには対象となるリポジトリが記載されており、資格情報を取り除いた origin リモートと照合されます。ライセンスの問題でビルドが失敗することはなく、その場合は TestDetta を導入する前と同じように、すべてのテストを実行します。ライセンスの詳細。
当社が保持するもの
サブスクリプションの場合:ライセンシー名、対象となるリポジトリ、シート数、契約期間です。支払いと、ライセンスの送付先となるメールアドレスは、当社の販売代理人(Merchant of Record)である Polar Software, Inc. が取り扱います。プライバシーポリシーをご覧ください。
脆弱性の報告
support@testdetta.com までメールでお知らせください。公開する前に、修正のための時間をいただけますようお願いします。