Your .env files,
under control.
You already use .env files. Dotvault gives you a proper editor for them, with version history, diffs, and a word when the app is missing an APP_KEY. No accounts, no CLIs, and your secrets don't go anywhere.

Laravel, Horizon, Sanctum, Stripe, Sentry and Vite detected from composer.json and package.json. Every variable is annotated by what needs it, and APP_KEY is marked required because the app will not boot without it.
Why Dotvault
No new tools. No new workflow. Just less pain.
Zero setup
No account required
No cloud account, no CLI to install, no third-party service to depend on. Buy a licence, open the app, point it at a project folder. Done.
Local-first
Your files stay yours
Secrets are never sent anywhere. No cloud sync, no third-party storage, no account. Snapshot history is encrypted on disk.
Existing workflow
Works with what you already have
A Laravel app is configured by its .env file, and so is everything else you have got open. Dotvault doesn't ask you to change that. It just makes the file considerably less painful to live with.
Features
The whole thing, at a glance.
Everything Dotvault does, in one pass. The two worth seeing properly get their own sections underneath.
Visual editor
Edit variables in a structured view with sections, comments, and inline annotations. No more squinting at raw text files.
Framework detection
Reads your composer.json and knows what Laravel wants: APP_KEY, the database set, and the packages you've pulled in. It does the same for 20 frameworks and 101 packages across npm, Composer, pip, and gems.
Version history
Every save creates an encrypted snapshot. Browse, compare, and restore any previous version of your env files.
Git integration
Commit history, multi-file staging, inline blame, and diff view. Stage, unstage, and commit env files without leaving the app.
Env sync
Auto-prompts to sync new keys to .env.example on save. Choose keys-only or keys+values, with per-key control.
Search everywhere
Filter variables in the editor, or press ⌘K to search across all projects and files instantly.
Native macOS app
Signed and notarised by Apple. Auto-updates keep you current. Remembers your window size and position.
Templates
Create new .env files from scratch or from a framework template. Uses .env.example as a basis when available.
Smart warnings
Detects duplicate keys, validates value types, and flags exposed secrets in git-tracked files. Catches mistakes before they cause bugs.
Multi-file compare
See every variable across all your .env files in one matrix. Filter by differences or missing keys, copy values, and spot inconsistencies instantly.
App lock
Lock the app with Touch ID or your macOS password after a configurable inactivity timeout. Protects your secrets when you step away.
Two worth seeing properly
Every file, side by side.
Compare puts every variable across every file in one matrix, so a key missing from production is obvious rather than discovered at deploy. Diff puts any two files side by side and shows exactly what's different and what's missing between them.

Nineteen variables across three files, with ten missing from at least one of them.

Two files against each other — fifteen values that differ and eight keys missing from .env.example, each with a one-click sync.
Diff & sync
Never miss a key again.
Compare environment files side-by-side. When you save, Dotvault checks if .env.example is out of sync and prompts you to update it.
- Side-by-side diff between any two env files
- Auto-sync prompt on save when keys are missing
- Choose keys-only (safe for git) or keys+values
- Per-key or bulk sync actions
Laravel encrypted env
Edit .env.encrypted like a normal file.
Laravel ships php artisan env:encrypt for production secrets, and you'd normally bounce between the CLI and a password manager every time you need to look at one. Dotvault edits encrypted env files directly — no PHP, no artisan, no decrypt-edit-re-encrypt dance.
- Paste the key once and edit an existing
.env.encryptedlike any other file - Encrypt a plaintext file in one click, and Dotvault will not let you past the dialog until you have saved the key it generated
- Rotate a key, or switch a file between Standard and Readable format, in place
- A file that looks encrypted but isn't opens as plaintext, so you never get a key prompt you can't answer
Where the keys live and which ciphers are involved is written out on the security page, and the encryption guide walks through the whole workflow.
Security
Your secrets stay on your machine.
Most tools that manage secrets need to store them somewhere. A cloud account, a synced vault, a third-party server. Dotvault doesn't. Your .env files stay in your project folder where your tooling expects them, and your snapshot history is encrypted at rest on your own machine. No account to compromise, no server to breach.
AES-256-GCM encryption
Every snapshot is encrypted at rest, each with its own initialisation vector. Your .env files themselves stay as plain text, because your framework has to read them.
Keys stay local
Encryption keys are stored via Electron safeStorage, which is protected by the macOS Keychain. They never leave your machine.
No cloud sync
No account, no vault, no server holding your secrets. The app does check for updates and revalidate your licence, and optional anonymous telemetry is off by default. Every request it makes is listed here.
Read the full security detail, including what Dotvault deliberately does not protect you from.
Pricing
Buy it once. It stays bought.
The key never expires. Updates run for twelve months, and when that window closes the copy you own carries on working exactly as it did.
Solo
$49
1 developer · 2 machines
Buy Solo$25 a year afterwards to carry on receiving updates. Optional.
Team (5)
$179
5 developers · 10 machines
Buy Team (5)$99 a year afterwards to carry on receiving updates. Optional.
Team (10)
$299
10 developers · 20 machines
Buy Team (10)$169 a year afterwards to carry on receiving updates. Optional.
- Unlimited projects and
.envfiles - Visual diff and version history
- Encrypted file support (Laravel format)
- Framework templates and
.env.examplesync
Buying for a team
One purchase, one key, and nothing to administer. No invites to send, no seats to assign and nobody queuing for the company card. Hand the key to your developers and they are working. If someone leaves and their Mac goes with them, free that activation from the Lemon Squeezy portal linked in your purchase email.
What it isn't
It is not a shared secrets manager. There is no sync, no team vault and no server holding your values. Your .env files stay in your repos and on your machines, which is the whole point of the app. What the team licence buys is the tool, once, for everyone.
Regional pricing
The price is set for Western salaries. If that puts it out of reach where you live, send me a note and I'll sort you out with a code. It is handled by hand, so there is no location-sniffing script on this site and no code sitting on a coupon board.
Payment and refunds
No account to create. Lemon Squeezy takes the payment as merchant of record, so your card details go to them and never reach me. Full refund within 14 days if it turns out not to be for you.
Open-source maintainers
If you maintain something other developers depend on, and you do it in your own time rather than on a company's payroll, Dotvault is free. Here's the rule, and how to ask. There's no requirement attached: no tweet, no review, no backlink and no public thank you. If the app is good enough to talk about then you'll talk about it, and if it isn't, a bought mention wouldn't have saved it.
FAQ
Common questions.
Quick answers for the things people ask most.
Are my secrets safe?
Yes. Snapshots are encrypted with AES-256-GCM, using a key held via Electron safeStorage and protected by your macOS Keychain. Your .env file contents, variable names, and values are never sent anywhere. Optional anonymous usage telemetry (off by default) only sends feature usage signals, never keys, values, or file contents. Full detail on the security page, including every network request the app makes.
Is Dotvault an Electron app?
Yes, and you would find that out in thirty seconds anyway. Electron is the reason one person can ship an editor, a diff view, a comparison grid and a git panel that all work; what it costs you is memory. Nothing sensitive happens in the window — file access, encryption and git all run in the main process, which is also where Laravel's encrypted format is reimplemented in Node so you never need PHP. I did rebuild the whole thing natively in Swift once, get it close to parity, and delete it — that story is here, and the short version of the trade-off is here.
Do I need an account to buy or to use it?
No, neither. Dotvault is a standalone macOS app with a one-time licence key: no cloud account to create, no CLI to install, no ongoing service to depend on. Buying goes through Lemon Squeezy, who act as merchant of record and hold your name, email address and card details for the transaction. What comes back to me is your name, email and licence details, never your card. Enter your key, point it at a project folder, and you're working.
What happens when my twelve months of updates end?
Nothing you'd notice on the day. Every tier includes twelve months of updates, and when that window closes the copy you have carries on working exactly as it did. You just stop receiving new releases until you renew. The licence key itself never expires, so there is no lock, no read-only mode, and no nagging.
Can I renew after leaving it a while?
Yes. Your licence doesn't lapse while you wait, so there's nothing to reactivate and nothing stops working in the meantime. There's no new key either: you buy a renewal and the date on the licence you already have moves. Nothing to paste, nothing to swap over. If you've left a gap, the twelve months run from the day you renew rather than from the day the old window closed, so waiting costs you nothing beyond the releases you skipped. Renew early and it's added to the end of what you've got, so that costs you nothing either.
How do the team seats work?
Team (5) is sold for five developers and Team (10) for ten. Every tier gives two machines per developer, so Team (5) activates on ten machines and Team (10) on twenty. It's one licence key you share with your team rather than an invite system, so there are no seats to administer. If someone leaves and their Mac goes with them, free that activation up from the Lemon Squeezy customer portal linked in your purchase email. What it doesn't buy is a shared secrets manager: there's no sync and no team vault, and everyone's .env files stay in their own repos and on their own machines.
What happens if you stop developing Dotvault?
The app carries on working. Your licence lives on your machine, and the weekly check with the licensing server can fail forever without anything being taken away, so a shut-down store or a bus with my name on it doesn't lock you out of your own secrets. Your .env files are ordinary files on your disk that you could open in any editor, which is deliberate. The one thing that would stop is activating a brand new machine, since that does need Lemon Squeezy to answer.
Why is Dotvault Apple Silicon only?
Apple is ending Intel support in macOS 27, and carrying a second architecture I could not test properly on every release would have been worse than not carrying it. If you're on an Intel Mac, the trial is the free way to confirm this isn't for you. If you already have Dotvault on one, it keeps working — it just stops finding updates. An Apple Silicon build won't run on an Intel Mac at all — Rosetta translates in the other direction only, so there's no coaxing it. Why I made the call when I did, and what it means for you.
What happens when I move to a new Mac?
Your licence moves with you: every tier allows two machines per developer, and deactivating an old machine frees the slot immediately. Snapshot history is the awkward part — it's encrypted with a key that stays on the machine that made it, so a fresh install starts with an empty History tab. Your .env files are untouched either way. The full answer, including what survives a Migration Assistant move.
Does Dotvault work with monorepos?
Yes, with one thing to know first: a project is a single folder and the scan isn't recursive, so a monorepo with three packages is three projects in the sidebar rather than one. Search works across all of them; the comparison grid works within one. What that's like in practice.
What file formats are supported?
Standard .env files: anything named .env or starting with .env (e.g., .env.local, .env.production). Each line should be KEY=value format. Comments and blank lines are preserved.
How do snapshots work?
Every time you save a file, Dotvault creates an encrypted snapshot. You can browse, compare, and restore any previous version from the History tab. An initial snapshot is captured automatically the first time you open a file.
Do I need PHP for encrypted env files?
No. Dotvault implements Laravel's AES-256-CBC encryption natively in Node.js. You can open, edit, create, rotate keys, and convert formats, all without PHP or artisan commands. After encrypting a file, Dotvault walks you through cleaning up git state so the plaintext never ends up committed by accident.
How does framework detection work?
Dotvault scans your project's package.json, composer.json, Gemfile, requirements.txt, and pyproject.toml to identify frameworks and packages. Over 110 are recognised across npm, Composer, pip, and gem ecosystems.
What does .env.example sync do?
After saving a .env file, Dotvault checks if any keys are missing from .env.example. You get a prompt to selectively add them: keys-only (safe for git) or keys+values.
What keyboard shortcuts are available?
Cmd+S to save, Cmd+Z to undo, Cmd+Shift+Z to redo, Cmd+K for cross-project search. Open Help → Keyboard Shortcuts for the full list.
Can I open a project in my terminal or editor?
Yes. Right-click any project in the sidebar for Open in Finder, Terminal, or Editor. Set your preferred apps in Settings.
There are more answers in the help centre, including the ones people ask before buying.
Download
Download Dotvault
Free 14-day trial with every feature unlocked. macOS only, no account to create and no card to hand over.
On day 15 Dotvault asks for a licence key and won't open your files until it has one. Your .env files are left exactly where they are, untouched, and you can still open them in any editor. Nothing is held hostage.
Apple Silicon, macOS 12 Monterey or later. No account to create, and the licence is a one-time purchase.
Version 1.5.0, released . See what's changed.
