Skip to content

Vault module: WebAuthn-unlocked encrypted seed vault #134

Description

@truthixify

Extra labels: vault, feature, security
Tier: L (5-7 days) | Type: feature

Context. src/vault/ exists as a stub. Users want to store their STEALTH_SIGNING_MESSAGE derivation seed encrypted at rest and unlock with a WebAuthn touch. Removes the "have to sign every session" friction.

Scope.

  • Vault v1: AES-GCM encrypted blob, key derived from a WebAuthn signature.
  • Unlock produces the stealth signing seed in-memory only (no localStorage of plaintext).
  • Wipe on tab close.
  • Cross-tab lock coordination (BroadcastChannel).

Acceptance.

  • Threat-model doc'd: what protects the vault, what doesn't
  • Round-trip test: create → lock → unlock recovers identical seed
  • Explicit non-goal: not a wallet, not a key manager for custody

Files. src/vault/webauthn.ts (new), src/vault/aes.ts (new), src/vault/README.md.

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programdripsFunded via Drips NetworkfeatureNew feature workhelp wantedExtra attention is neededsecuritySecurity-sensitive workvault

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions