diff --git a/ROADMAP-identity-wallet.md b/ROADMAP-identity-wallet.md index 0b59828..3e941f5 100644 --- a/ROADMAP-identity-wallet.md +++ b/ROADMAP-identity-wallet.md @@ -22,6 +22,17 @@ m / 1414' / 0' messenger (Nostr etc.) ← future Same seed, three purposes, no cross-derivation. See [DESIGN-password-manager.md](DESIGN-password-manager.md) for the discipline. +**Add-on roots (decided 2026-09-06, do not change).** The vault never stores +the BIP-39 seed, only per-purpose roots, so add-ons cannot get a fresh +seed-level purpose after setup. `api.vault.derive("/")` +therefore returns HKDF-SHA256(passwords/0 root, info = +`silentmode/addons//`). The bundled BCH wallet uses +`bchwallet/mainnet/0` as its BIP32 master seed and derives `m/44'/145'/0'` +from it. This is deterministic from the mnemonic (mnemonic → seed → +passwords/0 → wallet) and works for random-seed vaults too. Changing the +info string or the parent root would orphan every wallet's funds; recovery +without Theseus is via the account xprv shown in the wallet's Settings. + ## Strand A — Password manager ### A.1 — SHIPPED (0.0.3, 9c09955e)