Vault
Vault は、API トークン・SSH 鍵・設定ファイルなどのシークレットを保管するモジュールです。AI にはシークレットの**参照名(エイリアス)**だけを渡し、値そのものを渡しません。
- 人が Vault にシークレットを登録し、参照名(例:
github-token)を付けます - AI はコマンドを実行するときに、参照名を指定します(例:「
github-tokenを環境変数GH_TOKENとして渡す」) - banto が Vault から値を取り出し、コマンドのプロセスに直接渡します
値は AI のコンテキストにも会話の履歴にも含まれません。
シークレットの種類
Section titled “シークレットの種類”| 種類 | 用途 |
|---|---|
| シークレット | API トークンなどの文字列 |
| SSH 鍵 | git push など。秘密鍵は Vault の外に出ず、ssh-agent 経由で使われる |
| ファイル | .npmrc などの設定ファイル |
SSH 鍵は、Vault の中で新しく作成することもできます。公開鍵を表示して、GitHub などに登録します。
シークレットを登録する
Section titled “シークレットを登録する”banto 全体の設定の Vault の画面で登録します。AI が作業中にシークレットが必要になった場合は、AI から登録を依頼されます。依頼のカードから登録画面を開き、値を入力してください。値を入力するのは常に人で、AI が値を見ることはありません。
登録済みのシークレットの値は、Vault の画面から置き換えられます。
シークレットはグループに分けて管理します。プロジェクトごとに、どのグループを使うかを設定できます。
- 共有のグループ:すべてのプロジェクトから使えるシークレット
- プロジェクトのグループ:特定のプロジェクトだけで使うシークレット
別のグループにあるシークレットを、値を複製せずに参照として配置することもできます。
| 保管先 | 内容 |
|---|---|
| ローカル(標準) | banto のサーバー上に暗号化して保存 |
| Infisical | Infisical に保存されたシークレットを使う。環境(dev・prod など)を選択できる |