Enverv1.0
Zero-Knowledge Environment Variable Orchestration

Secrets management for teams who care about verifiable security.

Enver encrypts and splits environment variables client-side using Shamir's Secret Sharing and AES-256-GCM. The server is a blind courier—it never holds a key or sees your plaintext.

PROTOCOL SPECIMEN/AES-256-GCM + SSS (5-of-3)
ZERO PLAINTEXT STORED
01 · LOCAL ENCRYPTION
$ ev push <project-id> <lock-key> <environment>
Derived AES key via PBKDF2 (100k iters)
Split master secret into 5 Shamir shares
Ciphertext payload prepared (client-side)
02 · REMOTE BLIND STATE
Share #1:801f9a2e8c04...3b4
Share #2:802a4b11f7e9...8e1
Share #3:803c729da021...04f
Requires any 3 shares + lock key to reconstruct
Core Architecture

Engineered with provable principles.

Traditional secret vaults rely on trust. Enver relies on mathematics, cryptographic bounds, and zero-knowledge data flows.

01AES-256-GCM / PBKDF2

Client-Side Cryptography

All environment payload encryption is handled before bytes leave your machine. Secrets are encrypted using authenticated AES-256-GCM.

02k-of-n Threshold Security

Shamir's Secret Sharing

Master keys are split into polynomial shares (5 shares with a 3-share threshold). Compromising a single database share reveals zero secret data.

03Network Layer Protection

IP-Pinned Authentication

API tokens can be automatically bound to the originator IP address. Even in the event of credential leakage, tokens cannot be executed across network boundaries.

04Least Privilege Model

Granular Role Scopes

Issue tokens strictly bounded to read:secrets, write:secrets, or admin scopes to enforce least-privilege access across your CI/CD pipelines.

05RFC-3339 Timestamped Logs

Immutable Audit Trail

Every creation, decryption request, and team permission mutation is indexed in audit logs with precise timestamps and identity attribution.

06CLI + VS Code Extension

Toolchain Parity

Interact seamlessly via the standalone CLI or the VS Code extension with real-time environment variable leakage detection.

Cryptographic Protocol

How the zero-knowledge flow works.

01
ENCRYPTION & SHARDING

Local Client-Side Derivation

When running `ev push`, Enver reads your local environment variables, derives a key via PBKDF2 with 100,000 iterations, performs AES-256-GCM encryption, and fragments the key using Shamir's Secret Sharing into 5 separate shares.

PBKDF2(LockKey, Salt) → AES-GCM + SSS(5, 3)
02
BLIND TRANSMISSION

Zero-Knowledge Cloud Transit

The server receives solely ciphertext and key shares. Because the server does not hold the user's private lock key, it is cryptographically impossible for the host to decrypt or reconstruct the original environment payloads.

Ciphertext + Shares Stored Statelessly
03
RECONSTRUCTION

Local Decryption & Ingestion

Upon `ev pull`, authorized team members download the 5 shares, reconstruct the master key locally using the Shamir polynomial threshold (k=3), decrypt with their lock key, and atomically merge into their workspace `.env`.

Local Polynomial Evaluation → Plaintext .env
Developer Tooling

Familiar, scriptable CLI workflows.

Designed to fit naturally into your terminal, Docker files, and CI pipelines with zero configuration friction.

brew install enver-os/tap/ev
$ev push production
⠿ Reading .env from current directory
⠿ Deriving AES key via PBKDF2 (100,000 iterations)
⠿ Sharding key into 5 Shamir shares (threshold: 3)
✓ Encrypted payload uploaded to project [web-api] (PRODUCTION)