Encrypted secrets.
Safe for AI.

Stop pasting API keys into AI chat. kv encrypts secrets with ChaCha20-Poly1305 and lets your AI editor use them safely through MCP — without ever seeing the values.

terminal
$ pip install kv-secrets
$ kv init
  kv — initialized
  Master key   .secrets/key  (DO NOT COMMIT)

$ kv set API_KEY=sk-live-abc123
  set API_KEY  (dev)  [encrypted]

$ kv setup cursor
  MCP configured for Cursor

  Your AI agent can now run code
  with secrets — without seeing them.

Install in seconds

pip install kv-secrets
1
kv init

Create encrypted store

2
kv set KEY=VALUE

Encrypt a secret

3
kv setup cursor

Connect to your AI editor

Built for developers who vibe with AI

🤖

MCP Integration

One command connects kv to Cursor, Claude Code, or VS Code. Your AI agent runs code with secrets injected — without ever seeing the values.

🔐

Military-grade encryption

ChaCha20-Poly1305 AEAD with 256-bit keys. The same cipher trusted by WireGuard and TLS 1.3. Authenticated encryption detects any tampering.

🛡

Security profiles

Control what your AI can do. Safe: list + run. Mutate: store secrets. Reveal: read values. You decide the permissions.

💾

Safe to commit

Encrypted .enc files live in git. Key names and values are both encrypted. Only the master key stays local.

🌍

Multi-environment

dev, staging, prod — each with isolated derived keys via BLAKE2b. Switch environments in one command.

👥

Team ready Coming Soon

Zero-knowledge cloud sync. Role-based access. Scoped CI/CD tokens. Audit logs. Share one key, everyone syncs.

How it works with your AI editor

1

Encrypt

Store secrets encrypted. Only you hold the key.

$ kv set API_KEY=sk_live_abc123
  set API_KEY  (dev)  [encrypted]

$ kv set DB_URL=postgres://...
  set DB_URL  (dev)  [encrypted]
2

Connect

One command configures MCP for your editor.

$ kv setup cursor
  MCP configured for Cursor

$ kv setup claude-code
  MCP configured for Claude Code
3

Run safely

AI agent runs your code. Secrets injected at runtime. Never in chat.

  AI: "Running your tests..."
  → kv_run(["pytest"])
  → exit code: 0

  Secrets never appear in chat.

Simple pricing

Free for individuals. One flat price for teams.

Free

$0
forever
  • ChaCha20-Poly1305 encryption
  • MCP integration (Cursor, Claude Code, VS Code)
  • Unlimited secrets & environments
  • Secret injection into any command
  • .env import & export
  • Works on Windows, macOS, Linux
Install Now