jack secrets
Manage project secrets securely. Secrets are stored in Cloudflare and never written to disk.
Usage
jack secrets <command> [options]Commands
| Command | Description |
|---|---|
set <KEY> | Set a secret (prompts for value) |
set KEY=VALUE | Set a secret inline (visible in shell history) |
list | List all secret names |
rm <KEY> | Remove a secret |
Options
| Option | Description |
|---|---|
--project, -p | Project name (auto-detected from current directory) |
Examples
Set a secret interactively (recommended)
jack secrets set DATABASE_URL
# Enter value for DATABASE_URL: ********
# ✓ Secret set: DATABASE_URLSet a secret inline
jack secrets set API_KEY=sk-1234567890
# ⚠ Value visible in shell history. Use interactive mode for sensitive secrets.
# ✓ Secret set: API_KEYPipe from environment (CI/CD)
echo $PRODUCTION_KEY | jack secrets set STRIPE_KEYList secrets
jack secrets list
# DATABASE_URL
# API_KEY
# STRIPE_KEYRemove a secret
jack secrets rm API_KEY
# ✓ Secret removed: API_KEYSpecify project explicitly
jack secrets list --project my-apiHow It Works
- Managed projects: Secrets are stored via the jack control plane
- BYO projects: Secrets are stored via
wrangler secretcommands
Secrets are injected at runtime and available in your worker via the environment:
export default {
async fetch(request: Request, env: Env) {
// Access your secrets
const dbUrl = env.DATABASE_URL;
const apiKey = env.API_KEY;
// ...
}
}Notes
- Secret names must start with a letter or underscore
- Only letters, numbers, and underscores are allowed
VITE_*secrets are embedded at build time, not runtime—add them to.envinstead- Secrets are never logged or written to disk locally