🎉 One install line. Your phone or laptop is the key.

Secrets Manager for
Claude Code

Stop AI coding assistant secrets exposure. Your phone, laptop, or a passkey unlocks an encrypted vault — Claude Code can deploy, test, and run commands without ever seeing your API keys.

AES-256
Authenticated encryption (GCM)
60 sec
Setup time
Zero
Secrets exposed to AI
Terminal  ·  < 10 MB
# Install (or try it risk-free — uninstall is one line too)
$ curl -fsSL https://install.llmsecrets.com | sh
$ curl -fsSL https://install.llmsecrets.com/uninstall | sh
# Register your phone, laptop, or security key
$ scrt4 setup
✓ Passkey registered
# Unlock (one tap — 20h session)
$ scrt4 unlock
✓ Session active
# Import your existing .env files
$ scrt4 import .env
✓ 14 secrets encrypted into your vault

Transparent & Auditable

LLM Secrets is fully open source under AGPL-3.0. Every line of code is available for security auditing.

📄 CryptoService.ts
TypeScript
// AES-256-GCM, master key derived from your passkey
export class CryptoService {
  async encrypt(content: string): Promise<string> {
    // Tap your phone / laptop / security key
    const masterKey = await deriveFromPasskey();

    // Fresh random nonce per encryption
    const nonce = randomBytes(12);

    // AES-256-GCM: encrypt + authenticate
    const cipher = createCipheriv(
      'aes-256-gcm',
      masterKey,
      nonce
    );

    // Ciphertext + auth tag + nonce
    return cipher.seal(content);
  }
}

What This Means For You

🔍
Fully Auditable

Every line of encryption code is visible. Security researchers can verify there are no backdoors. Ask DeepWiki for an independent analysis.

🛡️
Industry Standard

AES-256-GCM is the same authenticated encryption used by governments, banks, and TLS 1.3. Battle-tested and tamper-evident.

🤝
Community Driven

Found a vulnerability? Submit a PR. Improvements benefit everyone using LLM Secrets.

🔓
No Vendor Lock-in

Your encrypted files use standard formats. You own your data and can decrypt without us.

📜 Licensed under AGPL-3.0 (Open Source)

Your phone or laptop is the key

No password to remember, no seed phrase to lose. Unlock with the same tap you use to sign into your bank — Face ID on iPhone, Google passkey on Android, Touch ID or Windows Hello on your laptop, or a hardware security key.

scrt4 · vault
🔐 Secrets
☁️ Backup
📝 Claude MD
⚙️ Settings

Secret Manager

ENCRYPTED
OPENAI_API_KEY ••••••••••••
DATABASE_URL ••••••••••••
AWS_SECRET_KEY ••••••••••••
GITHUB_TOKEN ••••••••••••
  • 📱

    Your phone is the key

    iPhone Face ID, Android Google passkey, Touch ID, Windows Hello — whichever you already use to sign in.

  • 🎨

    Visual secret editor

    Add, edit, and organize secrets with a clean interface. Or drive everything from the command line — your choice.

  • ☁️

    Encrypted Google Drive backup

    Your vault is encrypted on your laptop before it ever leaves. Google stores opaque ciphertext — they can't read it.

  • ⏱️

    Auto-lock when you step away

    Configurable idle timeout. Your session locks, and the next use asks you to tap to unlock again.

Install in 60 seconds
🍎 macOS • 🖥️ Windows (WSL) • 🐧 Linux

Get More From Your Tools.
Less Exposure of Your Secrets.

Free for macOS, Windows, and WSL. Everything you need to work securely with Claude Code. Start encrypting your secrets today.

  • AES-256-GCM vault, unlocked by your phone or laptop
  • Automatic CLAUDE.md generation
  • macOS, Linux & WSL support
  • Zero secrets exposed to AI
  • Encrypted Google Drive backup built in
Download Free
Terminal
$ scrt4 setup
Tap your phone, laptop, or security key...
✓ Vault created
$ scrt4 add OPENAI_API_KEY=sk-...
✓ Secret encrypted and stored
$ scrt4 run 'curl -H "Bearer $env[OPENAI_API_KEY]" ...'
✓ Command ran with secret injected
  (key never visible to the AI or terminal)
Ready for Claude Code! 🚀

Secrets Flow Securely

Your secrets never leave your machine unencrypted. Claude Code gets access without visibility.

🔐 How It Works

  1. 1

    You add secrets to your .env file

    API keys, database URLs, tokens — anything sensitive goes here.

  2. 2

    LLM Secrets encrypts it with a key tied to your passkey

    AES-256-GCM, authenticated encryption. The master key is derived from your phone, laptop, or security key — and never leaves it.

  3. 3

    Claude Code sees only variable names

    CLAUDE.md tells Claude what secrets exist, never the values.

  4. 4

    Secrets inject at runtime only

    Values exist in subprocess memory, never logged or returned.

🛡️ Zero Knowledge

Secrets are decrypted in memory, used once, then discarded. Never written to disk or logs.

🔗 Hardware Bound

The master key is derived from your phone, laptop, or security key. The encrypted vault is useless to anyone else — even if it's copied.

🚫 No Return Path

Secret values flow one direction. Claude Code output is automatically sanitized.

Encrypt any file or folder.
Back it up to your own Google Drive.

Same passkey, same AES-256-GCM — but now for tax documents, signing keys, crypto seed phrases, medical records, or anything else you'd rather Google couldn't read. Encryption happens on your laptop before the file ever leaves. Google stores opaque ciphertext. Only your phone or security key can open it.

  • Encrypt a whole folder with one command
  • Bring your own Google Drive — scoped drive.file access, nothing else
  • Zero-knowledge: Google literally can't read the contents
  • Restore on any laptop, after one tap to unlock
  • Survives lost laptop, failed disk, or accidental delete
Read the Drive backup guide
Terminal
# Encrypt a folder with your passkey
$ scrt4 encrypt-folder ~/tax-2025
Tap your phone, laptop, or security key...
✓ tax-2025.scrt4 (12 files, AES-256-GCM)
# Back it up to your own Drive
$ scrt4 cloud-crypt encrypt-and-push ~/tax-2025.scrt4
✓ Uploaded — Google sees ciphertext only
# On a new laptop, after one tap:
$ scrt4 cloud-crypt pull-and-decrypt tax-2025.scrt4
✓ Restored

Real-World Examples

See how developers use LLM Secrets with Claude Code for common workflows.

🔌 API Integration

Call external APIs with secure authentication

# Claude calls OpenAI API:
curl -X POST api.openai.com/v1/chat \
-H "Bearer $env:OPENAI_API_KEY"
✓ 200 OK - Response received
# API key never visible

🗄️ Database Operations

Run migrations and queries securely

# Claude runs database migration:
npx prisma migrate deploy \
--schema=./prisma/schema.prisma
# DATABASE_URL read from encrypted .env
✓ 3 migrations applied
# Connection string stays secret

📦 Package Publishing

Publish to npm with secure tokens

# Claude publishes package:
npm publish --access public \
--_authToken=$env:NPM_TOKEN
✓ Published my-pkg@1.0.0
# NPM token never exposed

☁️ Cloud Deployments

Deploy to AWS, GCP, or Azure securely

# Claude deploys to cloud:
aws s3 sync ./dist s3://my-bucket \
--profile $env:AWS_PROFILE
# AWS credentials from encrypted .env
✓ Upload complete: 24 files
# Credentials never in command history

🌐 Website & Domain Automation

Deploy to Vercel and configure DNS with GoDaddy API

# Claude deploys to Vercel:
vercel --token $env:VERCEL_TOKEN --prod
✓ Deployed to production
# Configure DNS via GoDaddy API:
curl api.godaddy.com/domains/... \
-H "sso-key $env:GODADDY_KEY"
✓ DNS configured!

⛓️ Blockchain & Web3 Deployments

Deploy smart contracts without exposing private keys

# Claude deploys with Foundry:
forge script script/Deploy.s.sol \
--rpc-url $env:ALCHEMY_RPC_URL \
--private-key $env:PRIVATE_KEY --broadcast
✓ Contract deployed: 0x7f3a...
# Private key never visible to AI
# (43% of crypto theft = key exposure)

Teach Claude How to Use Your Secrets

LLM Secrets generates a CLAUDE.md reference file that tells Claude Code exactly which secrets exist and how to use them—without revealing values.

  • 🎯

    Accurate Tool Calls

    Claude knows the exact variable names. No guessing, no hallucinated API keys.

  • 📖

    Context-Aware Commands

    Descriptions tell Claude when to use each secret. Database URL for migrations, API key for external calls.

  • Fewer Errors, Faster Workflows

    No more "secret not found" errors. Claude writes correct commands the first time.

  • 🔄

    Auto-Updated Documentation

    Add a secret, regenerate CLAUDE.md. Your AI always has the latest reference.

CLAUDE.md (auto-generated)
Available Secret
OPENAI_API_KEY — OpenAI API access
Usage: $env:OPENAI_API_KEY
Available Secret
DATABASE_URL — PostgreSQL connection string
Usage: $env:DATABASE_URL
Available Secret
AWS_ACCESS_KEY_ID — AWS credentials
Usage: $env:AWS_ACCESS_KEY_ID
// Claude sees names + descriptions
// Claude never sees values

One line. Your phone is the key.

Free and open source. Works on macOS, Linux, and Windows (via WSL). Paste one line into your terminal — the rest is a tap.

Included

Encrypt any file or folder

📁

Not just .env files. Any document, any folder — encrypt it with the same tap, keep a single encrypted archive.

See the guide
  • scrt4 encrypt-folder ~/sensitive
  • Same passkey, same AES-256-GCM
  • Decrypt with one command, or via GUI
  • Pair with cloud-crypt → Google Drive
Included

Client-side Drive backup

☁️

Your vault is encrypted on your machine before upload. Google stores opaque ciphertext — only your passkey can open it.

How backup works
  • Bring your own Google Drive
  • Scoped drive.file access only
  • Encryption happens locally, never in the cloud
  • Survives lost laptop or disk failure

Your Secrets Stay Yours

LLM Secrets uses a zero-knowledge architecture. Secrets are decrypted in memory only when needed, injected directly into subprocess environments, and automatically redacted from output.

Even if someone copies your encrypted vault, it's useless without your phone, laptop, or security key. The master key never leaves the device you unlock with — it can't be stolen by malware, phished, or read off your disk.

🔒

Encrypted at Rest

AES-256-GCM with a fresh nonce per write. Tamper-evident, no plaintext on disk.

📱

Your device is the key

Master key is derived from your phone, laptop, or security key. It never leaves the device — so it can't be copied or stolen.

👁️

AI Never Sees Values

Secrets are injected into subprocesses at runtime. Claude sees $env[NAME] — never the value.

⏱️

Auto-Lock on Idle

Configurable inactivity timeout. When your session expires, the next use asks you to tap again.

Frequently Asked Questions

Everything you need to know about protecting your secrets from AI coding assistants.

Does Claude Code read my .env file?

Yes. Research shows Claude Code automatically loads .env files without asking permission. Your API keys, database passwords, and tokens are silently loaded into memory. LLM Secrets encrypts these files so Claude can use secrets without ever seeing the actual values.

How do I protect API keys from AI assistants?

Traditional approaches like separate user accounts or deny rules are complex and error-prone. LLM Secrets encrypts your .env file with a key derived from your phone or laptop — secrets live encrypted at rest and are only decrypted inside isolated subprocesses at runtime.

Is "tap to unlock" really secure?

Yes. The master key is derived from the same hardware-backed passkey you already use to sign into your bank or email — iPhone Face ID, Android Google passkey, Touch ID, Windows Hello, or a YubiKey / security key. The vault uses AES-256-GCM authenticated encryption. Even if someone copies your encrypted vault file, it's useless on another device — only your passkey can unlock it.

Can I use this with Cursor, Copilot, or other AI tools?

Absolutely. While LLM Secrets is optimized for Claude Code with automatic CLAUDE.md generation, the encryption works with any AI coding assistant. Your .env file stays encrypted—no AI tool can read the plaintext values. Secrets are injected at runtime for any command.

What platforms does LLM Secrets support?

macOS, Linux, and Windows via WSL. You unlock with whatever you already use: iPhone Face ID, Android Google passkey, Touch ID, Windows Hello, or a hardware security key like a YubiKey. All platforms are free with full-featured encryption, automatic CLAUDE.md generation, and encrypted Google Drive backup.

🍎 macOS • 🐧 Linux • 🖥️ Windows (WSL)

How does AI coding assistant secrets exposure happen?

AI assistants read files in your project directory, including .env files. These values can appear in prompts, error messages, logs, and even be transmitted to cloud servers. LLM Secrets prevents this exposure by ensuring the AI only sees encrypted content or variable names—never actual secret values.

Is it safe to put my crypto private key in a .env file?

Plain text .env files are risky—43.8% of crypto theft in 2024 came from private key compromise. LLM Secrets encrypts your .env with AES-256-GCM, keyed to your phone or laptop. Keys are decrypted only at runtime inside isolated subprocesses — safer than Foundry keystores or Hardhat keystore plugins, and the AI never sees the value.

Can Claude Code deploy smart contracts with Foundry/Hardhat?

Yes. Claude can run forge script or hardhat deploy commands using your encrypted private key via $env:PRIVATE_KEY. Your key is injected at runtime but never visible to the AI. Deploy to mainnet, testnets, or L2s—your wallet stays secure while Claude handles the deployment workflow.

Answers from DeepWiki, an independent AI analysis of this codebase.

No. Here's why:

  • Client-side only — all encryption and decryption happens on your machine. There's no server that sees your data.
  • Isolated subprocesses — secrets are injected at runtime. Claude sees $env[NAME], never the value.
  • Hardware-bound key — the master key is derived from your phone, laptop, or security key, and never leaves the device.
  • In-memory only — decryption happens in memory. Plaintext is never written to disk.
  • Fully auditable — the entire codebase is open source under AGPL-3.0.

Because every step happens locally on hardware you control, no one — not Anthropic, not us, not a cloud provider — is in a position to see your secrets.

You can recover IF you set up backups beforehand.

Recovery options:

  1. Register a second passkey — pair your laptop and a backup device (phone or security key) during setup, so losing one doesn't lock you out.
  2. Save the master keyscrt4 backup-key --save ~/usb writes a password-protected file. Keep it in a password manager or on a USB stick.
  3. Encrypted Google Drive backupscrt4 cloud-crypt encrypt-and-push stores an encrypted copy of your vault in your own Drive. Only your master key can open it.

Without backups: secrets are irrecoverable by design. No backdoor exists — not for us, not for Google, not for anyone.

Have more security questions?

Get answers from an independent third-party AI analysis of our codebase.

Ask DeepWiki

Ready to Secure Your Secrets?

Join developers who trust LLM Secrets to keep their API keys and credentials safe while working with AI coding assistants.