サインイン ずっと無料 利用を開始する

開発者向け

1回のCLI呼び出し。すべてのシークレット。

環境変数なし。設定ファイルなし。ログにシークレットなし。コードが必要とするすべてのシークレットは、エージェントが回避できないボールトから実行時に解決されます。

パターン

1回保存して、どこからでも取得。

各エージェントは、独自のトークン、アクセス範囲、およびレート制限で1回だけ初期化されます。その後、エージェントは実行時にシークレットを取得できます。鍵はボールト内に暗号化されて保存され、環境変数やソースコードに保存されることはありません。鍵のローテーションを行う場合は、ボールトUIで更新するだけで、すべてのエージェントに自動的に反映されます。

# One-time setup — paste the token at the prompt, or pipe it in
$ echo "$CLAVITOR_TOKEN" | clavitor-cli init

# Single value — piped, never stored
$ clavitor-cli get "Deploy Key" --field private_key | ssh-add -

# Whole config — secrets resolved, template safe to store anywhere
$ clavitor-cli render app.config.json | myapp --config -

# Proxy — credentials injected at the network layer
$ export HTTPS_PROXY=http://localhost:1983
$ curl -H "Authorization: Bearer clavitor://OpenRouter/key" https://openrouter.ai/api/v1/models

3つの使用方法

フィールド、レンダー、またはプロキシ。

フィールド

1つの値。任意のコマンドやスクリプトにパイプで渡します。シークレットはパイプ内にのみ存在し、変数内やディスク上に保存されることはありません。

レンダー

設定ファイル全体。起動時にすべての clavitor:// 参照を解決します。テンプレートはコミットしても安全です。解決された設定はパイプ内に存在します。

プロキシ

HTTPSプロキシ。資格情報はヘッダーから透過的に解決されます。エージェントはシークレットが必要な場所に clavitor:// を記述し、プロキシが実際の値を挿入します。ログにもエージェントのメモリにも何も記録されません。

どれを使用すべきですか?

機能FieldRenderProxy
ログからシークレットを排除
あらゆる言語に対応
あらゆるツールに対応(curl、SDK、ブラウザ)
エージェントごとのアクセス範囲の限定と監査
複数のシークレットを同時に処理
コードの変更不要
設定ファイルはコミットしても安全
SSH / 非HTTPのユースケース

クイック選択: スクリプトやCLIツールを構築していますか?フィールドを使用してください。設定ファイルを使用してサービスをデプロイしていますか?レンダーを使用してください。API呼び出しを行うAIエージェントを実行していますか?プロキシを使用してください。

これが他のすべての資格情報プロキシに勝る理由。

盗むものはありません。 クラウドホスト型プロキシは価値の高い標的です。1つでも侵害されれば、すべての顧客の資格情報が奪われます。ローカルプロキシは独自の設定に資格情報を保存し、マシン上の任意のエージェントが読み取れます。Clavitorのプロキシが保持するのは、暗号化された設定ファイルのみです。ディスク上に平文のシークレットはなく、不正アクセスされる資格情報ストアもありません。

エージェントがこじ開けることはできません。 侵害されたエージェントがプロキシから資格情報を抽出することはできません。プロキシはAPIを公開せず、ダッシュボードを提供せず、コマンドも受け付けません。1つのヘッダーを読み取り、1つの参照を解決し、結果を送信リクエストに挿入するだけです。攻撃対象領域は存在しません。

ログに何も記録されません。 エージェントは clavitor://Entry/field を記述します。標準出力、ログ、会話履歴に表示されるのはこの文字列だけです。実際の資格情報は、1回のHTTP呼び出しの間のみプロキシプロセス内に存在します。ログアグリゲーター、クラッシュダンプ、CIアーティファクトはすべてクリーンな状態です。

設定ゼロ。 ルーティングテーブル、APIマッピング、管理する資格情報ファイルはありません。ヘッダー内の clavitor:// 参照が唯一の指示です。1回の init、1つの環境変数、これで完了です。

言語

あらゆる言語で動作します。SDKは不要です。

Bash

# The proxy handles credential injection — no secrets in the command
$ export HTTPS_PROXY=http://localhost:1983
$ curl -H "Authorization: Bearer clavitor://OpenRouter API/key" \
  https://openrouter.ai/api/v1/models

Go

key, _ := exec.Command("clavitor-cli", "get", "OpenRouter API", "--field", "key").Output()
client := openai.NewClient(option.WithAPIKey(strings.TrimSpace(string(key))))

Python

import subprocess
# Pass directly — or use the HTTPS proxy to avoid holding the key entirely
stripe.api_key = subprocess.check_output(
    ["clavitor-cli", "get", "Stripe API", "--field", "key"]
).decode().strip()

Rust

let key = std::process::Command::new("clavitor-cli")
    .args(["get", "AWS Credentials", "--field", "secret_key"])
    .output()?;
let client = aws::Client::new(String::from_utf8(key.stdout)?.trim());

TypeScript / Node

import { execSync } from 'child_process';
const apiKey = execSync('clavitor-cli get "Anthropic API" --field key').toString().trim();
const client = new Anthropic({ apiKey });

C# / .NET

using System.Diagnostics;
var psi = new ProcessStartInfo("clavitor-cli") { RedirectStandardOutput = true, UseShellExecute = false };
psi.ArgumentList.Add("get");
psi.ArgumentList.Add("Stripe API");
psi.ArgumentList.Add("--field");
psi.ArgumentList.Add("key");
var key = Process.Start(psi)!.StandardOutput.ReadToEnd().Trim();
var client = new StripeClient(key);

PowerShell

# Single value — pipe or use directly
$key = clavitor-cli get "AWS Credentials" --field secret_key
Set-AWSCredential -AccessKey $env:AWS_ACCESS_KEY -SecretKey $key

# Or use the proxy — no secrets in the script at all
$env:HTTPS_PROXY = "http://localhost:1983"
Invoke-RestMethod -Uri "https://api.openai.com/v1/models" `
  -Headers @{ Authorization = "Bearer clavitor://OpenAI/key" }

Java

import java.nio.charset.StandardCharsets;

Process p = new ProcessBuilder("clavitor-cli", "get", "Stripe API", "--field", "key").start();
String key = new String(p.getInputStream().readAllBytes(), StandardCharsets.UTF_8).trim();
Stripe.apiKey = key;

設定のレンダリング

保存するのは設定。シークレットではありません。

clavitor-cli render は、任意のファイル内の clavitor://entry/field 参照をスキャンし、ボールトに対してそれぞれを解決して、結果を出力します。テンプレートはどこに保存しても安全です。解決された設定はパイプ内に存在します。シークレットがディスクに触れることはありません。

# Template (safe to store anywhere)
$ cat app.config.json
{"api_key": "clavitor://OpenRouter API/key", "db": "clavitor://Prod DB/password"}

# Resolved (piped to application, never on disk)
$ clavitor-cli render app.config.json
{"api_key": "sk-or-v1-abc123...", "db": "hunter2"}

JSON、YAML、TOML、.env、または任意のテキストファイルで動作します。clavitor:// が含まれていれば解決されます。

その他の統合ガイド

インフラストラクチャ

Docker、Kubernetes、Terraform、Ansible、GitHub Actions、GitLab CI、SSH。設定にシークレットゼロ、ログにシークレットゼロ。

インフラストラクチャガイド →

AIエージェント

Claude Code、Codex、OpenClaw、Hermes、CrewAI、LangChain。アクセス範囲を限定したトークン、監査ログ、自動ロックダウン。

エージェントガイド →

MSPツール

PowerShell、Datto RMM、N-able、ConnectWise Automate。顧客基盤向けの資格情報発行。

MSPガイド →

パターンは常に同じです。

1回のCLI呼び出し、あらゆるコンテキスト。エージェントのアクセス範囲によって参照できるものが決まります。暗号化レベルによって復号できるものが決まります。監査ログはすべてのアクセスを記録します。