input-output-hk / catalyst-voices

🎙️ Catalyst Voices provides a unified experience and platform including production-ready liquid democracy, meaningful collaboration opportunities & data-driven context for better onboarding & decisions.
https://input-output-hk.github.io/catalyst-voices/
Apache License 2.0
22 stars 7 forks source link

🏛️ [EPIC] : Create local signing key #796

Open mike-mcnulty opened 1 month ago

mike-mcnulty commented 1 month ago

Summary

Create local signing key

Description

Parent #727

When a user creates a new account, they do so by creating a new keychain. A 12-word seed phrase serves as the root for that keychain, from which everything else is derived. The first 'key' on the keychain is a master signing key, derived from the raw seed phrase.

When a user creates a new account or restores their account on a new device, the app needs to derive the master signing key from the seed phrase, and store it in a local vault. This local vault uses a device specific password to lock / unlock access.

GIVEN a new user in the 'get started' workflow WHEN user click 'get your keychain now" THEN generate new seed phrase AND show to user AND confirm user has right seed phrase AND WHEN user enters / confirms "unlock password" THEN derive master signing key from seed phrase AND encrypt with device password AND store in local vault

Children

Questions:

dtscalac commented 2 weeks ago

All building blocks to submit the RBAC transaction are in place. In the future when key derivation algorithm will be specified the temporary key derivation from #876 will be replaced by #813