Files
archy/docs
archipelagoandClaude Opus 5 623eb0f033 docs(SEED-VERIFICATION): add the missing FIPS key, fix the comparison commands
Ran the doc's script rather than only reading it, and cross-checked every
primitive it implements against independent libraries (bip_utils for BIP-39
seed / BIP-32 derivation / bech32, and cryptography's own HKDF): BIP-39 seed,
m/44'/1237'/0'/0/0, m/84'/0'/0', x-only pubkey, npub encoding and
HKDF-SHA256(salt=None) all match byte for byte. The hand-rolled crypto in this
doc is correct.

Two real gaps fixed:

- **The FIPS mesh transport key was missing.** `seed.rs:227` derives it from the
  same master seed via `archipelago/fips/secp256k1/v1`, and a user verifying
  their backup had no way to check it — despite it being the key that
  authenticates them on the mesh. Added it to the diagram and as section 2b of
  the script (same shape as the node Nostr key; verified against
  `derive_fips_key` and `hkdf_derive` using `Hkdf::new(None, ikm)`).
- **The "compare with your node" commands were wrong.** The RPC endpoint is
  `/rpc/v1`, not `/api/rpc`, and `identity.get-node` is not a method — the real
  ones are `node.did` and `node.nostr-pubkey`. Also dropped "UI: Settings >
  Identity", which is not a screen that exists, in favour of the two
  identity files on disk.

Verified and left alone: all five other HKDF info strings, both BIP-32 paths,
and the `node_key.pub` filename. The release-root key
(`archipelago/release/root/ed25519/v1`) is deliberately still absent — it is
derived from the project's signing seed, not a user's node seed.

Noted separately: `system.get-node-key` sits in the CSRF-exempt list
(`api/rpc/mod.rs:337`) but has no dispatcher arm, so it is an exemption for a
method that does not exist. Harmless, but it should be removed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 21:18:18 -04:00
..

Archipelago documentation

Start here. This index groups the docs by what you're trying to do. The authoritative behaviour is always the code in core/; where a doc and the code disagree, the code wins and the doc is a bug.

Getting started

Architecture

Contributing to Archipelago itself

App development

Design docs

These record why a thing is built the way it is. They are design records, not step-by-step guides, and some predate the current implementation.

Decisions (ADRs)

There is no ADR-010 — the number was never issued, so the gap is not a missing file.

Security

Roadmap & history

  • Roadmap — where the project is going
  • archive/ — superseded design and status documents, kept for provenance