Skip to content

docs: accept ADR-0012, agents store and manage keys without seeing them - #109

Merged
nniiovoo merged 1 commit into
mainfrom
docs/agents-store-keys-adr
Nov 6, 2026
Merged

nniiovoo merged 1 commit into
mainfrom
docs/agents-store-keys-adr

Conversation

@nniiovoo

@nniiovoo nniiovoo commented Nov 6, 2026

Copy link
Copy Markdown
Owner

What

Records the owner's decision (2026-11-05) to accept ADR-0012. Docs only: nothing is built, and the app still gives agents no interface to the Vault.

The goal: Claude, ChatGPT or Codex can store and manage keys without ever seeing or using them.

  • Storing: the agent asks, the app opens its own native window with the agent's suggestion, and the owner types the value there. Seed Phrases and Private Keys still need the Master Password. The agent gets back only "saved" and an id.
  • Scope: every Kind and every chain, using the existing Kinds: EVM, Solana (SVM), Bitcoin, Seed Phrases, API Keys, Logins, Text.
  • What the agent sees: only the Notes it added, marked "added by an agent". It never sees any other Note.
  • Five requests: store, list, edit details, ask to replace a value, ask to delete.
  • Edits: changes to a public address, chain, derivation path, website, username or service need the owner's confirmation in the app. A tricked agent could otherwise swap a wallet's address for an attacker's. Deletes need the Master Password.
  • Never: show, copy, export or sign. No value travels through the chat.

Changed

  • docs/adr/0012-agents-store-and-manage-keys.md: new, accepted, with its build order.
  • ADR-0011 (Chat Wallet signing, from docs: accept Chat Wallets (ADR-0011), not built yet #108): marked deferred. Its storage code is not part of this PR or of main.
  • ADR-0007: amendment note. ADR-0004: related note (Wallet Kinds unchanged).
  • CONTEXT.md: new term Agent-added Note ("agent key" avoided, because it clashes with Agent Key). The Chat Wallet entry is marked deferred.
  • AGENTS.md: the Chat Wallet rule is replaced by the ADR-0012 rule.
  • README.md, PRODUCT.md, docs/guide.md: one "accepted, not built" line each.

Checks

  • node scripts/scan-secrets.mjs passed, including the new ADR.
  • node scripts/check-network-source.mjs passed.
  • ./scripts/check.sh not rerun, because this change is docs only.

🤖 Generated with Claude Code

The owner changed the goal: Claude, ChatGPT or Codex should store and
manage keys safely, never see or use them. An agent asks; the app opens
its own window and the owner types the value there; the agent gets back
only "saved". It manages only the Notes it added (any Kind, any chain:
EVM, Solana, Bitcoin), with five requests: store, list, edit details,
ask to replace, ask to delete. Address, chain, website and service
edits need the owner's confirmation; deletes need the Master Password.
Nothing signs. Docs only: nothing is built.

Adds ADR-0012, marks ADR-0011 (Chat Wallet signing) deferred, amends
ADR-0007 and the ADR-0004 note, adds the Agent-added Note glossary
term, replaces the AGENTS.md Chat Wallet rule, and updates one line
each in the README, PRODUCT.md and the guide.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nniiovoo
nniiovoo enabled auto-merge November 6, 2026 04:51
@nniiovoo
nniiovoo merged commit 96bc268 into main Nov 6, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant