theseus/bundled-addons
Local Dev cee34c47e5 hermes: name+password signup, Settings panel, seed backup gated by password
Third signin option on the panel: enter a bare name + password, Hermes mints
a 12-word BIP-39 mnemonic locally, derives the Nostr key, password-wraps the
mnemonic for later Settings → Backup, and persists the sealed sk the same
way the other paths do. Save-forever still handles routine signin — the
password is only used to reveal the seed phrase and only from Settings.

- main.js: hermesWrapMnemonic / hermesUnwrapMnemonic via scrypt (N=2^15) +
  aes-256-gcm. Wrapped blob at <userData>/hermes-identity/mnemonic.wrapped.json,
  plaintext JSON — the wrap itself is the protection. On sign-out the blob
  is nuked alongside the sealed sk.
- main.js: init() now takes { create: true, handle, password }. Handle is
  validated (1-32 chars, kebab-friendly) and stored as `<name>.erm` so a
  mainnet free-manifest reservation lands on the same canonical form later.
  Mnemonic-path init optionally takes a password too — "promote this
  seed-phrase session to a password-protected backup" in one step.
- main.js: new _hermesAPI.getBackup({password}) and .hasBackup. status() now
  returns handle + source so the panel can label the restored session.
- panel.html: "Create a new account" button on signin reveals handle +
  password + confirm. ⋯ menu adds Settings… showing account info, display
  mode picker (hermes:alice / alice.erm / alice@hermes.tel — persisted via
  silentmode.storage), and the gated seed-phrase reveal. Reveal lays words
  out 12-across with 1-indexed numbering so a user copying to paper doesn't
  miscount. Backup section hides for vault / mnemonic sessions.

Still off-chain only — handles created this way are local labels until the
mainnet mint of the free manifest lets us register them against the
`hermes.erm` signed-records store (see [[hermes-name-scheme-plan]]).
2026-10-21 17:14:26 +03:00
..
aegis Aegis 0.32.3: WizardConnect waits between relay reconnects 2026-10-07 19:17:25 +02:00
blocker feat(theseus): Settings pages have addresses and sub-pages; Privacy regrouped 2026-09-27 22:01:28 +02:00
consent feat(theseus): Settings pages have addresses and sub-pages; Privacy regrouped 2026-09-27 22:01:28 +02:00
docx-editor Theseus: start extensions on first use, Startup switches in Settings 2026-10-03 16:05:32 +02:00
hermes hermes: name+password signup, Settings panel, seed backup gated by password 2026-10-21 17:14:26 +03:00
notepad Theseus: start extensions on first use, Startup switches in Settings 2026-10-03 16:05:32 +02:00
pdf-editor Theseus: start extensions on first use, Startup switches in Settings 2026-10-03 16:05:32 +02:00
pithos Pithos 0.3.23: rename S3 users 2026-10-07 00:17:32 +02:00
screenshot Theseus: start extensions on first use, Startup switches in Settings 2026-10-03 16:05:32 +02:00
translate Theseus: start extensions on first use, Startup switches in Settings 2026-10-03 16:05:32 +02:00
vpn Theseus: start extensions on first use, Startup switches in Settings 2026-10-03 16:05:32 +02:00