GitHub CLI:使用状況テレメトリのオプトアウト
GitHub CLI v2.91.0は擬似匿名の使用 telemetry をデフォルトで送信するようになり、ユーザーはログ確認や環境変数・設定オプションを通じて容易にオプトアウト可能となった。
キーポイント
テレメトリ導入の目的と仕組み
v2.91.0より擬似匿名のテレメトリがデフォルト有効化され、機能の使用状況データに基づいて優先順位付けや改善が行われる。
送信データ可視化モードの実装
`GH_TELEMETRY=log` または設定オプションにより、実際に送信されるJSONペイロードをstderrに出力するログモードが提供され、ユーザーは送信前に内容を確認できる。
柔軟なオプトアウト方法の提供
環境変数(`GH_TELEMETRY=false`, `DO_NOT_TRACK=true`)またはCLI設定コマンドにより、ユーザーは容易にテレメトリ送信を無効化できる。
拡張機能と別製品のデータ収集分離
サードパーティ拡張やGitHub Copilot CLIは独自のデータ収集を行うため、CLI本体のオプトアウト設定では管理されず、個別の確認が必要である。
影響分析・編集コメントを表示
影響分析
GitHub CLIのテレメトリ導入は、オープンソース開発ツールの透明性とユーザーコントロールを両立する標準的なアプローチを示している。企業環境やプライバシー規制が厳しい現場では、オプトアウト手順の明確化が運用負荷を軽減し、ツールの採用障壁を下げる可能性がある。ただし、拡張機能や別製品とのデータ収集の分離は、ユーザーが個別に設定を確認する必要性を残すため、ドキュメント連携の重要性が高まる。
編集コメント
デフォルトテレメトリの導入は製品改善に寄与するが、企業ポリシーや規制対応を考慮し、オプトアウト手順の明文化は必須である。開発者は送信データを可視化するログモードを活用し、透明性を確保しながらツールを利用すべきだ。
v2.91.0のリリースに伴い、GitHub CLIは製品改善のため擬似匿名の使用状況テレメトリー(usage telemetry)を送信するようになりました。私たちは、送信内容とその理由をあなたが理解できることを望んでいます。
テレメトリー(telemetry)収集の理由
GitHub CLIの採用が増えるにつれ、実際にあなたが機能をどのように使用しているかを把握する必要があります。私たちはこのデータを使用して作業の優先順位を決定し、機能が実際のユーザーニーズを満たしているかを確認します。
例えば、新しいサブコマンド(subcommand)をリリースする際、あなたがそれを使用しているかどうかと使用方法を知りたいと考えています。採用率が低い場合、そのサブコマンドの発見可能性や設計を見直します。特定のフラグ(flags)で高い使用率を示すサブコマンドがある場合、それらのワークフローの改善に注力する手がかりとなります。
GitHub CLIが送信する内容の確認
GitHub CLIはオープンソースであるため、cli/cliリポジトリでテレメトリーの実装を確認できます。
送信せずにGitHub CLIが実際に何を送信するかを確認したい場合は、環境変数または設定オプションを使用してログモード(logging mode)を有効にしてください。
環境変数: export GH_TELEMETRY=log
CLI設定: gh config set telemetry log
ログモードでは、GitHub CLIは通常送信するJSONペイロード(payload)をstderrに出力します。これにより、テレメトリーを有効にするかどうかを決定する前にすべてのフィールドを検証できます。なお、このコマンドは実行された正確なコマンドとコンテキストに対してのみテレメトリーをログに記録できます。例えば、環境変数や認証済みアカウントを変更すると、ペイロードに含まれるイベントとイベントの次元が変わる場合があります。詳細や例については、テレメトリー透明性ページ(telemetry transparency page)をご覧ください。
オプトアウト(opt-out)方法
前述のログモードで確認できるテレメトリーから、環境変数または設定オプションのいずれかを使用してオプトアウトできます。環境変数を使用する場合は、DO_NOT_TRACK規約も利用可能です。
環境変数: export GH_TELEMETRY=false
環境変数: export DO_NOT_TRACK=true
CLI設定: gh config set telemetry disabled
注:環境変数は設定値よりも優先されます。
GitHub CLIがデータを送信する先
GitHub CLIはテレメトリーイベントをGitHubの内部分析インフラストラクチャへ送信します。GitHubがデータをどのように取り扱うかについての詳細は、GitHub一般プライバシーポリシー(GitHub General Privacy Statement)をご覧ください。
追加情報
GitHub CLIのテレメトリーに関する最新情報は、テレメトリー透明性ページをご覧ください。
GitHub CLIはエージェントを含むGitHubおよびサードパーティの拡張機能(extensions)もサポートしています。拡張機能は独自の使用データを収集する可能性があり、GitHub CLIのテレメトリーからオプトアウトしても拡張機能のテレメトリーは制御されません。拡張機能が収集するデータと無効化方法(サポートされている場合)については、拡張機能のドキュメントをご確認ください。
本記事はGitHub CLI(gh)のクライアントサイドでのデータ収集について説明しています。これは、データ収集を別個に処理するGitHub CopilotやGitHub Copilot CLIには適用されません。GitHub Copilot CLIについては、「Using GitHub Copilot CLI」と「Responsible Use of the GitHub Copilot CLI」をご覧ください。
記事「GitHub CLI: Opt-out usage telemetry」は、The GitHub Blogに最初に掲載されました。
原文を表示
With the release of v2.91.0, GitHub CLI sends pseudonymous usage telemetry to help us improve the product. We want you to understand what we send and why.
Why we collect telemetry
As adoption of GitHub CLI grows, we need visibility into how you use features in practice. We use this data to prioritize work and confirm whether features meet real user needs.
For example, when we ship a new subcommand, we want to know whether you’re using it and how. If adoption is low, we’ll revisit the subcommand’s discoverability or design. If a subcommand sees high usage with specific flags, that helps us focus on improving those workflows.
Review what GitHub CLI would send
GitHub CLI is open source, so you can review the telemetry implementation in the cli/cli repository.
If you want to see exactly what GitHub CLI would send without sending it, enable logging mode using an environment variable or a configuration option.
Environment variable: export GH_TELEMETRY=log
CLI config: gh config set telemetry log
In logging mode, GitHub CLI prints the JSON payload (that it would normally send) to stderr. This lets you inspect every field before deciding whether to keep telemetry enabled. Note that this command can only log telemetry for the exact command and context in which it ran. For example, changing environment variables or authenticated accounts may change the events and event dimensions that are included in the payload. For more details and examples, see the telemetry transparency page.
How to opt out
You can opt out of the telemetry you see in the aforementioned log mode using either an environment variable or a configuration option. When using environment variables, you can also use the DO_NOT_TRACK convention.
Environment variable: export GH_TELEMETRY=false
Environment variable: export DO_NOT_TRACK=true
CLI config: gh config set telemetry disabled
Note: Environment variables take precedence over the config value.
Where GitHub CLI sends data
GitHub CLI sends telemetry events to GitHub’s internal analytics infrastructure. For more information about how GitHub handles your data, see the GitHub General Privacy Statement.
Additional information
For the most up-to-date information about GitHub CLI telemetry, see the telemetry transparency page.
GitHub CLI also supports GitHub and third-party extensions, including agents. Extensions may collect their own usage data, and opting out of GitHub CLI telemetry won’t control extension telemetry. Check the extension’s documentation to learn what it collects and how to disable it (if supported).
This post describes client-side data collection for GitHub CLI (gh). It doesn’t apply to GitHub Copilot or GitHub Copilot CLI, which handle data collection separately. For GitHub Copilot CLI, see Using GitHub Copilot CLI and Responsible Use of the GitHub Copilot CLI.
The post GitHub CLI: Opt-out usage telemetry appeared first on The GitHub Blog.
関連記事
Web版GitHub Copilotによるデバッグ機能の強化
GitHubはWeb版Copilotを更新し、スタックトレースからエラー原因と発生場所を構造化して提示する機能を強化した。これにより開発者はデバッグを高速化できる。
GitHub、最近のサービス停止を認め、スケーリング課題とアーキテクチャ上の弱点を指摘
GitHubは、プラットフォームのサービス停止とパフォーマンス低下について公式に説明し、急激な成長やアーキテクチャの結合性、負荷処理能力の限界が原因だと明かした。
GitHub CLIでエージェントスキルを管理
GitHubが、開発者がAIコーディングエージェント向けのスキルをGitHubリポジトリから簡単に発見・インストール・管理・公開できる新コマンド「gh skill」をGitHub CLIに導入した。