Skip to content

vaultx

Zero-trust secrets broker — commit vaultx.env (references only, never values), and vaultx injects the real secrets into your process at runtime. Nothing is written to disk in plain text.

Installation

macOS and Linux (Homebrew)

brew tap gautampachnanda101/tap
brew install vaultx

Upgrade:

brew upgrade vaultx

Windows (Scoop)

scoop bucket add promptx https://github.com/gautampachnanda101/scoop-bucket
scoop install vaultx

Verify:

vaultx version

First-Time Setup

vaultx init --biometric   # create vault + enable Touch ID (macOS)
# or
vaultx init               # create vault with master password only

Run a health check:

vaultx doctor

The vaultx.env File

vaultx.env is a reference file — it contains secret names, not values. It is safe to commit to git.

At runtime, vaultx run resolves each reference from the vault and injects the real value into the process environment. Nothing touches disk.

Example vaultx.env:

DB_PASSWORD=vaultx://myapp/db_password
API_KEY=vaultx://myapp/api_key

Web UI

vaultx serve          # start daemon on http://127.0.0.1:7474/
open http://127.0.0.1:7474/

Dashboard Tabs

Secrets — view, add, and manage vault entries. Values are never stored in plain text.

Audit Log — security event log: unlocks (success/failure), secret reads, writes, deletions. Supports syslog forwarding for compliance.

Touch ID authenticates the web UI on macOS.

Serve Options

vaultx serve --port 8080                                    # custom port
vaultx serve --syslog-network local                         # local syslog
vaultx serve --syslog-network tcp --syslog-address host:514 # remote syslog

Daily Workflows

Store and Retrieve Secrets

vaultx set myapp/db_password "s3cr3t"    # store
vaultx get myapp/db_password             # retrieve
vaultx list                              # list all (values masked)
vaultx list myapp/                       # list under a prefix
vaultx delete myapp/db_password          # delete

Run Commands with Secrets Injected

From a directory containing a vaultx.env file:

vaultx run -- go run ./cmd/server
vaultx run -- python manage.py runserver
vaultx run -- npm start

Inject into Current Shell

eval $(vaultx shell)    # exports secrets as env vars in the current shell

Docker

vaultx docker compose -- up --build    # Docker Compose with secrets injected

Session Management

vaultx unlock    # unlock for this session (Touch ID or master password)
vaultx lock      # lock the vault (clear cached key)

Security defaults:

  • Rate limiting: 10 unlock attempts per minute
  • Lockout: 5 failed attempts locks the vault for 30 minutes

Providers

vaultx supports multiple secret providers configured in ~/.vaultx/config.toml:

  • Local — encrypted vault at ~/.vaultx/vault.enc (default)
  • 1Password — pull secrets from 1Password vaults
  • HashiCorp Vault — connect to a Vault server
  • AWS Secrets Manager — pull from AWS

Check provider health:

vaultx providers

MFA (TOTP)

vaultx mfa enable    # generates TOTP secret + QR code + 10 recovery codes
vaultx unlock        # now prompts for TOTP code after master password

Backup and Recovery

# Split into 5 shares, requiring any 3 to restore (Shamir M-of-N)
vaultx backup split --shares 5 --threshold 3

# Restore from shares
vaultx backup restore

Import and Export

vaultx import    # import credentials from an external password manager
vaultx export    # export credentials to a file

Built-in Docs

vaultx docs    # pretty-print the public user guide shipped with the binary

Shell Completion

vaultx completion    # install tab completion (zsh, bash, fish, PowerShell)

Kubernetes Integration

vaultx k3d    # helpers for k3d / Kubernetes External Secrets integration

Command Reference

Command Purpose
init [--biometric] Create vault, optionally enable Touch ID
unlock Unlock vault for this session
lock Lock vault (clear cached key)
doctor Health check — vault, runtime deps
serve Start daemon with embedded web UI
set <key> <value> Store a secret
get <key> Retrieve a secret
list [prefix] List secrets (values masked)
delete <key> Delete a secret
run -- <cmd> Run command with secrets injected
shell Print export statements for current shell
docker compose -- ... Docker Compose with secret injection
mfa enable Enable TOTP two-factor authentication
backup split Split backup key into M-of-N shares
backup restore Restore from shares
audit View security audit log
providers List configured providers and health
import Import from external password manager
export Export credentials to file
k3d k3d / Kubernetes External Secrets helpers
docs View built-in user guide
completion Install shell tab completion
version Show version

Troubleshooting

Command Not Found After Install

which vaultx
brew --prefix
exec $SHELL

Vault Locked After Failed Attempts

After 5 failed unlock attempts the vault locks for 30 minutes. Wait out the lockout or use a recovery code if MFA is enabled.

Health Check

vaultx doctor
vaultx providers

Check Version

vaultx version
brew info vaultx

Reinstall if Binary Is Missing

brew reinstall vaultx

Resources