MiniEnv vs
SOPS and git-crypt

Both encrypt files inside your repository, so ciphertext is versioned with the code. Both are free, run anywhere, and are good at what they do. Both also ask you to run a key backend and to re-encrypt by hand when somebody leaves. That last part is the only thing MiniEnv is really offering to take over.

FIGURES CHECKED 30 AUGUST 2026
MiniEnv compared with SOPS and git-crypt
MiniEnvSOPS and git-crypt
CostFree to five people, then $29.99/mo flatFree, both of them
Where ciphertext livesOur relay, which cannot decrypt itIn your repository, versioned with the code
KeysOne per person, in the macOS KeychainSOPS: KMS, age or PGP. git-crypt: GPG keys or a shared symmetric key.
When somebody leavesEvery value re-encrypted before the removal is acceptedYou re-encrypt, by hand, and rotate what they saw
Runs onApp: macOS 12+, Apple Silicon. CLI: comes with the app, needs Node 20.19Anywhere, including CI
Secrets that are not KEY=valueA vault of up to 100 entries per project, alongside the env varsBoth encrypt whole files, so a .p8 or a PEM is native to them

Install counts are Homebrew's own analytics and cover macOS only, so they undercount both tools considerably. They are here as evidence that these are in real use, not as a market share claim.

What MiniEnv does not do. The app runs on macOS 12 or later, on Apple Silicon. There is a CLI, which does the same encryption with the same Keychain identity and covers projects, members, teams, devices and the vault, but it is macOS only as well and it needs Node 20.19. So: no Windows, no Linux, no iOS, no Android, on either. Nothing injects secrets into a running service and nothing fetches values at boot. If any of that is a requirement, stop reading here: the tool on the other side of this page is the right one.

Where both projects actually stand

SOPS released v3.13.3 on 23 July 2026 and has 22,966 GitHub stars. Its Homebrew formula recorded 139,812 installs in 365 days. It is busy and it is maintained.

git-crypt released 0.8.0 on 24 September 2025, and GitHub reports the last push to the repository on that same date. It has 9,884 stars and 47,090 Homebrew installs in 365 days.

Those dates are stated rather than interpreted. A tool that does one well-defined job can be finished rather than abandoned, and plenty of people would rather depend on something that has stopped changing. It is your call, and you should make it with the date in front of you.

What we agree about

More than the rest of this section of the site. SOPS with age recipients is close to the model MiniEnv uses: values encrypted to the public keys of the people who should read them, no server able to decrypt, no vendor in the trust path. We encrypt with age too. It shipped v1.3.2 on 29 August 2026 and its Homebrew formula recorded 48,041 installs in 365 days.

So this is not an argument about cryptography. It is an argument about who does the key management.

The manual step

With SOPS or git-crypt, taking somebody's access away means editing the recipient list, re-encrypting every affected file, committing, and making sure nothing was missed. It is entirely doable and people do it. It is also a job that arrives unscheduled, is done under pressure, and fails silently when a file is skipped, because a file encrypted to the old recipient set looks exactly like one that is not.

Remove somebody from a project and every value in it is re-encrypted, on the machine of whoever removed them, before the change is accepted. There is no window in which the removed person can still read a new value.

What that does not do, and what no tool can do, is reach backwards. Anything they already pulled, they still have. Rotate it at the source.

And a genuine advantage in the other direction: your history. A repo using SOPS carries its encrypted values through every commit, so checking out last quarter's tag gives you last quarter's config. We do not offer that.

When to use SOPS or git-crypt instead

Where these numbers came from

Every figure above, including ours. If one of them has gone stale, it is a bug on this page and worth telling us about.

The other comparisons