ダウンロード
お使いのマシンにClavitorを導入してください。
CLIにより、エージェントはボールトへのアクセス範囲を限定してアクセスできます。プロキシは、HTTPSリクエストに資格情報を透過的に挿入します。どちらも依存関係のない単一のバイナリです。
ダウンロード
Clavitor CLI
Single binary. Fetch credentials, generate TOTP, store new secrets. Zero dependencies.
| Platform | Size | SHA-256 | |
|---|---|---|---|
| Linux · amd64 | 1.7 MB | b81465759ca1f82c… | Download |
| Linux · arm64 | 1.3 MB | d3cb5af3fd9c736c… | Download |
| macOS · Intel | 1.4 MB | 97f82d5a3b060d38… | Download |
| macOS · Apple Silicon | 1.2 MB | 23c9beac8fd4dfe0… | Download |
| Windows · amd64 | 1.5 MB | 25d69ebd9e8cebcd… | Download |
| Windows · 386 | 1.2 MB | a1873dc576cc479f… | Download |
| FreeBSD · amd64 | 1.5 MB | 89750dcf6e59f8f1… | Download |
Clavitor Proxy
HTTPS proxy that injects credentials into agent requests. WASM crypto, no CGO, zero dependencies.
| Platform | Size | SHA-256 | |
|---|---|---|---|
| Linux · amd64 | 2.6 MB | 10681c485f405342… | Download |
| Linux · arm64 | 2.1 MB | 467b03d5dd006420… | Download |
| macOS · Intel | 2.1 MB | 289d74cdf2e4ed5f… | Download |
| macOS · Apple Silicon | 1.7 MB | 950baa470ce40ff3… | Download |
| Windows · amd64 | 2.2 MB | 4d39567efd100a4b… | Download |
| Windows · 386 | 1.8 MB | fa3cae1a442e140e… | Download |
| FreeBSD · amd64 | 2.4 MB | ee870cc2c717bd7c… | Download |
Download SHA256SUMS · verify with sha256sum -c SHA256SUMS
ブラウザ拡張機能
ブラウザで資格情報を入力する方はこちらが便利です。Clavitor拡張機能は、パスワード、パスキー、カード、ワンタイムコードを、入力が必要なフィールドに直接挿入します。ボールトはリモートに保持され、お使いのマシンにデータがキャッシュされたり復号されたりすることはありません。
現在Chromeで利用可能です。FirefoxとSafariも近日公開予定です。
エージェントのセットアップ
2つのステップ。CLIの新規インストールから、エージェントのIDが有効になるまで1分もかかりません。
1. ボールトにエージェントを作成する
ボールトの Web UI で エージェント → 新規 に進みます。エージェントに名前を付け(例: 「Claude Code」)、アクセスできるエントリを選びます。Clavitor は 登録ブロブ と 登録キー を返します。ブロブは封印されています(ボールトのアドレスとエージェントの識別情報を符号化しています)。キーはそのブロブを開く唯一の秘密です。キーはパスワードと同様に扱ってください。エージェントが動作するマシンへ直接渡し、その後は破棄してください。
2. エージェントのマシンでCLIを初期化する
$ clavitor-cli init <enrollment-blob> Enrollment key:
CLI はキーの入力を求めます(コマンドラインでは受け取らず、エコーされません)。ブロブをローカルで復号し、結果を暗号化されたローカル設定として ~/.config/clavitor/config(または $XDG_CONFIG_HOME/clavitor/config)に保存します。ブロブもキーも、以後は不要です。次の節では、この時点からエージェントが CLI を使う方法を示します。
プロキシのセットアップ
すでにHTTP/HTTPSに対応しているエージェント(Claude Desktop、カスタムスクリプト、requestsやfetchを使用するものなど)向け。プロキシはエージェントとアップストリームAPIの間に配置され、通信上でclavitor://Entry/fieldプレースホルダーを解決するため、エージェントが実際の資格情報を保持することはありません。脅威モデルとプロトコルの詳細については、プロキシアーキテクチャページを参照してください。
このウォークスルーは、人間またはAIエージェントが最初から最後まで読んで実際のマシンで実行できるように、わかりやすい文体で書かれています。以下のOSを選択してください。各セクションは、完結した6つの手順で構成されています。
始める前に: ボールトから登録ブロブとキーを取得します
お使いのボールトから、登録ブロブとその登録キーが必要です。これだけは人間にしかできません — 新しいエージェントを認可するには、ボールトがハードウェアのタップを要求します。
ボールトの Web UI で エージェント → 新規 に進み、エージェントに名前を付け(例: 「Local Proxy」)、アクセスできるエントリを選び、求められたらセキュリティキーをタップします。Clavitor は登録ブロブと登録キーを返します。両方をコピーしてください。以下の手順では、それぞれを一度貼り付け、その後は忘れて構いません。
Linux
以下のウォークスルーではbashを使用し、x86-64環境を想定しています。aarch64環境の場合は、amd64をarm64に置き換えてください。
1. プロキシバイナリをダウンロードし、実行可能にします。 依存関係のない、単一の自己完結型バイナリです:
$ curl -LO https://clavitor.ai/downloads/clavitor-proxy-linux-amd64 $ chmod +x clavitor-proxy-linux-amd64
2. バイナリはディスク上にあります。ここでボールトに結び付けます。 プロキシはブロブとキーを標準入力から読み取ります(コマンドラインからは読み取らないため、シェル履歴に残りません)。求められたら「始める前に」からそれぞれを貼り付け(キーはエコーされません)、表示されたボールトホストを確認してください:
$ ./clavitor-proxy-linux-amd64 init
Paste enrollment blob, then press Enter:
<paste-the-blob-here>
Enrollment key:
<paste-the-key-here>
This token enrolls the agent against vault:
<vault-host>
Your key authenticated the blob — NOT this host. If you did not get
this blob from your own vault operator, answering yes hands your
agent's credential resolution to whoever did.
Enroll against <vault-host>? [yes/no] yes
Enrolled against vault https://<vault-host>
Vault ID <vault-id>
Config /path/to/clavitor.conf
Try: clavitor-proxy ca > ca.pem then clavitor-proxy serveいま行われたこと: ブロブはキーでローカルに復号され(ネットワーク通信はありません)、ボールトのアドレス、エージェントの識別情報、資格情報の復号鍵が、バイナリの横にある暗号化ファイル clavitor.conf に書き込まれました(モード 0600)。ブロブもキーも、以後は不要です。入力が手入力ではなくパイプの場合、ホスト確認には応答できないため、先に CLAVITOR_PROXY_CONFIRM_VAULT=<vault-host> を設定してください。
3. プロキシのルートCAをエクスポートします。 プロキシは、エージェントが確立するすべてのHTTPS接続を終端し、各アップストリームホストに対してその場で証明書を再発行します。ルートCAを信頼しない場合、これらの証明書は検証に失敗します:
$ ./clavitor-proxy-linux-amd64 ca > clavitor-proxy-ca.pem
4. CAをシステムのトラストストアにインストールします。 Debian/Ubuntuおよびその派生ディストリビューションの場合:
$ sudo cp clavitor-proxy-ca.pem /usr/local/share/ca-certificates/clavitor-proxy-ca.crt $ sudo update-ca-certificates
update-ca-certificatesは1 addedと出力するはずです。これ以降、マシン上のすべてのHTTPSクライアント(curl、Pythonのrequests、Goのnet/httpなど)は、プロキシの証明書を正当なものとして受け入れます。
5. プロキシを起動します。 127.0.0.1:1983にバインドされ、フォアグラウンドで実行されます。Ctrl-Cで停止します:
$ ./clavitor-proxy-linux-amd64 serve clavitor-proxy <version> listening on 127.0.0.1:1983 Point your agent at: HTTPS_PROXY=http://clavitor:<token>@127.0.0.1:1983 Token redacted above; it is stored 0600 at /path/to/proxy-auth. e.g. export HTTPS_PROXY="http://clavitor:$(cat /path/to/proxy-auth)@127.0.0.1:1983"
永続的なセットアップを行う場合は、同じバイナリを指すsystemdユニットを配置して、再起動時に自動起動するようにします。参考となるユニットについては、プロキシのドキュメントを参照してください。
6. エージェントの接続先をプロキシにし、エンドツーエンドで確認します。 別のシェルで、バイナリがあるフォルダで(そこにあるファイル proxy-auth がプロキシのアクセストークンです。serve はこの行を表示します):
$ export HTTPS_PROXY="http://clavitor:$(cat proxy-auth)@127.0.0.1:1983" $ curl -H "Authorization: Bearer clavitor://OpenAI/key" https://api.openai.com/v1/models
実際にプロキシから送信され、OpenAIのサーバーに到達するもの(エージェントが見ることのないリクエスト):
GET /v1/models HTTP/1.1 Host: api.openai.com Authorization: Bearer sk-proj-abc123def456ghi789… ← real key, injected by the proxy User-Agent: curl/8.4.0
OpenAIからJSONレスポンスが返ってくれば、すべて正常に接続されています。プロキシは、手順2の資格情報復号鍵を使用してボールトに対してclavitor://OpenAI/keyを解決し、実際の鍵をAuthorizationヘッダーに代入して、リクエストをアップストリームに転送しました。エージェントのコードにはプレースホルダーのみが保持され、実際の鍵がプロキシのプロセスメモリから外に出ることはありません。
macOS
以下のウォークスルーではzsh(macOSのデフォルトシェル)を使用し、Apple Siliconを想定しています。Intel Macの場合は、arm64をamd64に置き換えてください。
1. プロキシバイナリをダウンロードし、実行可能にします。 依存関係のない、単一の自己完結型バイナリです:
$ curl -LO https://clavitor.ai/downloads/clavitor-proxy-darwin-arm64 $ chmod +x clavitor-proxy-darwin-arm64
初回実行時にmacOSのGatekeeperによってバイナリの実行が拒否された場合は、Finderでバイナリを右クリックし、開くを選択して確認します。これで例外が登録されます。その後は、コマンドラインからの呼び出しが機能します。
2. バイナリはディスク上にあります。ここでボールトに結び付けます。 プロキシはブロブとキーを標準入力から読み取ります(コマンドラインからは読み取らないため、シェル履歴に残りません)。求められたら「始める前に」からそれぞれを貼り付け(キーはエコーされません)、表示されたボールトホストを確認してください:
$ ./clavitor-proxy-darwin-arm64 init
Paste enrollment blob, then press Enter:
<paste-the-blob-here>
Enrollment key:
<paste-the-key-here>
This token enrolls the agent against vault:
<vault-host>
Your key authenticated the blob — NOT this host. If you did not get
this blob from your own vault operator, answering yes hands your
agent's credential resolution to whoever did.
Enroll against <vault-host>? [yes/no] yes
Enrolled against vault https://<vault-host>
Vault ID <vault-id>
Config /path/to/clavitor.conf
Try: clavitor-proxy ca > ca.pem then clavitor-proxy serveいま行われたこと: ブロブはキーでローカルに復号され(ネットワーク通信はありません)、ボールトのアドレス、エージェントの識別情報、資格情報の復号鍵が、バイナリの横にある暗号化ファイル clavitor.conf に書き込まれました(モード 0600)。ブロブもキーも、以後は不要です。入力が手入力ではなくパイプの場合、ホスト確認には応答できないため、先に CLAVITOR_PROXY_CONFIRM_VAULT=<vault-host> を設定してください。
3. プロキシのルートCAをエクスポートします。 プロキシは、エージェントが確立するすべてのHTTPS接続を終端し、各アップストリームホストに対してその場で証明書を再発行します。ルートCAを信頼しない場合、これらの証明書は検証に失敗します:
$ ./clavitor-proxy-darwin-arm64 ca > clavitor-proxy-ca.pem
4. CAをシステムキーチェーンにインストールします。 1つのコマンドで、sudoパスワードの入力を求められます:
$ sudo security add-trusted-cert -d -r trustRoot \
-k /Library/Keychains/System.keychain clavitor-proxy-ca.pemこれ以降、Safari、curl、Swift、Python、Go、およびマシン上の他のほとんどのHTTPSクライアントがプロキシの証明書を受け入れます。(一部の言語ランタイムは独自のトラストバンドルを搭載しており、個別の設定が必要です。その場合は証明書エラーが表示されます。)
5. プロキシを起動します。 127.0.0.1:1983にバインドされ、フォアグラウンドで実行されます。Ctrl-Cで停止します:
$ ./clavitor-proxy-darwin-arm64 serve clavitor-proxy <version> listening on 127.0.0.1:1983 Point your agent at: HTTPS_PROXY=http://clavitor:<token>@127.0.0.1:1983 Token redacted above; it is stored 0600 at /path/to/proxy-auth. e.g. export HTTPS_PROXY="http://clavitor:$(cat /path/to/proxy-auth)@127.0.0.1:1983"
永続的なセットアップを行う場合は、launchdエージェントとしてインストールし、ログイン時に起動し、クラッシュ時に再起動するようにします。
6. エージェントの接続先をプロキシにし、エンドツーエンドで確認します。 別のシェルで、バイナリがあるフォルダで(そこにあるファイル proxy-auth がプロキシのアクセストークンです。serve はこの行を表示します):
$ export HTTPS_PROXY="http://clavitor:$(cat proxy-auth)@127.0.0.1:1983" $ curl -H "Authorization: Bearer clavitor://OpenAI/key" https://api.openai.com/v1/models
実際にプロキシから送信され、OpenAIのサーバーに到達するもの(エージェントが見ることのないリクエスト):
GET /v1/models HTTP/1.1 Host: api.openai.com Authorization: Bearer sk-proj-abc123def456ghi789… ← real key, injected by the proxy User-Agent: curl/8.4.0
OpenAIからJSONレスポンスが返ってくれば、すべて正常に接続されています。プロキシは、手順2の資格情報復号鍵を使用してボールトに対してclavitor://OpenAI/keyを解決し、実際の鍵をAuthorizationヘッダーに代入して、リクエストをアップストリームに転送しました。エージェントのコードにはプレースホルダーのみが保持され、実際の鍵がプロキシのプロセスメモリから外に出ることはありません。
Windows
以下のウォークスルーではPowerShellを使用し、64ビットWindowsを想定しています。32ビットの場合は、windows-amd64.exeをwindows-386.exeに置き換えてください。
1. プロキシバイナリをダウンロードします。 依存関係のない、単一の自己完結型.exeファイルです:
> Invoke-WebRequest https://clavitor.ai/downloads/clavitor-proxy-windows-amd64.exe `
-OutFile clavitor-proxy.exe署名されていないバイナリを初めて実行する際、Windows SmartScreenに警告が表示される場合があります。詳細情報 → 実行をクリックして許可してください。
2. バイナリはディスク上にあります。ここでボールトに結び付けます。 プロキシはブロブとキーを標準入力から読み取ります(コマンドラインからは読み取らないため、PowerShell の履歴に残りません)。求められたら「始める前に」からそれぞれを貼り付け(キーはエコーされません)、表示されたボールトホストを確認してください:
> .\clavitor-proxy.exe init
Paste enrollment blob, then press Enter:
<paste-the-blob-here>
Enrollment key:
<paste-the-key-here>
This token enrolls the agent against vault:
<vault-host>
Your key authenticated the blob — NOT this host. If you did not get
this blob from your own vault operator, answering yes hands your
agent's credential resolution to whoever did.
Enroll against <vault-host>? [yes/no] yes
Enrolled against vault https://<vault-host>
Vault ID <vault-id>
Config C:\path\to\clavitor.conf
Try: clavitor-proxy ca > ca.pem then clavitor-proxy serveいま行われたこと: ブロブはキーでローカルに復号され(ネットワーク通信はありません)、ボールトのアドレス、エージェントの識別情報、資格情報の復号鍵が、バイナリの横にある暗号化ファイル clavitor.conf に書き込まれました。ブロブもキーも、以後は不要です。入力が手入力ではなくパイプの場合、ホスト確認には応答できないため、先に CLAVITOR_PROXY_CONFIRM_VAULT=<vault-host> を設定してください。
3. プロキシのルートCAをエクスポートします。 プロキシは、エージェントが確立するすべてのHTTPS接続を終端し、各アップストリームホストに対してその場で証明書を再発行します。ルートCAを信頼しない場合、これらの証明書は検証に失敗します:
> .\clavitor-proxy.exe ca > clavitor-proxy-ca.pem
4. CAをローカルマシンの信頼されたルートストアにインストールします。 昇格されたPowerShellを開き(PowerShellを右クリック → 管理者として実行)、以下を実行します:
> certutil -addstore -f "ROOT" clavitor-proxy-ca.pem
これ以降、Edge、.NET、curl.exe、およびマシン上のほとんどのHTTPクライアントがプロキシの証明書を受け入れます。(Firefoxは独自のトラストストアを維持しています。Firefoxでテストする場合は、設定 → プライバシーとセキュリティ → 証明書 → 証明書を表示 → 認証局 → インポートからCAを個別にインポートしてください。)
5. プロキシを起動します。 127.0.0.1:1983にバインドされ、フォアグラウンドで実行されます。Ctrl-Cで停止します:
> .\clavitor-proxy.exe serve clavitor-proxy <version> listening on 127.0.0.1:1983 Point your agent at: HTTPS_PROXY=http://clavitor:<token>@127.0.0.1:1983 Token redacted above; it is stored 0600 at C:\path\to\proxy-auth. e.g. export HTTPS_PROXY="http://clavitor:$(cat C:\path\to\proxy-auth)@127.0.0.1:1983"
永続的なセットアップを行う場合は、Windowsサービスまたはスケジュールされたタスクとして登録し、起動時に開始されるようにします。
6. エージェントの接続先をプロキシにし、エンドツーエンドで確認します。 別の PowerShell ウィンドウで、バイナリがあるフォルダで(そこにあるファイル proxy-auth がプロキシのアクセストークンです):
> $env:HTTPS_PROXY = "http://clavitor:$(Get-Content proxy-auth)@127.0.0.1:1983"
> curl.exe -H "Authorization: Bearer clavitor://OpenAI/key" `
https://api.openai.com/v1/models(明示的にcurl.exeを使用してください。PowerShellのcurlエイリアスはInvoke-WebRequestを指しており、プロキシ環境変数の処理が異なります。)実際にプロキシから送信され、OpenAIのサーバーに到達するもの(エージェントが見ることのないリクエスト):
GET /v1/models HTTP/1.1 Host: api.openai.com Authorization: Bearer sk-proj-abc123def456ghi789… ← real key, injected by the proxy User-Agent: curl/8.4.0
OpenAIからJSONレスポンスが返ってくれば、すべて正常に接続されています。プロキシは、手順2の資格情報復号鍵を使用してボールトに対してclavitor://OpenAI/keyを解決し、実際の鍵をAuthorizationヘッダーに代入して、リクエストをアップストリームに転送しました。エージェントのコードにはプレースホルダーのみが保持され、実際の鍵がプロキシのプロセスメモリから外に出ることはありません。
Claude Codeスキルのインストール
CLIには、Claude Codeにボールトの使用方法を教える組み込みのスキル定義が付属しています。1つのコマンドでインストールできます。
# Install globally (all projects) $ clavitor-cli skill > ~/.claude/skills/clavitor.md # Or install for a specific project $ clavitor-cli skill > /path/to/project/.claude/skills/clavitor.md
スキルはバイナリに埋め込まれています。新しいリリースをダウンロードして更新してください。
使用方法
これで、エージェントは資格情報を取得し、TOTPコードを生成し、新しいシークレットを保存できるようになりました。すべてのアクセスはボールトの監査ログに記録されます。
# Fetch a credential $ clavitor-cli get github # Generate a TOTP code $ clavitor-cli totp github # Store a new credential $ clavitor-cli put credential "AWS Prod" --username admin --password s3cret # List all entries $ clavitor-cli list
1回のCLI呼び出し。すべてのシークレット。
あなたのボールト、あなたのアクセス範囲、あなたの監査ログ。環境変数なし、設定ファイルなし、ログにシークレットが記録されることもありません。