Quickstart
Install the CLI
Section titled “Install the CLI”npm install -g paboxpnpm add -g paboxyarn global add paboxThe package is named pabox on npm, but the binary command is passbox.
Your First Secret
Section titled “Your First Secret”-
Create an account
Terminal window passbox loginEnter your email and password. PassBox derives an encryption key from your password using Argon2id — this key never leaves your machine.
-
Create a vault
Terminal window passbox vault create my-appA vault is a collection of secrets. Each vault has its own encryption key.
-
Store a secret
Terminal window passbox set DATABASE_URL "postgres://user:pass@host:5432/db" --vault my-appThe value is encrypted client-side with AES-256-GCM before being sent to the server.
-
Retrieve the secret
Terminal window passbox get DATABASE_URL --vault my-appOutput:
postgres://user:pass@host:5432/db -
List all secrets
Terminal window passbox list --vault my-app
Run Your App with Secrets
Section titled “Run Your App with Secrets”Inject secrets as environment variables into any command:
passbox run --vault my-app -- node server.jsThis starts node server.js with all vault secrets available as process.env.DATABASE_URL, etc.
Work with .env Files
Section titled “Work with .env Files”Push a local .env file to your vault:
passbox env push .env --vault my-appPull secrets into a .env file:
passbox env pull --vault my-app -o .env.localUse Environments
Section titled “Use Environments”Separate your secrets by environment (development, staging, production):
# Create environmentspassbox environment create staging --vault my-apppassbox environment create production --vault my-app
# Store secrets in specific environmentspassbox set DATABASE_URL "postgres://staging-host/db" --vault my-app --env stagingpassbox set DATABASE_URL "postgres://prod-host/db" --vault my-app --env production
# Retrieve from a specific environmentpassbox get DATABASE_URL --vault my-app --env productionProject Configuration
Section titled “Project Configuration”Initialize a .passbox.json in your project directory to set defaults:
passbox initThis creates a config file so you don’t need to pass --vault every time:
{ "vault": "my-app", "environment": "development"}Now you can simply run:
passbox get DATABASE_URLpassbox set API_KEY "sk-..."passbox run -- npm startNext Steps
Section titled “Next Steps”- Core Concepts — understand vaults, environments, and encryption
- CLI Reference — explore all 21 commands
- SDK Guide — use PassBox programmatically
- MCP Server — connect AI agents to your secrets