Skip to content

Your secrets, wherever they live

fnox reads secrets from encrypted files, password managers, and cloud secret stores, and hands them to your program as environment variables. One fnox.toml says where each one lives. The same command works on your laptop and in CI.

mise use -g fnox

Open source · MIT licensed · Built in Rust

fnox.toml
COMMITTED TO GIT
# Point at the vault you already use
[providers.op]
type = "1password"
vault = "Engineering"

[secrets.DATABASE_URL]
provider = "op"
value = "Database/url"
# fnox set writes the ciphertext for you
[providers.age]
type = "age"
recipients = ["age1…"]

[secrets.DATABASE_URL]
provider = "age"
value = "YWdl…"
# Development: encrypted in git
[secrets.DATABASE_URL]
provider = "age"
value = "YWdl…"

# Production: AWS Secrets Manager
[profiles.production.secrets.DATABASE_URL]
provider = "aws"
value = "db-url"
RUN
$ fnox exec -- npm start

Your app reads DATABASE_URL as usual.

Only the item reference is committed. Each person reads it with their own vault login.

WORKS WITH

Pick your starting point

Each secret names its own provider, so you can start one way and mix in another later.

Built for daily work

Secrets load when you enter a project, stay fast when your vault is remote, and stay out of reach of tools that shouldn't have them.

How fnox works

Encrypt your first secret

Five minutes, no account required.

Follow the quick start
MIT LicenseCopyright © 2026jdx.dev