Documentation

Everything you need to know about securing your environment variables with Envoy

🚀Getting Started

Envoy is a secure environment variable management system that uses end-to-end encryption to keep your secrets safe. Here's how to get started:

  1. Sign in with your GitHub account
  2. Download and install the CLI tool
  3. Generate your API key from the dashboard
  4. Initialize the CLI with your API key
  5. Start pushing and pulling your .env files

📦Installation

NPM (Recommended)

npm install -g @nishan30/envoy-cli

Verify Installation

$ envoy --version
envoy version 1.0.0

💻CLI Usage

Initialize

Configure Envoy with your API key and set the API URL.

# Initialize with API key
$ envoy init --api-key YOUR_API_KEY
# Set production API URL
$ envoy configure --api-url https://envoy-nqx1.onrender.com

Push Secrets

Encrypt and upload your .env file to Envoy.

# Push your .env file
$ envoy push
🔐 Encrypting your .env file...
☁️ Uploading to secure storage...
✅ Success! RepoKey: evk_abc123...

💡 Tip: Save your RepoKey! Share it with your team to grant them access to the secrets.

Pull Secrets

Download and decrypt your .env file from Envoy.

# Pull with authenticated user
$ envoy pull
# Pull with RepoKey (for team members)
$ envoy pull --key evk_abc123...

🌐Web Interface

Dashboard

  • View all your repositories
  • Create new projects
  • Manage API keys
  • Download your private encryption key

Repository Management

  • Invite team members by email
  • View and remove team members
  • Verify encryption keys

🔒Security

Encryption

Envoy uses industry-standard cryptographic algorithms to protect your secrets:

  • X25519: Asymmetric encryption for key exchange
  • XChaCha20-Poly1305: Authenticated encryption for secret data
  • Argon2id: Key derivation for RepoKeys

Zero-Knowledge Architecture

All encryption and decryption happens on your device. The server only stores encrypted data and never has access to your encryption keys or plaintext secrets.

Rate Limiting

Envoy implements rate limiting to prevent brute-force attacks:

  • Auth endpoints: 5 requests/second
  • Write operations: 20 requests/second
  • Read operations: 50 requests/second

Frequently Asked Questions

What happens if I lose my private key?

Your private key is essential for decrypting your secrets. If you lose it, you won't be able to decrypt existing secrets. Make sure to back it up in a secure location. For team members, another team member can re-invite you with a new wrapped encryption key.

Can Envoy employees see my secrets?

No. All encryption happens client-side in your browser or CLI. We only store encrypted data and never have access to your encryption keys or plaintext secrets. This is zero-knowledge architecture.

How do I share secrets with my team?

You can share secrets in two ways:
1. Invite via email in the web interface (team member needs an account)
2. Share the RepoKey after pushing (anyone with the key can pull)

Is Envoy free?

Yes! Envoy is completely free and open source. You can use it for unlimited projects and team members.

How does the RepoKey work?

When you push secrets, Envoy generates a RepoKey. This key is derived using Argon2id and used to encrypt the Content Encryption Key (CEK). Anyone with the RepoKey can decrypt the CEK and access the secrets without needing an account.

Need More Help?

Can't find what you're looking for? Check out our GitHub repository or join our community.