EnvVault
Share .env files with your team, without the server ever reading them.
- Type
- Developer tool
- Built with
- React, Vite, Node.js
01What it is
EnvVault keeps your .env files in sync across machines and teammates. Every value is locked on your own device before it is sent, so the server only holds scrambled text it cannot read. Use it from a web dashboard or from the command line.
Environment files usually travel through chat messages, shared docs and screenshots. That is convenient right up until someone pastes a production key into the wrong place. EnvVault gives them a proper home: versioned, encrypted and one command away.
02Major features
Locked on your device
Values are encrypted with AES-256 in the browser or the CLI before upload. The server never gets the key.
Command-line tool
Pull, push and compare with one command. It runs with npx, so nothing needs installing, and it is published on npm.
Approve new devices
A new laptop asks for access and you approve it in the dashboard. The project key is passed over using RSA, so there are no shared passwords.
Version history
Every change saves an encrypted snapshot. Look back at older versions and restore one when needed.
See changes before you push
The CLI lists which keys were added, changed or removed, without printing any values. Pushing to production also needs you to type the word production.
Teams and activity
Projects have development, staging and production environments. Invite teammates, compare or clone environments, and check an activity log of who did what.
03How it works
Edit
Change variables in the web dashboard, or push a local .env file from the CLI.
Encrypt
WebCrypto encrypts the values on your device, before any network call.
Store
The API saves ciphertext only. It has nothing readable to leak.
Snapshot
Every change creates an encrypted version you can inspect later.
Restore
Pull or restore a version, and it is decrypted on your device again.
04What the server knows
Can see
- Encrypted values
- Encrypted version snapshots
- Public device keys
Never sees
- Plain-text variables
- Private keys
- Anything it could decrypt
05Tech stack
- Frontend
- ReactVite
- Backend
- Node.jsExpressMongoDB
- CLI
- Node.jsCommandernpm package
- Security
- WebCryptoAES-GCMRSA-OAEPGitHub and Google sign-in
- Delivery
- DockerRender
06How it's tested
- Shared encryption code
- RSA device-key handoff
- API security and error responses
- The bundled CLI
- The production web build