SecretEnv stands between your AI coding agents and your real secrets. They wire up config and run code against live backends, while every value stays invisible to the model.
Multi-backend secrets orchestration via an alias registry that lives in your own backend. No SaaS. No re-encryption. No lock-in. No .env files. Migrate from one backend to another without touching a single repo.
Your org uses AWS SSM for infra credentials, 1Password for team secrets, and Vault for service tokens. Every developer assembles a slightly different .env from manual fetches. Onboarding takes a day. Offboarding is a checklist nobody fully trusts.
.env per developer. Drift everywhere.Each repo cobbles its own glue. Paths leak topology. Migration means PRs across every service.
SecretEnv separates what every other tool conflates. The manifest tells SecretEnv what is needed. The registry tells where things live. The machine config tells which backends exist on this machine.
registry set.Move a secret from 1Password to Vault. Update one line in the registry. Every repo using stripe-key picks it up on its next secretenv run. No PRs. No re-encryption. No coordination.
Stripe moves from 1Password to Vault. registry migrate reads the source, writes the destination, and flips the pointer atomically, all on the platform team's machine.
A secret in a stack trace is a leaked secret. secretenv run automatically removes secret values from a program's output by default, before they can land in your logs, a CI artifact, or your terminal history.
SecretEnv watches the program's output as it streams by and replaces any secret the moment it appears, even one split across two chunks of output. When you're working in an interactive terminal it steps out of the way so nothing interferes with your session.
secretenv run cleans the program's live output as it happens.secretenv redact <file> cleans a file that already exists, safely rewriting it in place.sk_live_… straight to your log pipelinesecretenv mcp serve lets coding agents read and manage your alias registry through 14 tools. The agent can see which backend an alias points to and repoint it, but the secret values themselves never reach it. Works out of the box with 8 IDEs.
Secret values are walled off from the agent server in the code itself, so there is no path that could hand one over, even by accident. And every release runs a test that inspects the server's actual replies to prove no value slipped through.
secretenv mcp setup --ide <name>.Let your coding agent handle the secrets plumbing. It declares the aliases your code needs, repoints them, and generates fresh credentials. Then it runs your code against your real backends.
It wires up everything your code depends on, and never reads a single value. You move at agent speed, with the peace of mind that the model can never see what it is connecting.
Optional traces and metrics for every secret it resolves, every backend it checks, every agent tool call, and every registry change. Point your OpenTelemetry endpoint at a collector and it turns on. Set nothing, and it adds no startup cost at all.
Every piece of information SecretEnv is allowed to attach to a trace is listed out ahead of time. There is no general "record anything" option, so sensitive things like a secret value, a backend address, or a generated password simply have no way to be written out. Automated checks on every release enforce it.
SecretEnv delegates all authentication to each backend's native CLI. You inherit your existing MFA, SSO, biometric unlock, with no new auth surface to audit.
The smoke harness exercises the real binary against real backend CLIs in real shells, not mocks. 779 assertions across 15 backends as of v0.19.0.
If a test doesn't pass, it doesn't ship. Every release exercises every backend, end-to-end, against the live CLI, before the tag is cut.
| Property | SecretEnv | .env | fnox | direnv |
|---|---|---|---|---|
| Multi-backend in one invocation | ✓ | n/a | ✓ | manual per-project |
| Backend migration without editing repos | ✓ one registry set | n/a | edit every config | n/a |
| Infrastructure topology hidden from repos | ✓ aliases only | ✗ | ✓ | ✗ paths in .envrc |
| Centrally-shared mutable alias registry | ✓ in your backend | n/a | n/a | n/a |
| One-line offboarding (single revoke covers all repos) | ✓ | ✗ | depends on mode | ✗ |
| Stores no secret material on disk | ✓ | ✗ | depends | ✓ |
| No SaaS dependency | ✓ | ✓ | ✓ | ✓ |
| Inherits backend MFA / SSO / biometric | ✓ native CLI | n/a | partial | n/a |
One binary. Your backends. No SaaS.
Built with frustration at .env files and multiple password managers.