A contribution to OpenClaw adding native GCP Secret Manager integration — so credentials are stored encrypted in a centralized secrets store, not in plaintext files on disk.
Related issue: openclaw/openclaw#13610
| Document | Description |
|---|---|
| REQUIREMENTS | What the feature must do (the asks) |
| DESIGN | How it will be implemented (architecture, interfaces, data flow) |
- Requirements — approved ✅
- Design — approved ✅
- Tests — 96 passing (74 unit + 22 CLI) ✅
- Implementation — complete ✅
- Documentation —
docs/concepts/secrets.md✅ - Local testing with real GCP Secret Manager — in progress
- PR to openclaw/openclaw — not started
OpenClaw currently stores all API keys, tokens, and secrets in plaintext files. This is a problem because:
- Anyone with shell access can read all secrets
- Multi-agent setups share filesystem access to all credential files
- No audit trail of secret access
- Config files can't be safely committed to git
- No standard way for agents to securely pass credentials to sub-agents
- GCP Secret Manager as the first external secrets provider
${gcp:secret-name}reference syntax in config files- Bootstrapping — automated setup of GCP Secret Manager, APIs, and IAM
- Migration — automatically move existing plaintext secrets to the store and purge originals
- Per-agent isolation — each agent only accesses secrets it's authorized for, enforced via IAM
- CLI commands —
openclaw secrets setup|migrate|test|list|set
- Amichay Oren (@amor71) — Requirements & review
- Rye 🥃 — Design & implementation (AI agent)
MIT — see LICENSE