{
  "markdown": "# Keyblind — Blind AI to Your Keys\n\n**Encrypted secrets vault with MCP for AI agents. Secrets resolved at runtime, never leaked to LLM conversations.**\n\n[![npm version](https://img.shields.io/npm/v/keyblind)](https://www.npmjs.com/package/keyblind)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n\n## Why\n\nDevelopers regularly leak API keys, passwords, and tokens to AI coding tools. 100,000+ LLM conversations with exposed secrets were found indexed by search engines in 2025.\n\nAI agents read your `.env` files. They copy-paste secrets into conversations. They commit them accidentally. Keyblind stops this by keeping secrets encrypted at rest and resolving them _at runtime_ — the plaintext value never touches the LLM transcript.\n\n## How It Works\n\n```\n┌──────────┐     ┌────────────────┐     ┌─────────────────┐\n│ AI Agent │ ──→ │  Keyblind MCP  │ ──→ │  Encrypted      │\n│ (Claude) │     │  Server        │     │  SQLite Vault   │\n│          │ ←── │  (16 tools)    │ ←── │  (AES-256-GCM)  │\n└──────────┘     └────────────────┘     └─────────────────┘\n      ↑                                        │\n      │ secret value never appears             │ secrets never\n      │ in conversation transcript             │ stored in plaintext\n```\n\n## Quick Start\n\n```bash\n# 1. Install\nnpm i -g keyblind\n\n# 2. Initialize your vault\nkeyblind init\n\n# 3. Auto-configure MCP for Claude Code (one command)\nkeyblind setup-mcp\n\n# 4. Store secrets\necho \"sk-proj-abc123\" | keyblind set OPENAI_API_KEY\nkeyblind set DATABASE_URL -    # prompts securely\n\n# 5. Sandbox your .env (AI agents see fakes)\nkeyblind sandbox\n\n# 6. Resolve a secret\nkeyblind get OPENAI_API_KEY\n\n# 7. Run commands with secrets injected as env vars\nkeyblind run -- npm start\n\n# 8. List all secrets (names only, values hidden)\nkeyblind list\n```\n\n> **That's it.** After `keyblind setup-mcp`, restart Claude Code. Then just say _\"list my keyblind secrets\"_ or _\"use my OPENAI_API_KEY\"_ — the AI agent resolves secrets at runtime without ever seeing them in the transcript.\n\n## MCP Server\n\nKeyblind is **MCP-first** — it works with every AI tool that speaks the Model Context Protocol (Claude Code, Cursor, Copilot, Windsurf, Cline, Zed).\n\n### Setup (automatic)\n\n```bash\nkeyblind setup-mcp\n```\n\nThis auto-configures Claude Code to use Keyblind. Works from any directory. For other editors, see [editor-specific configs](docs/editors.md).\n\n### Setup (manual)\n\nAdd a `.mcp.json` to your project root, or use `claude mcp add`:\n\n```bash\nclaude mcp add --scope user keyblind -- keyblind start\n```\n\nWith biometric gate (Touch ID required before secrets are resolved):\n\n```bash\nkeyblind unlock                      # Authenticate first\nclaude mcp add keyblind -- keyblind start --biometric\n```\n\n> Session expires after 15 minutes. Requires Pro or Team license.\n\n### MCP Tools\n\n| Tool | Description |\n|------|-------------|\n| `resolve_secret` | Resolve a secret at runtime (value hidden from transcript) |\n| `store_secret` | Encrypt and store a secret |\n| `list_secrets` | List secret names (values never revealed) |\n| `delete_secret` | Delete a secret |\n| `sandbox_env` | Replace `.env` values with deterministic fakes |\n| `unsandbox_env` | Restore real `.env` values from vault |\n| `audit_log` | View secret resolution audit trail |\n| `totp_code` | Generate a TOTP 2FA code for a stored config |\n| `totp_store` | Store a TOTP configuration from otpauth:// URI |\n| `totp_list` | List all stored TOTP configurations |\n| `totp_delete` | Delete a TOTP configuration |\n| `create_share_link` | Create encrypted, expiring share link for a secret |\n| `receive_share` | Receive and decrypt a shared secret |\n| `deadman_status` | Check dead man's switch status |\n| `deadman_checkin` | Reset dead man's switch timer |\n| `sso_status` | Check SSO/OIDC authentication status |\n\n## Web Dashboard\n\nManage your secrets from a browser at **[app.keyblind.dev](https://app.keyblind.dev)**. Start the HTTP server:\n\n```bash\nkeyblind start --http\n```\n\nThen sign in with your license key at [app.keyblind.dev/login](https://app.keyblind.dev/login). Features:\n\n- View, add, copy, and delete secrets\n- Audit log with full access history\n- License management\n- Pro/Team tier status\n\n## Browser Extension\n\nThe **Keyblind Chrome Extension** detects and blocks secrets from being pasted into AI chat interfaces (Claude.ai, ChatGPT, Copilot).\n\n[![Chrome Web Store](https://img.shields.io/badge/Chrome_Web_Store-Coming_Soon-blue)]()\n\nFeatures:\n- Detects 12+ API key formats (OpenAI, GitHub, Stripe, AWS, etc.)\n- Intercepts paste events on AI chat sites\n- Warning banner when secrets are detected\n- Popup with vault connection status\n\nLocated in `browser-extension/`. Load as unpacked extension from `chrome://extensions`.\n\n## Pricing\n\n| | Free | Pro | Team |\n|------|------|-----|------|\n| **Price** | $0 | $79/year | $29/user/month |\n| **Secrets** | 5 | Unlimited | Unlimited |\n| **Local vault** | ✓ | ✓ | ✓ |\n| **Sandbox / Unsandbox** | ✓ | ✓ | ✓ |\n| **MCP server** | ✓ | ✓ | ✓ |\n| **Dashboard** | ✓ | ✓ | ✓ |\n| **Browser extension** | ✓ | ✓ | ✓ |\n| **7 backends** | ✓ | ✓ | ✓ |\n| **Team vaults** | — | ✓ | ✓ |\n| **Audit log** | — | ✓ | ✓ |\n| **Secret sharing** | — | ✓ | ✓ |\n| **Dead man's switch** | — | ✓ | ✓ |\n| **TOTP 2FA** | — | ✓ | ✓ |\n| **Biometric gate** | — | ✓ | ✓ |\n| **SSO/OIDC** | — | — | ✓ |\n| **CI/CD integration** | — | ✓ | ✓ |\n\n```bash\n# Buy a license at keyblind.dev, then activate:\nkeyblind activate <your-license-key>\n\n# Check your status\nkeyblind status\n```\n\n## Backends\n\nKeyblind supports multiple secret backends:\n\n```bash\nkeyblind backends                          # List available backends\nkeyblind backend 1password                 # Switch to 1Password\nkeyblind backend bitwarden                 # Switch to Bitwarden\n```\n\n| Backend | Read | Write | Requires |\n|---------|------|-------|----------|\n| **local** (default) | ✓ | ✓ | Nothing |\n| **1password** | ✓ | ✓ | `op` CLI |\n| **bitwarden** | ✓ | — | `bw` CLI |\n| **env** | ✓ | — | Nothing |\n| **aws** | ✓ | ✓ | `aws` CLI |\n| **gcp** | ✓ | ✓ | `gcloud` CLI |\n| **azure** | ✓ | ✓ | `az` CLI |\n\n## Keyblind vs Cloak\n\n| | Keyblind | Cloak |\n|------|----------|-------|\n| **Protocol** | MCP (all editors) | VS Code extension only |\n| **Editors** | Claude Code, Cursor, Copilot, Windsurf, Cline, Zed | VS Code, Cursor |\n| **Storage** | AES-256-GCM SQLite | AES-256-GCM file |\n| **Backends** | Local, 1Password, Bitwarden, Env, AWS, GCP, Azure | Local only |\n| **Sandbox** | Deterministic HMAC fakes | AES-256-GCM encrypted |\n| **Web dashboard** | ✓ (app.keyblind.dev) | — |\n| **Browser extension** | ✓ (Chrome) | — |\n| **TOTP 2FA** | ✓ | — |\n| **Secret sharing** | ✓ (encrypted URL fragment) | — |\n| **Dead man's switch** | ✓ | — |\n| **Touch ID** | ✓ (macOS biometric gate) | ✓ |\n| **CI/CD** | `keyblind run` for env injection | — |\n| **Network** | Zero (fully local) | Zero |\n| **License** | MIT | Proprietary |\n| **Free tier** | ✓ (5 secrets) | ✓ |\n| **Pro** | $79/year (unlimited) | — |\n\n## Security\n\n- **AES-256-GCM** encryption with PBKDF2 key derivation (600K iterations)\n- **Machine-identity-bound key** — encryption key XOR-wrapped with machine fingerprint\n- **Zero network, zero telemetry** — no cloud, no accounts, no analytics\n- **Vault stored at `~/.keyblind/`** with `0700` permissions\n- **Deterministic sandbox fakes** using HMAC-SHA256 per project + key name\n\n## CLI Reference\n\n```\nkeyblind init                 Initialize the encrypted vault\nkeyblind set <name>           Store a secret (value from stdin)\nkeyblind set <name> -         Store a secret (prompts securely)\nkeyblind get <name>           Resolve and print a secret\nkeyblind list                 List all stored secrets\nkeyblind delete <name>        Delete a secret\nkeyblind setup-mcp            Auto-configure MCP for Claude Code\nkeyblind sandbox [.env]       Replace .env with deterministic fakes\nkeyblind unsandbox [.env]     Restore real .env values\nkeyblind run <command...>     Run command with secrets as env vars\nkeyblind start                Start MCP server (stdio — for AI agents)\nkeyblind start --http         Start MCP HTTP server (for dashboard)\nkeyblind start --biometric    Start MCP server with biometric requirement\nkeyblind backends             List available backends\nkeyblind backend <name>       Switch backend\nkeyblind activate <key>       Activate a Pro/Team license\nkeyblind deactivate           Remove current license\nkeyblind status               Show license and vault status\nkeyblind audit                Show secret resolution audit log\nkeyblind check --expired      List secrets past expiry\nkeyblind rotate <name>        Update a secret value\nkeyblind team init [path]     Create a shared team vault\nkeyblind team push <name>     Push a secret to team vault\nkeyblind team pull            Pull secrets from team vault\nkeyblind team list            List secrets in team vault\nkeyblind totp set <name>      Store TOTP 2FA config\nkeyblind totp code <name>     Generate current TOTP code\nkeyblind totp list            List all TOTP configs\nkeyblind totp delete <name>   Delete a TOTP config\nkeyblind share <name>         Create encrypted share link\nkeyblind receive <url>        Receive a shared secret\nkeyblind deadman setup        Configure dead man's switch\nkeyblind deadman checkin      Reset dead man's switch timer\nkeyblind deadman status       Show dead man's switch status\nkeyblind deadman disable      Disable dead man's switch\nkeyblind sso configure        Set up SSO/OIDC for team access\nkeyblind sso login            Authenticate via browser SSO\nkeyblind sso logout           Clear SSO session\nkeyblind sso status           Show SSO auth status\nkeyblind doctor               Run vault health check\nkeyblind generate <name>      Generate a strong random secret\nkeyblind import [.env]        Bulk import from .env file\nkeyblind export               Export all secrets\nkeyblind completions [shell]  Generate shell completion script\n```\n\n## Development\n\n```bash\ngit clone https://github.com/aarifmms/keyblind.git\ncd keyblind\nnpm install\nnpm run build       # Compile TypeScript\nnpm test            # Run tests\nnpm run dev         # Watch mode\n```\n\n## License\n\nMIT\n",
  "bytes": 10194,
  "sha": "0ed8ed3fcf0e7e9790fb19b25696c9e678b558ac4fa58db460d899bf37cbaf35",
  "repo_slug": "aarifmms/keyblind",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_aarifmms_keyblind_473d35cf/readme"
}