トークンの管理
Takumi Guard には2種類のトークンがあります。いずれも npm・PyPI・RubyGems・Go モジュールの全パッケージマネージャーで共通して利用でき、設定方法も同じです。セットアップコマンドは npm / PyPI / RubyGems / Go モジュール の各クイックスタートを参照してください。
| トークン | プレフィックス | 発行方法 | 用途 |
|---|---|---|---|
| メール認証トークン | tg_anon_ | メール登録 | 個人の開発環境(Shisho Cloud アカウント不要) |
| 組織ユーザートークン | tg_org_ | コンソールまたは Guard API | 組織全体のインストール追跡 |
メール認証トークン
以下のエンドポイントはメール認証トークンに適用されます。認証が必要なリクエストにはすべて Authorization: Bearer <APIキー> を使用します。
メールアドレスの登録
メールアドレスを登録すると、メール認証トークンが発行されます。
curl -X POST https://npm.flatt.tech/api/v1/tokens \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "language": "ja"}'
language フィールドは省略可能で、デフォルトは "en"(英語)です。"ja" を指定すると、すべてのメールが日本語で届きます。
API キーはウェルカムメールに直接記載されているため、確認用リンクをクリックする必要はありません。
トークンステータスの確認
curl -H "Authorization: Bearer tg_anon_xxxxxx" \
https://npm.flatt.tech/api/v1/tokens/status
最終使用日時を含む利用統計情報が返されます。
トークンの確認方法
API キーは登録時に届くウェルカムメールに記載されています。また、パッケージマネージャーは認証情報を平文の設定ファイルに保存するため、セットアップ時に保存された場所からトークンを復元することもできます。
パッケージマネージャーは平文の認証情報のみをサポートしています。これは各パッケージマネージャーの認証プロトコルの制約であり、Takumi Guard の設計上の選択ではありません。
npm
トークンは .npmrc(プロジェクトレベルまたはユーザーレベルの ~/.npmrc)に保存されています。
cat ~/.npmrc | grep flatt.tech
# 出力: //npm.flatt.tech/:_authToken=tg_anon_xxxxxx
yarn berry(v2+)の場合は .yarnrc.yml を確認してください。
grep npmAuthToken .yarnrc.yml
bun の場合は bunfig.toml を確認してください。
grep token bunfig.toml
pip / uv
pip config set で設定した場合(推奨)は、以下のコマンドで保存された値を確認できます。
pip config get global.index-url
# 出力: https://token:tg_anon_xxxxxx@pypi.flatt.tech/simple/
uv の場合は環境変数を確認してください。
echo $UV_DEFAULT_INDEX
# 出力: https://token:tg_anon_xxxxxx@pypi.flatt.tech/simple/
環境変数で設定した場合は、シェルプロファイル(.bashrc、.zshrc など)を確認してください。
echo $PIP_INDEX_URL
# 出力: https://token:tg_anon_xxxxxx@pypi.flatt.tech/simple/
uv.toml(ユーザーレベル: ~/.config/uv/uv.toml、プロジェクトレベル: uv.toml または pyproject.toml)で設定した場合は 以下を確認してください。
grep -r flatt.tech ~/.config/uv/uv.toml uv.toml pyproject.toml 2>/dev/null
Poetry
poetry config http-basic.takumi-guard
# 出力: Username: token, Password: tg_anon_xxxxxx
RubyGems
トークンは ~/.bundle/config に保存された Bundler のミラー URL に埋め込まれています。
bundle config get mirror.https://rubygems.org
# 出力: https://token:tg_anon_xxxxxx@rubygems.flatt.tech/
Go モジュール
トークンは ~/.netrc の golang.flatt.tech の行のパスワード欄に保存されています。
grep golang.flatt.tech ~/.netrc
# 出力: machine golang.flatt.tech login token password tg_anon_xxxxxx
トークンのローテーション
現在のキーがある場合:regenerate エンドポイントを使ってすぐにローテーションできます。
curl -X POST \
-H "Authorization: Bearer tg_anon_xxxxxx" \
https://npm.flatt.tech/api/v1/tokens/regenerate