コンテンツへスキップ
ガイド

OpenClawが外部に送信するもの

毎日の更新チェックと、それを止めるあらゆる方法

7分で読めます

OpenClawを自分のマシンにインストールしたのは、まさに何も外に出ていかないようにするためでした。ところがリリースノートを読んだり、ファイアウォールのログを見たりすると、1日1回telemetry.openclaw.aiへの外向きのリクエストがあります。そのリクエストが何を運び、受信側が何を保持し、どの部分をオフにできるのかを正確に知っておく価値があります。ドキュメントはこの3点すべてについて、珍しいほど具体的に書かれています。

2つの階層、デフォルトで有効なのは片方だけ

  • デフォルトの階層は毎日の更新チェックです。新しいバージョンがあるかどうかを尋ねる、https://telemetry.openclaw.ai/api/latest-versionへの単純なGETで、リクエストボディはまったくありません。
  • サーバーに伝わる情報はすべて1つのヘッダーに載っています。openclaw/2026.8.2 (darwin; node/26.0.1; arm64; gateway)のようなUser-Agentが、OpenClawのバージョン、オペレーティングシステム、Node.jsのバージョン、CPUアーキテクチャ、そして呼び出し元がGatewayとCLIのどちらだったかを伝えます。
  • どちらの階層にも、メッセージの内容、プロンプト、モデル名、APIキー、認証情報、ファイルパス、ホスト名、アカウント識別子は含まれません。インストール識別子、マシン識別子、ランダムな追跡用識別子もありません。OpenClawはこれらのリクエストのために永続的なクライアントIDを作成しないため、繰り返し届くレポートはインストール数やユーザー数を数えたものにはなりません。
  • 匿名の機能統計は2つ目の階層で、デフォルトではオフです。有効にすると、2つ目のリクエストが追加されるのではなく、同じ毎日のリクエストが、スキーマバージョン1の小さなJSONボディを持つPOSTに変わります。
断るのはごく普通の選択であり、OpenClawの動作は何も変わりません。

ここでのオプトインは、本当にオプトイン

対話型のセットアップでは、「No thanks」がデフォルトで選択された1回限りのオプトインが提示されることがあり、ガイド付きのQuick Startではこのプロンプト自体が表示されません。OpenClawはあなたの回答を記録してセットアップで再び尋ねないようにしますが、何かを決めるのは記録された回答ではなく、enabled設定です。非対話型やスクリプトによるインストールが自動でオプトインすることはないため、パイプラインでビルドしたイメージは、オペレーターが意図して統計を有効にするまで更新チェックのみの階層にとどまります。2つ目の階層の目的は、メンテナンスの優先順位の判断材料という限定的なものであり、個々のプラグイン呼び出し、メッセージ、モデルへのリクエスト、アクティブユーザーはいずれも計測しないとドキュメントに明記されています。

クライアントが制御できない項目

  • Cloudflareが、ホスト型の受信側におおよその位置情報を提供します。国、地域コード、都市、タイムゾーンです。生のIPアドレスや正確な座標は分析データに保存されず、欠落した項目や無効な項目は単に空のままになります。
  • 記録される更新チェックには、匿名の機能統計がオフでも、DO_NOT_TRACKが設定されていても、これらの項目が含まれます。値はあなたが送信するのではなくエッジで導出されるため、追加のクライアントペイロードもプロンプトも関係ありません。
  • Analytics Engineはレコードを3か月間保持します。公開される集計には位置情報は含まれず、後からリクエストを無効にしても、既存のレコードは消去されません。

何かを変更する前に、openclaw telemetry showを実行してください。匿名の機能統計が有効かどうかとその理由、リクエストのエンドポイント、最後に成功したチェックが表示され、統計がオフの場合は更新チェックのみのリクエストがUser-Agentヘッダーとともに表示されます。--jsonを付けると、同じ状態とペイロードを1つの機械可読なドキュメントとして取得できます。統計が有効な場合、プレビューにはペイロード全体が表示されますが、中身は短いものです。schema、version、platform、node、surface、そしてfeaturesオブジェクトで、featuresには設定済みのチャネルID、プロバイダーファミリー、公開プラグインID、プラグインの総数、sessionsLast24hが入ります。これらのプラグイン名の対象は、バンドルされたプラグイン、信頼された公式インストール、公式プラグインカタログに一致するエントリーなので、非公開プラグインの名前が出ることはありません。また、pluginsEnabledと報告された名前の数との差は、非公開プラグインの数として信頼できるものではありません。セッション数は、直前24時間のタイムスタンプを持つ保持済みのセッション作成イベントを数えたもので、セッションのアクティビティではありません。ここで重要な制約が2つあります。ペイロードのプレビューは実行中のGatewayから取得されるのではなくCLIプロセス内で組み立てられるため、次にGatewayが送るペイロードと完全に一致する保証はありません。また、プレビューが示すのはクライアントのリクエストだけなので、サーバー側で導出される位置情報は決して表示されません。出力にRequest: noneと表示される場合は、自動化ポリシーまたは更新チェックのポリシーによって、すでにすべてが止められています。この設定自体はOpenClawの設定ファイルにある通常のキーであり、プロバイダーの使用量トラッキング(プロバイダーのクォータとコストに関するもの)とは無関係です。

リクエストをオフにするすべての方法

openclaw telemetry offコマンドは匿名の機能統計を無効にし、設定ファイルのtelemetry.enabled: falseも同じ働きをします。DO_NOT_TRACK=1またはDO_NOT_TRACK=trueは、telemetry.enabledがtrueでも統計を強制的にオフにしますが、毎日の更新チェックはボディなしのGETとして意図的に残します。すべての自動リクエストを止めるにはupdate.checkOnStart: falseを設定します。これはupdate.auto.enabledがtrueでも、両方の階層と更新通知を無効にします。OPENCLAW_NO_AUTO_UPDATE=1でも自動更新のリクエストを防げます。また、CI環境変数がtruthyの場合もOpenClawは何も送信しません。パイプラインのジョブが実際のオペレーターの数を上回り、バージョンやプラットフォームの集計を無意味にしてしまうという理由からです。ただし、OPENCLAW_TELEMETRY_ENDPOINTを独自の代替エンドポイントに設定すると、この抑制は上書きされます。エンドポイントが設定されているということは、その実行が意図的にこの経路を試しているということだからです。明示的な更新コマンドはいつでも好きなときに実行できるので、意図したタイミングでのOpenClawの更新はあなたの手に委ねられています。この作業全体は、OpenClawのセキュリティ対策と並べて行うのが自然です。

Dialiでは

DialiはマネージドOpenClawホスティングをサービスとして運用しています。各顧客には、共有インスタンスの1席ではなく、専用のインスタンス上の独立したアシスタントが割り当てられます。実行時の設定はダッシュボードの設定から生成され、リリースのたびに新しく書き出されるため、コンテナ内で手作業で編集した内容はアップグレード後に残りませんが、ダッシュボードで設定したものはすべて引き継がれます。セッション、メモリ、その他の状態は永続ボリュームに保存され、更新チェックが成功したときのキャッシュ結果もそこに置かれます。バックアップアドオン(Maxプランに含まれます)で、毎日のスナップショットとワンクリック復元を利用できます。プランの一覧はDialiの料金ページで確認できます。

  • 毎日の更新チェックはデフォルトで有効で、情報はすべて1つのUser-Agentヘッダーに載っています。
  • 匿名の機能統計は、オペレーターが有効にするまでオフのままです。
  • おおよその位置情報は3か月間保持され、リクエストをオフにしても消去されません。
今すぐ始める

読むだけでなく、作ってみましょう

エージェントを設定してチャネルを選べば、いつも開いているアプリの中でエージェントが働き始めます。