Skip to content

View & back up your recovery phrase in Settings (0243 Phase 1, step 4)#327

Merged
crs48 merged 1 commit into
mainfrom
claude/0243-recovery-polish
Jun 28, 2026
Merged

View & back up your recovery phrase in Settings (0243 Phase 1, step 4)#327
crs48 merged 1 commit into
mainfrom
claude/0243-recovery-polish

Conversation

@crs48

@crs48 crs48 commented Jun 28, 2026

Copy link
Copy Markdown
Owner

Phase 1 polish for exploration 0243 — completes P1.2.

What this adds

Settings → Account gains a Recovery phrase row:

  • For recoverable identities: a View phrase button reveals the phrase behind a passkey prompt (identityManager.exportRecoveryPhrase()), with consent copy that it restores your data but can't be vendor-recovered. A Hide toggle keeps it off-screen by default.
  • For plain (non-recoverable) identities: it says plainly there's no phrase, so the user knows a lost passkey means lost access.
  • In the desktop app, a Back up to this device button stores the phrase in the OS keychain via the existing secure-seed IPC (gated on window.xnet).

apps/web typechecks clean; the reveal path is exercised by the engine's exportRecoveryPhrase tests from #322.

Remaining in Phase 1

  • P1.4 — surfacing synced-passkey recovery (discoverExistingPasskey) in the import flow. Deliberately deferred: it's a convenience path on top of the phrase recovery already shipped, and it can't be meaningfully verified headlessly. Documented as a follow-up.

Next: Phase 2 — the 0149 account/device ledger.

🤖 Generated with Claude Code

Settings → Account gains a Recovery phrase row (completes P1.2):
- Recoverable identities can reveal the phrase behind a passkey prompt
  (exportRecoveryPhrase), with consent copy that it restores data but can't
  be vendor-recovered; a Hide toggle keeps it off-screen by default.
- Plain (non-recoverable) identities are told plainly they have no phrase.
- In the desktop app, a 'Back up to this device' button stores the phrase in
  the OS keychain via the existing secure-seed IPC.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: xNet Test <test@xnet.dev>
@crs48 crs48 temporarily deployed to pr-327 June 28, 2026 23:29 — with GitHub Actions Inactive
@github-actions

Copy link
Copy Markdown
Contributor

🖼️ UI changes in this PR

Screens

✏️ Settings _(SSIM 0.847)_
before after diff
before after diff

Auto-captured by CI · run. Informational — not a blocking check.

github-actions Bot added a commit that referenced this pull request Jun 28, 2026
@github-actions

github-actions Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Preview removed for PR #327.

github-actions Bot added a commit that referenced this pull request Jun 28, 2026
@crs48 crs48 merged commit 88d40a5 into main Jun 28, 2026
16 checks passed
@crs48 crs48 deleted the claude/0243-recovery-polish branch June 28, 2026 23:35
github-actions Bot added a commit that referenced this pull request Jun 28, 2026
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