PushEnv: A New, Encrypted Way to Manage .env Files (No SaaS, No Servers) š
Source: Dev.to
Environment variables run everything, but managing them is still messy, risky, and outdated.
PushEnv is a localāfirst, encrypted, Gitāstyle workflow for .env files that eliminates the need for SaaS, servers, dashboards, or logins.
The Problem with .env Files
- Secrets get committed to Git
- Keys are pasted into Slack
.env.examplequickly becomes outdated- Team members end up with different versions
- CI logs can leak secrets
- Docker images may ship
.envfiles - No history, rollback, or audit trail
Most teams rely on ājust donāt commit your .env,ā which is more hope than strategy and still requires trusting a serverāside service.
Introducing PushEnv
A Git for .env files that is:
- Encrypted before leaving your machine (AESā256āGCM)
- Zeroāknowledge: the passphrase is never stored
- Serverāless: only ciphertext is uploaded to a managed storage bucket
- No accounts, no lockāin, no dashboards
- Full version history, diff, and rollback for secrets
- Openāsource (MIT licensed)
How PushEnv Works
1. Initialize a Project
pushenv init
- Choose environments and set a passphrase.
- Generates:
.pushenv/config.jsonāÆāāÆsafe to commit~/.pushenv/keys.jsonāÆāāÆlocal keyring (never committed)
2. Push Secrets
pushenv push -m "Initial setup"
- Your
.envis encrypted locally. - Only the ciphertext is uploaded and versioned.
- No plaintext ever leaves your machine.
3. Pull Secrets Anywhere
pushenv pull
- Decrypts locally and injects the variables safely.
- Ideal for CI pipelines, Docker builds, or any ephemeral environment.
4. Run Applications Without Writing Secrets to Disk
pushenv run "npm start"
- Secrets exist only in memory and vanish when the process exits.
Supported runtimes include Node/Next/Nest, Python, Go, Docker/Kubernetes, GitHub Actions, AWS, Cloudflare, Vercel, S3/R2/MinIO, etc.
Installation & Basic Commands
npm install -g pushenv
pushenv init
pushenv push -m "First secrets"
pushenv pull
pushenv run "npm start"
Additional commands: pushenv pull, pushenv diff, pushenv rollback, etc.
Where to Find PushEnv
- GitHub:
- npm:
Conclusion
PushEnv gives developers a safer, simpler, and more transparent way to manage environment variablesāwithout relying on SaaS, storing plaintext, or losing history. Itās not just an alternative; itās a new approach to secret management.