Keyblind について
Keyblind は AI エージェント向けの暗号化シークレット保管庫で、LLM の会話記録に値を残さず、実行時にシークレットを解決します。開発者はローカルでシークレットを管理し、対応バックエンドを利用して、MCP 経由でエージェントに保管庫の操作を提供できます。
主な機能
- 01シークレットの暗号化と保存
- 02会話記録に出さず値を解決
- 03MCP クライアントの設定
- 04.env の値を決定的な偽値に置換
- 05チーム保管庫と監査操作の管理
- 06複数のシークレットバックエンド
活用シーン
- 01API 認証情報をチャットに出さずエージェントに使わせる
- 02偽の環境値を使ったプロジェクトテスト
- 03チーム内でのシークレット共有と管理
- 04エージェントによるアクセスと操作の確認
MCP 対応
Keyblind は MCP サーバーとして、シークレット保存、実行時解決、サンドボックス、チーム保管庫、TOTP、監査用のツールを提供します。セットアップコマンドで対応 MCP クライアントを設定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Keyblind — AI にキーを見せない
AI エージェント向けの MCP を備えた、暗号化されたシークレット保管庫です。1 つのコマンドですべてのエディターを設定できます。シークレットは実行時に解決され、LLM との会話に漏れることはありません。
理由
開発者は、API キー、パスワード、トークンを AI コーディングツールに頻繁に漏らしています。2025 年には、シークレットが公開された 100,000 件以上の LLM との会話が、検索エンジンにインデックスされていることが確認されました。
AI エージェントは .env ファイルを読み取ります。シークレットを会話にコピー&ペーストします。誤ってコミットすることもあります。Keyblind は、シークレットを保存時に暗号化し、実行時 に解決することでこれを防ぎます。平文の値が LLM の会話記録に触れることはありません。
仕組み
┌──────────┐ ┌────────────────┐ ┌─────────────────┐
│ AI Agent │ ──→ │ Keyblind MCP │ ──→ │ Encrypted │
│ (Claude) │ │ Server │ │ SQLite Vault │
│ │ ←── │ (27 tools) │ ←── │ (AES-256-GCM) │
└──────────┘ └────────────────┘ └─────────────────┘
↑ │
│ secret value never appears │ secrets never
│ in conversation transcript │ stored in plaintext
クイックスタート
# 1. Install
npm i -g keyblind
# 2. One-command setup (initialize vault + configure Claude Code)
keyblind quickstart
# 3. Store secrets
echo "sk-proj-abc123" | keyblind set OPENAI_API_KEY
keyblind set DATABASE_URL - # prompts securely
# 4. Sandbox your .env (AI agents see fakes)
keyblind sandbox
# 5. Resolve a secret
keyblind get OPENAI_API_KEY
# 6. Run commands with secrets injected as env vars
keyblind run -- npm start
# 7. List all secrets (names only, values hidden)
keyblind list
以上です。
keyblind quickstartの実行後、Claude Code を再起動してください。あとは 「keyblind のシークレットを一覧表示して」 または 「OPENAI_API_KEY を使って」 と伝えるだけです。AI エージェントは、会話記録に値を表示することなく、実行時にシークレットを解決します。
MCP サーバー
Keyblind は MCP を最優先 しており、Model Context Protocol に対応するすべての AI ツール(Claude Code、Cursor、Copilot、Windsurf、Cline、Zed)で動作します。
セットアップ(自動)
keyblind setup-mcp
これにより、Keyblind を使うよう Claude Code、Cline、Zed が自動的に設定されます。どのディレクトリからでも実行できます。
プロジェクトローカルのエディター(Cursor、Windsurf、Copilot、Cline のプロジェクトモード)を使う場合は、プロジェクトのルートから実行してください。
keyblind setup-mcp --local
詳しい説明と手動セットアップについては、エディターごとの設定を参照してください。
セットアップ(手動)
プロジェクトのルートに .mcp.json を追加するか、claude mcp add を使います。
claude mcp add --scope user keyblind -- keyblind start
生体認証ゲートを使う場合(シークレットの解決前に Touch ID が必要です)。
keyblind unlock # Authenticate first
claude mcp add keyblind -- keyblind start --biometric
セッションは 15 分後に期限切れになります。Pro または Team ライセンスが必要です。
MCP ツール
| ツール | 説明 |
|---|---|
resolve_secret | 実行時にシークレットを解決します(値は会話記録に表示されません) |
store_secret | シークレットを暗号化して保存します |
list_secrets | シークレット名を一覧表示します(値は表示されません) |
delete_secret | シークレットを削除します |
sandbox_env | .env の値を決定論的なダミー値に置き換えます |
unsandbox_env | 保管庫から実際の .env の値を復元します |
audit_log | シークレット解決の監査ログを表示します |
totp_code | 保存済みの設定から TOTP 2FA コードを生成します |
totp_store | otpauth:// URI から TOTP 設定を保存します |
totp_list | 保存済みの TOTP 設定をすべて一覧表示します |
totp_delete | TOTP 設定を削除します |
create_share_link | シークレット用の暗号化された有効期限付き共有リンクを作成します |
receive_share | 共有されたシークレットを受け取り、復号します |
deadman_status | デッドマンスイッチの状態を確認します |
deadman_checkin | デッドマンスイッチのタイマーをリセットします |
team_init | 共有チーム保管庫(暗号化された SQLite)を作成します |
team_push | ローカルのシークレットをチーム保管庫にプッシュします |
team_pull | チーム保管庫からすべてのシークレットをインポートします |
team_list | チーム保管庫内のシークレット名を一覧表示します |
team_resolve | チーム保管庫のシークレットを解決(復号)します |
team_delete | チーム保管庫のシークレットを削除します |
sso_status | SSO/OIDC 認証の状態を確認します |
register_agent | 人間のスポンサーに紐付けた AI エージェントを登録します |
record_action | 改ざん防止台帳に署名付きアクションを追記します |
verify_ledger | 台帳の完全性を検証します(ハッシュチェーン+署名) |
list_agents | 登録済みの AI エージェントを一覧表示します |
export_compliance | エージェント台帳をコンプライアンスレポートとしてエクスポートします |
Web Dashboard
ブラウザーからシークレットを管理できます。サインインもペアリングも不要です。ローカルダッシュボードを開きます。
keyblind dashboard
ローカルサーバーが起動し、ブラウザーで http://localhost:4318/ が開きます。ダッシュボードは REST API と同じオリジンから配信されるため、CORS、ペアリングトークン、ログインなしで、すべてのブラウザーで動作します。機能:
- シークレットの表示、追加、コピー、削除
- 完全なアクセス履歴を記録する監査ログ
- ライセンス管理(プラン、メールアドレス、有効期限)
- Pro/Team プランのステータス
- シークレットごとのアクセス ポリシーとローテーションのリマインダー
- エージェントの操作承認(キューに入ったエージェントによる書き込みの承認/拒否)
- 集中管理コントロールプレーン(組織全体の可視性+署名付き失効)
ホスト型コントロールプレーン(hosted/)では、組織、ロール、グループ、署名付き失効+グループスコープマニフェスト、複数プロバイダーの SSO ログイン(組織の自動プロビジョニング、複数組織の切り替え、IdP のセッション終了による失効を含む)、および有効期間の短いエージェント認証情報が追加されます。docs/enterprise.md(フェーズ 2)を参照してください。
Browser Extension
Keyblind Chrome Extension は、AI チャットインターフェース(Claude.ai、ChatGPT、Copilot)へのシークレットの貼り付けを検出してブロックします。
機能:
- 12 種類以上の API キー形式を検出(OpenAI、GitHub、Stripe、AWS など)
- AI チャットサイトでの貼り付けイベントをインターセプト
- シークレットを検出した際に警告バナーを表示
- Vault の接続状態を表示するポップアップ
browser-extension/ にあります。chrome://extensions からパッケージ化されていない拡張機能として読み込みます。
Pricing
| Free | Pro | Team | |
|---|---|---|---|
| 価格 | $0 | $79/year | $29/user/month |
| シークレット | 5 | 無制限 | 無制限 |
| ローカル Vault | ✓ | ✓ | ✓ |
| サンドボックス/サンドボックス解除 | ✓ | ✓ | ✓ |
| MCP サーバー | ✓ | ✓ | ✓ |
| ダッシュボード | ✓ | ✓ | ✓ |
| ブラウザー拡張機能 | ✓ | ✓ | ✓ |
| 7 つのバックエンド | ✓ | ✓ | ✓ |
| チーム Vault | — | ✓ | ✓ |
| 監査ログ | — | ✓ | ✓ |
| シークレット共有 | — | ✓ | ✓ |
| デッドマンズスイッチ | — | ✓ | ✓ |
| TOTP 2FA | — | ✓ | ✓ |
| 生体認証ゲート | — | ✓ | ✓ |
| SSO/OIDC | — | — | ✓ |
| CI/CD 統合 | — | ✓ | ✓ |
# Buy a license at keyblind.dev, then activate:
keyblind activate <your-license-key>
# Check your status
keyblind status
Backends
Keyblind は複数のシークレットバックエンドに対応しています。
keyblind backends # List available backends
keyblind backend 1password # Switch to 1Password
keyblind backend bitwarden # Switch to Bitwarden
| バックエンド | 読み取り | 書き込み | 必要なもの |
|---|---|---|---|
| local(デフォルト) | ✓ | ✓ | なし |
| 1password | ✓ | ✓ | op CLI |
| bitwarden | ✓ | — | bw CLI |
| env | ✓ | — | なし |
| aws | ✓ | ✓ | aws CLI |
| gcp | ✓ | ✓ | gcloud CLI |
| azure | ✓ | ✓ | az CLI |
Keyblind vs Cloak
| Keyblind | Cloak | |
|---|---|---|
| プロトコル | MCP(すべてのエディター) | VS Code 拡張機能のみ |
| エディター | Claude Code、Cursor、Copilot、Windsurf、Cline、Zed | VS Code、Cursor |
| ストレージ | AES-256-GCM SQLite | AES-256-GCM ファイル |
| バックエンド | Local、1Password、Bitwarden、Env、AWS、GCP、Azure | Local のみ |
| サンドボックス | 決定論的 HMAC フェイク | AES-256-GCM 暗号化 |
| Web ダッシュボード | ✓ (localhost:4318) | — |
| ブラウザー拡張機能 | ✓ (Chrome) | — |
| TOTP 2FA | ✓ | — |
| シークレット共有 | ✓(暗号化された URL フラグメント) | — |
| デッドマンズスイッチ | ✓ | — |
| Touch ID | ✓(macOS の生体認証ゲート) | ✓ |
| CI/CD | 環境変数の注入に keyblind run を使用 | — |
| ネットワーク | ゼロ(完全ローカル) | ゼロ |
| ライセンス | MIT | プロプライエタリ |
| 無料プラン | ✓(シークレット 5 個) | ✓ |
| Pro | $79/year(無制限) | — |
Security
- AES-256-GCM 暗号化と PBKDF2 鍵導出(600K 回反復)
- マシン ID に紐付けられた鍵 — 暗号化鍵はマシンのフィンガープリントで XOR ラップされます
- ネットワーク通信ゼロ、テレメトリーゼロ — クラウド、アカウント、分析機能はありません
- Vault は
~/.keyblind/に0700権限で保存されます - 決定論的なサンドボックス用フェイク。プロジェクトとキー名ごとに HMAC-SHA256 を使用します
インストールの検証
リリースは npm provenance を使用して GitHub Actions からビルドおよび公開されます。これにより、tarball が開発者のマシンではなく、このリポジトリの CI で生成されたことが証明されます。
npm audit signatures # Verify npm registry signatures
リリースのビルド provenance を検証するには、 https://github.com/aarifmms/keyblind/releases のリリースページを開き、tarball をビルドした正確なコミットとワークフローの実行にリンクする「Provenance」セクションと「Attestations」セクションを確認してください。
- 依存関係グラフが小さい — CLI の依存パッケージは 3 つのみです(MCP SDK、better-sqlite3、zod)。サーバー専用の依存パッケージ(Stripe、Resend、Vercel CLI)は
hosted/とdashboard/のパッケージに含まれており、npm i -g keyblindではインストールされません。 - ソースマップなし — 公開される tarball には、元のソースを埋め込まずにコンパイル済みの JavaScript が含まれます。
CLI リファレンス
keyblind quickstart One-command setup (init + configure Claude Code)
keyblind init Initialize the encrypted vault
keyblind set <name> Store a secret (value from stdin)
keyblind set <name> - Store a secret (prompts securely)
keyblind get <name> Resolve and print a secret
keyblind list List all stored secrets
keyblind delete <name> Delete a secret
keyblind setup-mcp Auto-configure MCP for Claude Code, Cline, Zed
keyblind setup-mcp --local Write project MCP configs (Cursor, Windsurf, Copilot, Cline)
keyblind sandbox [.env] Replace .env with deterministic fakes
keyblind unsandbox [.env] Restore real .env values
keyblind run <command...> Run command with secrets as env vars
keyblind start Start MCP server (stdio — for AI agents)
keyblind start --http Start HTTP server (dashboard + MCP + REST API)
keyblind dashboard Open the web dashboard in your browser
keyblind start --biometric Start MCP server with biometric requirement
keyblind backends List available backends
keyblind backend <name> Switch backend
keyblind activate <key> Activate a Pro/Team license
keyblind deactivate Remove current license
keyblind status Show license and vault status
keyblind audit Show secret resolution audit log
keyblind check --expired List secrets past expiry
keyblind rotate <name> Update a secret value
keyblind rotate <name> --generate Rotate with an auto-generated value
keyblind rotate <name> --exec "<cmd>" Rotate via an external command's stdout
keyblind rotate --overdue [days] Rotate all secrets past the threshold
keyblind rotate-needed [days] List secrets not rotated in N days (default 90)
keyblind agents list List registered AI agents
keyblind agents register <name> <sponsor> [scope] Register an agent (prints signing key)
keyblind agents verify Verify agent ledger integrity
keyblind agents export [json|csv] Export compliance report
keyblind agents enforce on|off Require signed agent identity for secret access
keyblind policy set <secret> <policy> Restrict which agents may access a secret
keyblind policy list List per-secret policies
keyblind approvals list List pending approval requests
keyblind approvals approve <id> Approve and execute a pending request
keyblind approvals deny <id> Deny a pending request
keyblind approvals require on|off Require approval for all agent writes
keyblind approvals require <secret> Require approval for a specific secret
keyblind approvals unrequire <secret> Stop requiring approval for a secret
keyblind control-plane init Generate the org signing keypair
keyblind control-plane export Export a signed, value-free control-plane bundle
keyblind control-plane trust <pubkey> Trust an org public key (honor its deny list)
keyblind control-plane untrust <pubkey> Remove a trusted org public key
keyblind control-plane trusted List trusted org public keys
keyblind control-plane apply <file> Import a signed deny list (revoked agents)
keyblind control-plane revoke <agentId> [reason] Revoke an agent locally
keyblind control-plane unrevoke <agentId> Un-revoke an agent locally
keyblind control-plane connect <url> Connect to a hosted control plane (org API base)
keyblind control-plane sync Pull + apply the signed manifest (deny list + group grants)
keyblind control-plane disconnect Forget the hosted control-plane connection
keyblind control-plane status Show the current connection (if any)
keyblind scan-repo [--all] Scan tracked files (or full history) for secrets
keyblind setup-ci Write a GitHub Actions secret-scan workflow
keyblind ci export Export an encrypted bundle for CI injection (Pro)
keyblind ci inject Decrypt a bundle and write secrets to $GITHUB_ENV
keyblind ci setup Write a GitHub Actions workflow for CI injection
keyblind team init [path] Create a shared team vault
keyblind team push <name> Push a secret to team vault
keyblind team pull Pull secrets from team vault
keyblind team list List secrets in team vault
keyblind totp set <name> Store TOTP 2FA config
keyblind totp code <name> Generate current TOTP code
keyblind totp list List all TOTP configs
keyblind totp delete <name> Delete a TOTP config
keyblind share <name> Create encrypted share link
keyblind receive <url> Receive a shared secret
keyblind deadman setup Configure dead man's switch
keyblind deadman checkin Reset dead man's switch timer
keyblind deadman status Show dead man's switch status
keyblind deadman disable Disable dead man's switch
keyblind sso configure Set up SSO/OIDC for team access
keyblind sso login Authenticate via browser SSO
keyblind sso logout Clear SSO session
keyblind sso status Show SSO auth status
keyblind doctor Run vault health check
keyblind generate <name> Generate a strong random secret
keyblind import [.env] Bulk import from .env file
keyblind export Export all secrets
keyblind completions [shell] Generate shell completion script
開発
git clone https://github.com/aarifmms/keyblind.git
cd keyblind
npm install
npm run build # Compile TypeScript
npm test # Run tests
npm run dev # Watch mode
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。