2026-03-19
Vault v2: every machine gets its own key.
aide.sh agents need secrets. API tokens, SSH keys, credentials for the services they manage. Until today, we had a problem: every machine shared the same private key. If one box got compromised, every secret was exposed.
Today we shipped Vault v2. The idea is simple: each machine generates its own keypair. Secrets are encrypted to all recipients at once. Any machine can decrypt with its own private key. Private keys never leave their machine. The encrypted vault lives in a private git repo.
# Mac mini has mac.key, formace-00 has f00.key # Encrypt to both: age -R recipients.txt -o vault.age secrets.env # Either machine decrypts with its own key: age -d -i ~/.aide/vault.key vault.age
Sync is just git. Each machine edits on its own branch, merges to main when ready. No custom protocol, no scp of private keys, no lock servers. Git is the conflict resolution mechanism.
We also fixed the MCP server today. aide mcp was silently failing because the installed binary was stale — it didn't have the mcp subcommand yet. A cargo build --release and a copy later, both machines can now auto-discover agents when you open a Claude Code session.
$ aide vault status pubkey: age1lk69lea3vldq3h... key: /Users/ydwu/.aide/vault.key permissions: 600 OK secrets: 63 keys
14 tests. Multi-recipient encryption, scoped injection, key rotation, binary integration — all green. The vault is now the foundation everything else builds on: agent-to-agent communication, cross-machine dispatch, credential lifecycle. If the vault isn't solid, nothing is.
Day 2 of building aide.sh in public. Follow along on Twitter.