Introducing fnox: A secret manager that pairs well with mise #6779
jdx
announced in
Announcements
Replies: 2 comments 3 replies
-
|
Since it's a verbatim copy of https://secretspec.dev, any chance of giving attribution? |
Beta Was this translation helpful? Give feedback.
2 replies
-
|
I have to ask, do you ever sleep? |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I'm excited to announce fnox – a new secret management tool designed to work seamlessly alongside mise in your development workflow.
While it's brand new, I have labeled it 1.0 since it seems pretty feature complete and given my experience with several experiments with secrets over the years with mise, I think will be a lot more stable than its young age would indicate.
What is fnox?
fnox (think "Fort Knox") is a command-line secret manager that handles encrypted and remote secrets for development, CI/CD, and production environments. It provides a unified interface for managing sensitive data through either local encryption or remote storage backends.
Why fnox?
While mise has built-in secret support (age encryption and sops), these work best for simple, file-based scenarios. For more complex production needs, fnox provides:
🚀 Developer-Friendly
cdinto directories👥 Team-Ready
Getting Started
Install fnox with mise:
Create your first secret:
Use secrets in your workflow:
How It Works with mise
fnox and mise work independently but complement each other:
A typical setup:
mise.toml:fnox.toml:Then use both together:
$ mise x -- fnox x -- npm startOr you can activate one or the other in your shell to avoid that.
Why Separate Tools?
You might wonder why fnox isn't built into mise. The answer comes down to fundamental architectural constraints:
The Performance Problem: mise reloads its environment frequently (on directory changes, after commands, etc.). If secrets relied on remote calls to services like KMS or 1Password, each reload would require network requests, making mise unacceptably slow.
The Security Tradeoff: Caching could solve the performance issue, but introduces security risks:
The Architecture Challenge: Making mise skip reloading certain env vars would require a major architectural overhaul—a change that would complicate the codebase significantly.
By creating fnox as a separate tool with its own shell integration, we avoid these problems entirely. Each tool can focus on what it does best:
What's going to happen to mise secrets?
They're still marked as experimental so the future is technically up in the air. That said, mise does work well for age/sops encryption so I think it could probably come out of experimental. For now, I don't have plans to introduce remote secret backends like fnox provides.
Learn More
mise use fnoxBeta Was this translation helpful? Give feedback.
All reactions