Quickstart
Create a vault, store your first credential, and inject it where it's needed.
Five minutes from install to credentials flowing into real work.
Create a vault
otto init
You'll choose a master password. otto derives your encryption keys from it — it is never stored anywhere, so pick something strong and memorable. On a Mac with Touch ID, subsequent unlocks can use your fingerprint instead.
Store and retrieve credentials
Credentials use path-style names: provider/item.
# Prompted for the value — keeps it out of shell history
otto set anthropic/api-key
# Retrieve it
otto get anthropic/api-key
# Copy to the clipboard, auto-clearing after 30 seconds
otto get anthropic/api-key -c
# See everything you've stored
otto list
Already have credentials scattered around? Import them:
otto import .env --dry-run # preview, stores nothing
otto import .env
1Password CSV and Bitwarden JSON exports work the same way.
Inject, don't paste
The point of otto is that secrets flow to where they're needed without landing in files:
# Run a command with credentials in its environment only
otto run --env ANTHROPIC_API_KEY=anthropic/api-key -- python my_agent.py
# Export into your current shell (reads .otto.env mappings)
eval "$(otto env)"
Give an agent scoped access
For AI agents, otto run --proxy is the strongest mode: the child process gets a localhost base URL and a scoped, expiring otto1. token — never the real key. otto injects the provider key at forward time, so the model can't leak what it never saw.
otto run --proxy --env ANTHROPIC_API_KEY=anthropic/api-key -- claude
Inspect and revoke what you've granted:
otto grants
otto revoke <token-id>
Use it for SSH and git
# SSH keys served from the vault
eval "$(otto ssh-agent)"
# Sign your commits with a vault-held key
otto setup git-signing
Your daily ssh and git push now run through otto — keys never sit unencrypted in ~/.ssh.
Check on things
otto status # vault + daemon state
otto lock # lock now; auto-lock handles the rest
Next
Read how the security architecture protects all of this, end to end.