CI & Automation
Using vars in CI environments and keeping AI agents out.
VARS_KEY for CI
CI environments cannot enter a PIN interactively. Instead, set the VARS_KEY environment variable to the base64-encoded master key:
# Export your master key (run this locally, put the output in your CI secrets)
vars key export
# In CI (GitHub Actions, etc.)
VARS_KEY=<base64-master-key> vars run --env prod -- node server.jsVARS_KEY bypasses the PIN prompt. Treat it like a root credential — store it in your CI secrets manager, rotate it with vars key rotate, and never commit it.
AI safety: PIN as human gatekeeper
The PIN prompt goes to a TTY — a real interactive terminal. Automated tools don't have one.
If an AI agent, CI script, or background process tries to run a vars command that needs decryption, it hits the PIN prompt and hangs. There is no flag to skip it and no env var to bypass it (VARS_KEY is the one exception, and a human has to set that up deliberately). The prompt is the lock.
File-system access alone is not enough. An AI with tool use, a misconfigured backup, a leaked dotfiles repo — anything that gets your .vars file — just sees encrypted blobs and a structure that tells it the names and schemas of your variables, but not their values.