Token Forest プライバシー通知

バージョン 1.0-beta · 最終更新 2026-08-16 · 最初の公開リリース(v0.1.0、2026-07-09)より発効

発行者:Poietic Studio

本ページは英語版《プライバシー通知》の日本語訳(参考)です。日本語版と英語版との間に相違がある場合は、英語版が優先します。

Token Forest は、Claude Code / OpenAI Codex の利用状況を、成長するピクセルの木に変えるデスクトップアプリです。本通知は、アプリが何を読み取り、何を保存し、そして——あなたが同意した場合にのみ——何をアップロードするかを正確に説明します。同一の文章は公開プロダクトリポジトリに PRIVACY.md として公開されており、その git 履歴が本ポリシーの公開変更履歴となります。

概要

  • 中核機能はすべてお使いのデバイス上で動作します。アカウント、API キー、ネットワークは不要です。
  • アプリにはテレメトリ、広告、クラッシュレポートはありません。任意の更新チェックは既定でオフで、オンにしてもアプリが自分で何かをインストールすることはありません —— 新しいバージョンがあることを知らせ、あなたが求めた場合にインストーラーをダウンロードするだけで、実行するのはあなたです。
  • AI コーディングツールがすでにローカルに書き出している使用ログを読み取ります——あなたのソースコードファイルを読むことはありません。
  • プロンプトや会話内容を保存・アップロードすることはありません。
  • グローバルリーダーボードは任意機能で、既定でオフです。オンにする前に、同期される全項目を列挙した同意ダイアログを表示します。オフにすると、あなたの記録の削除を要求します。
  • 当社は個人データを販売しません。売るものがそもそもありません——既定では当社は一切データを受け取りません。

アプリがローカルで読み取るもの

Token Forest は、対応ツールがローカルに生成する使用ログを読み取ります:

Claude Code:  ~/.claude/projects/**/*.jsonl
OpenAI Codex: ~/.codex/sessions/**/rollout-*.jsonl

これらのログから次を使用します:トークン数(入力 / 出力 / キャッシュ読み取り / キャッシュ書き込み)、タイムスタンプ、ソース(Claude または Codex)、モデル識別子、セッション識別子、プロジェクトディレクトリ名、Git ブランチ名、AI が生成したセッションタイトル、およびメッセージ種別の構造(実際のユーザーの発話とツール結果を区別するためだけに使用)。

ログの 1 行を解析する際、その全内容(プロンプト文を含む場合があります)がメモリを通過します。Token Forest はプロンプトの意味を必要とせず、プロンプトや会話本文を自身のデータファイルにコピーすることも、アップロードすることもありません。ソースコードファイルを開くことも決してありません。

アプリがローカルに保存するもの

現行ベータは、データファイルをアプリケーションの隣に保存します。将来のリリースでは、標準のユーザーごとのディレクトリ(Windows:%LOCALAPPDATA%\TokenForest\、macOS:~/Library/Application Support/TokenForest/)へ、自動移行のうえ移動します。

ファイル内容
garden.json木ごとのトークン、成長段階、果実、装飾、初回使用時刻;および回収したトークンのモデル別累計(モデル名 + 4 種の数量、日付なし)
config.jsonウィンドウ位置、言語、バブルモード、リーダーボードの状態、表示名、地域
growth_ledger.json日付 × 木 × トークン種別ごとの成長履歴
usage_ledger.json集約されたセッションのメタデータ:ログファイルのパス、プロジェクト名、ブランチ、AI タイトル、時刻、モデル、日次トークン合計
account.jsonリーダーボードを有効にした場合のみ:匿名ユーザー ID と Supabase のセッショントークン
sync_error.jsonリーダーボードを有効にした場合のみ:最後のリーダーボード同期エラーのメッセージとその時刻(診断専用。アップロードされることはありません)
update_state.json更新チェックが実行された場合のみ:最後に成功した時刻と最後に試行した時刻、およびキャッシュされた最新バージョン番号、リリースページのリンク、インストーラーの SHA-256 とサイズ

これらのファイルはお使いのマシン上にとどまり、アップロードされることはありません。usage_ledger.json にはファイルパスなどのローカルメタデータが含まれ、同じコンピューターの他のユーザーがあなたのファイルを読める場合には、見られる可能性があります。アプリのデータフォルダーは非公開として扱ってください。v0.2.0 以降、セッショントークンはオペレーティングシステムの認証情報ストア(macOS はキーチェーン、Windows は資格情報マネージャー)に保存されます。account.json にも控えを残します——認証情報ストアを知らない旧バージョンがアカウントを見つけられずに新規登録してしまい、ランキングの行が孤立するのを防ぐためです。これらのファイルを削除する(またはアンインストールしてフォルダーを削除する)と、すべてのローカルデータが削除されます。

ネットワーク動作

既定では、Token Forest はネットワークリクエストを一切行いません。成長、バブル、ショップ、カプセルモード、ダッシュボードはすべてオフラインで動作します。費用の見積もりは同梱の価格表を使用します。

オンラインに接続しうる任意機能は、リーダーボード、価格表の更新、更新チェックです。いずれも既定でオフで、あなたが操作するまで何も行いません:

  • リーダーボード — 既定でオフ。次のセクションを参照してください。
  • 価格表の更新(v0.1.5+)— ダッシュボードで「↻ 価格を更新」をクリックするか、設定で「価格表を自動更新」をオン(既定はオフ。オンでも 1 日に最大 1 回の確認)にすると、静的ファイル https://tokenforest.com.au/pricing.json を 1 つダウンロードし、新しく公開されたモデルをアプリ更新を待たずに価格計算できます。これはダウンロードのみです:リクエストは使用データ・識別子・アカウントを一切含みません。ファイルは検証のうえローカルにキャッシュされ、失敗時はアプリが同梱/キャッシュ済みの表を静かに使い続けます。
  • 更新チェック(v0.2.1+)— 既定でオフです。初回起動時のウェルカム画面、または設定 → について から有効にできます。ほかに手動の「更新を確認…」もあり、これは一度だけリクエストを送るもので、自動チェックが勝手に有効になることはありません。オンにすると、アプリは GitHub に最新リリースを問い合わせます:GET https://api.github.com/repos/Ericcccccc777/Poietic-TokenForest/releases/latest。頻度は成功後は 1 日に最大 1 回、接続できないときは最大 6 時間ごとに再試行(1 日あたり最大 4 回)です。リクエストにはボディもクエリ文字列も Cookie も Authorization もなく、アプリが設定するヘッダーは 3 つの固定値(User-Agent: TokenForest-update, Accept: application/vnd.github+json, X-GitHub-Api-Version: 2022-11-28)のみで、すべてのインストールで同一です。バージョン番号、プラットフォーム、識別子、使用量データは一切含まれません —— バージョンの比較はお使いのマシン上で行われます。「更新をダウンロード」をクリックするまで何もダウンロードされません。ダウンロードしたファイルは同じ GitHub リリースが公開している SHA-256 と照合され、macOS の quarantine / Windows の MOTW 属性を保持したまま、Finder / エクスプローラーで場所を示すだけです。アプリがインストールしたり、自分自身を置き換えたり、権限昇格を求めたりすることはありません。これを有効にすると GitHub が新たな通信相手になります:他のオンラインサービスと同様に、GitHub および経路上のネットワークは各社のポリシーに基づき IP アドレス、リクエスト時刻、標準的なサーバーログを処理する可能性があり、更新チェックをオンにしたマシンは「おおよそどの日に起動されていたか」という痕跡を GitHub 側に残します。

ウェブページを開くメニュー項目(例:リーダーボードのウェブサイト)は既定のブラウザーを起動するだけであり、デスクトップアプリ自体がバックグラウンドで何かを送信することはありません。

任意のリーダーボード

リーダーボードは既定でオフです。「オン」を選ぶと、同期される内容を正確に列挙した同意ダイアログが表示されます。あなたが確認するまで、何も送信されません。

有効にすると、アプリは Supabase(当社のデータベースプロバイダー)で匿名アカウントを作成し、おおよそ 30 分ごと、および起動・木の切り替え・終了などのタイミングで、次を同期します:

項目公開表示?
ランダムな匿名 ID(Supabase が生成。記録の識別に加え、バッジ画像とプロジェクト画像のアドレスにもなります)はい(この 2 つのリンクに現れます)
表示名(空欄の場合は「Anonymous#id」形式の名前を生成)はい
収集した木のトークン合計はい
木ごとのトークン合計と成長段階はい(木の詳細)
地域——あなたが選択した場合のみはい(国旗)
現在の木の種類はい
アプリのバージョンいいえ
以前の匿名 ID — セッションがリセットされて再登録された場合にのみ。新しい記録を、それが置き換えた古い記録に結び付け、古い方を取り下げられるようにするためです(v0.1.6+)いいえ
不正防止サマリー——4 つの数値、下記参照(v0.1.5+)いいえ
回収したトークンのモデル別内訳——モデル名、その提供元、入力/出力/キャッシュ読み/キャッシュ書き込みの数量とその合計、日付なし(v0.2.0+)はい(モデルランキング)
プロジェクト紹介 —— ご自身が入力したプロジェクト名、ひとこと紹介、リンク、画像 1 枚(v0.2.2+)。既定はオフで、ランキング設定の中にあります。画像は端末を出る前に 512px / 64 KB 以内に縮小し、位置情報やカメラ情報を削除します。スイッチをオフにすると、次回の同期でこれらの項目が消去され、アップロード済みの画像も削除されます(下記「プロジェクト紹介」の節を参照)。はい
サーバーが生成する作成/更新のタイムスタンプ表示される場合あり

この列の「はい」は公開ページに表示されることを、「いいえ」は表示されないことを意味します。不正防止の 4 つの数値は、さらにデータベース側でも施錠されています:アプリとウェブサイトが使う公開読み取り専用キーは、これらの列の読み取り自体を拒否されます。

細目:名前を空欄にすると、生成される匿名名はアプリの言語で表示されるため、リーダーボードにはお使いの UI 言語が間接的に反映されます。

モデル別内訳(v0.2.0+)。ランキングには「木の大きさ」以外にも、最も使われたモデル、提供元どうしの比較といったボードがあります。これらはトークンのモデル別内訳——モデル名(例 claude-opus-4-8)、その提供元、4 種のトークン数量とその合計——によって支えられています。

この内訳は、トークンランキングのほかに 2 つの公開ランキングにも使われます。ベンダー使用量ランキングは全プレイヤーのトークンをベンダー別・モデル別に合算したもので、コミュニティ全体の合計です。ウェブサイトに表示されるのはこの合計ですが、その元になっているプレイヤー別・モデル別の行は、当社の公開データベース接続経由で読み取ることができ、匿名 ID と結びつけることが可能です。フォレスト価値ランキングは、集めたトークンの推定金額を表示します。金額は当社のサーバー側で、すでに同期されている数量に各モデルの公開価格を掛けて算出します——金額がお使いのマシンから送信されることはなく、新たな項目のアップロードもありません。これは請求書ではなく推定です:サブスクリプション・割引・無料枠は反映されず、ベンダーが価格を変更すれば全員の数値が同時に動きます。また各トークンがどのモデルに属するかはご自身のマシン由来で、独立した検証は行われていません。両ランキングとも、集計済みトークン全体のうちどれだけをカバーしているかを明示します。対象はあなたが自分で回収したバブルのみです。各バブルは「どのモデルが消費したか」の内訳を保持しており、その内訳はバブルを回収した瞬間——ツリーのスコアが増えるのと同じ瞬間、同じエネルギー——に記録されます。回収されずに期限切れとなったバブルはどちらにも入りません。この集計のためにインストール前のログを遡ることはありません。

提供元はモデル名から導出され、どの CLI がログを書いたかには依存しません:DeepSeek や GLM、Kimi を ANTHROPIC_BASE_URL 経由で Claude Code に接続する使い方は一般的で、ログの出所で判断すると Claude に誤集計されるためです。

日付は含みません。累計のみで、日別・時間別・セッション別の分割はないため、不正防止の 4 つの数値と同様に作業時間を復元できません。日付別の内訳は端末に留まり、ダッシュボードで使われます。

集計は v0.2.0 から開始します。それ以前に回収したトークンはモデル情報を持たず遡って補完されないため、モデル合計は通常スコアより少なくなります。1 回の同期で最大 30 モデル(実際のユーザーは通常 5〜15)。超過分はトークン数の少ない順に切り捨てられます。モデル名は 2 段階で検証され、アプリは厳格な文字集合を外れるものを単一の「unknown」にまとめ、サーバー側でも文字集合と禁止語リストを独立に再確認し、通らない行は破棄します。

いかなるモードでもアップロードしないもの:生ログ、プロンプトや会話内容、ソースコード、セッションタイトル、ファイルパス、プロジェクト名、Git ブランチ、セッション別の使用状況、費用の見積もり、回収していないトークンに関する一切、およびトークン使用の区間別・時間帯別の内訳一切——上記のモデル別数値の日付別内訳を含みます。

あらゆるオンラインサービスと同様に、Supabase のインフラは、サービスの運用と保護のために標準的な接続データ(IP アドレスやリクエストのタイムスタンプなど)を、Supabase 自身のポリシーに従って処理します。

不正防止サマリー(v0.1.5+)

リーダーボードのスコアは、あなた自身のマシンが計算した数値にすぎず、それだけでは何も証明しません——そしてこれは諸刃の剣です。ローカルファイルを書き換えて水増しすることもできますし、一方で、正直なヘビーユーザーがバブルを一日ためこんで一度に回収すると、不正とまったく同じ形の急上昇が生まれます。この二つを見分けるため、スコアが上がる同期には、その増加がどのように得られたかを示す 4 つの集計値が添えられます:

  • 新しいトークンが何個の 5 分間ウィンドウに分かれているか、
  • 最も多いウィンドウ 1 個のトークン数、
  • それらの合計、そして
  • 最も早いウィンドウから最も遅いウィンドウまでの時間幅。

ウィンドウは Claude Code / Codex のログに記録されたタイムスタンプ自体——トークンが実際に消費された時刻——を基準に区切られます。そのため、ためこんだ一日分は「ごく普通のウィンドウが多数」として正しく読み取られ、「あり得ない急上昇」にはなりません。

区間ごとのタイムラインは意図的にアップロードしません。5 分粒度のトークン使用記録は、あなたがいつ働き、いつ眠るかの記録に等しいからです。4 つの集計値からそれを復元することはできません:最も多いウィンドウが「どれだけ大きいか」は分かっても、「どのウィンドウか」は決して分かりません。正確な区間ごとの数値はあなたのマシン上で計算され、4 つの数値を導くために使われたのち、端末を出ることはありません。

この 4 つの数値は公開リーダーボードには表示されません——データベース側で、公開用の読み取り専用ロールからこれらの列の読み取り権限が取り消されています。特定のアカウントを審査する管理者のみが閲覧でき、あくまで参考情報です:人の判断を助けるだけで、誰かを自動的に罰することはありません。アプリが自らの数値を保証できない場合(例:途中でアップグレードされた、バブルの回収と同期の間に終了された)、誤った値を送るのではなく、何も送りません。

オン · 一時停止 · オフ

  • オン——定期的に同期します。
  • 一時停止——更新を停止します。最後の記録はボードに残ります。
  • オフ——同期を停止し、あなたの記録の削除要求を送信します。

ベータの制限事項として率直に述べます:削除要求が失敗した場合(例:オフライン時)、現行ベータはまだ再試行や確認を行いません。オンラインで再度「オフ」に切り替えると再送されます。確認を伴う確実な削除機能は、安定版リリース前に対応予定です。当社に削除を依頼することもできます(「お問い合わせ」を参照)——アプリに表示される匿名名/ID をお知らせください。また、account.json 内のトークンは誰にも送らないでください。

ウェブサイト

本ウェブサイトは、アナリティクス、広告トラッカー、マーケティング Cookie を一切使用しません。ホスティングプロバイダーは、サイトの提供と保護のために標準的なサーバーログ(IP アドレス、ユーザーエージェント、要求されたページ、時刻)を処理します。リーダーボードのページは上記の公開リーダーボードの行を読み取り、閲覧にログインは不要です。当サイトは、希望するプレイヤーにバッジ画像も配信します:そのアドレスにはあなたの匿名 ID が含まれ、表示されるのはリーダーボードのあなたの行と同じ公開情報です。貼り付けた先のページの訪問者——またはその運営元の画像プロキシ——が当サイトから取得するため、上記のとおり標準的なサーバーログにそのリクエストが残ります。将来アナリティクス等のサービスを追加する場合は、本通知を先に更新します。

ホームページにはデモ動画を掲載しています。再生するまで、いずれの動画プラットフォームにもリクエストは発生せず、静止状態では当サイトから配信される静止画のみが表示されます。再生する、または配信元を切り替えるボタンを押すと、動画は YouTube の no-cookie プレーヤードメインから、切り替えた場合は Bilibili から読み込まれ、その時点以降、そのプラットフォームは自社のプライバシーポリシーに基づき独自の Cookie を設定し、IP アドレスを受け取る場合があります。動画を再生しなければ、いずれも完全に避けられます。

サービスプロバイダー

当社は、説明した機能のためだけに少数のプロバイダーを利用します:Supabase(匿名認証 + リーダーボードのデータベース)、ウェブサイトのホスト、および GitHub(プロダクトリポジトリ、Issue、リリースのダウンロード)。プロバイダーの所在地域とポリシーへのリンクは、最初の安定版リリース前に本セクションで確定します。

プロジェクト紹介(v0.2.2+、既定はオフ)

リーダーボード設定の中に「プロジェクト紹介」というスイッチがあります。オンにすると、プロジェクト名(24 文字以内)、ひとこと紹介(80 文字以内)、リンク 1 つ、画像 1 枚を登録できます。この 4 つはリーダーボードの同期と一緒に送られ、あなたの行の隣に公開表示されます。はっきり述べておくべきことがいくつかあります:

  • 既定でオフであり、リーダーボード自体がオフの間は何もしません。一度もオンにしていなければ、この 4 項目が送信されることはありません。オフに切り替えたときだけ、保存済みの内容を消すために 4 項目が空の値として一度送信されます。
  • 内容はご自身が書いたものが、前後の空白を除いてそのまま表示されます。公開したくない情報は入力しないでください。
  • 掲載を見合わせることがあります。アカウントが確認中の場合、担当者が確認するまでプロジェクト紹介はランキングに表示されません。ランキングのそれ以外の項目は影響を受けず、待っている間に入力内容が削除されることもありません。「表示されない」は「隠される」とは異なります:公開ページから外れるだけで、入力された内容は当社側に残り、画像も元の直接アドレスのままです。
  • 画像は端末を出る前に再エンコードされます —— 長辺 512 ピクセル以内・64 KB 以内に縮小し、その過程で位置情報やカメラ情報を取り除きます。スマートフォンの写真を選んでも、GPS 座標は一緒に送られません。
  • スイッチをオフにすることが取り下げです。次の同期でランキング上のこれらの項目が消去され、アップロード済みの画像も削除されます。リーダーボードごとオフにした場合は、あなたの行ごと削除されます。手元で隠すだけではありません。ベータの制限事項として率直に述べます:この片付けはオフの操作が当社に届いた時点で行われるため、オフラインの場合や、アプリの匿名セッションが期限切れで認証できなくなっている場合は、後の試行が成功するまでランキング上の項目も画像もそのまま残ります。当社にご連絡いただければ、代わりに削除します。
  • リンクは https:// で始まる必要があり、受け付ける前に検証されます。テキストは表示名と同じ単語フィルターを、端末側で 1 回、サーバー側でもう 1 回通ります。

これらの主張の検証

当社は「信じてください」だけでは不十分だと承知しています。ネットワークを完全に無効にしてもアプリは動作します——ぜひお試しください。リリースは SHA-256 チェックサムと署名ステータスを公開し、リリースノートでプライバシーやネットワークに関する変更を明示します。ただし初期の 4 ビルドは例外です——v0.1.0、v0.1.1、v0.1.2 はチェックサムを公開しておらず、v0.1.9 はどちらもありません。ソースコードは現在非公開ですが、「ログを読むだけで何もアップロードしない」という主張を独立して監査できるよう、中核となる使用状況リーダーコンポーネントの公開を検討しています。

あなたが行える管理

  • リーダーボードを有効にせず、アプリを完全にオフラインで使用する。
  • 木のメニューから、いつでもリーダーボードの同期を一時停止または停止する。
  • 表示名と地域を変更または空欄にする。
  • アプリのデータファイルを削除/アンインストールして、ローカルデータを削除する。
  • 「オフ」にすると、あなたのリーダーボード記録の削除を要求します。オフラインである、または匿名セッションが期限切れで認証できなくなっているなどで要求が完了できない場合、後の試行が成功するまで記録がボードに残ることがあります(アプリはその失敗をローカルに記録します)。削除の確認や強制削除については当社にご連絡ください。

変更

将来のバージョンが新たなデータ処理(テレメトリ、クラッシュレポート、新たな通信先、新しいリーダーボード項目)を追加する場合は、そのバージョンの提供前に本通知とアプリ内の同意内容を更新し、リリースノートの「Privacy or network changes」の項目で明示します。

これまでにこの手順を 3 回踏んでいます:価格表の更新(v0.1.5 で提供、新たな通信相手は当サイトのホスティング事業者)、更新チェック(v0.2.1、新たな通信相手は GitHub)、そしてプロジェクト紹介(v0.2.2、初めてご自身が書く項目とアップロードするファイルが加わりました)。いずれも既定でオフです。

お問い合わせ

発行者:      Poietic Studio
プライバシー:  contact@tokenforest.com.au(専用の privacy@tokenforest.com.au は準備中)
セキュリティ:  Security ページを参照
ウェブサイト:  https://www.tokenforest.com.au