Onboarding
Vault generation and SafleID registration on Blockchain
User selects a SafleID of choice
User enters a password
Client application generates PDKeyHash, encryptedEncryption key with users inputs.
Client application generates a random 64 bytes string. This is stored as encryption key.
Client application generates PDKey using SafleID & password using pbkdf2 algorithm
Client application hashes PDKey using SHA512
Client application encrypts encryption key using PDKey using aes.cbc algorithm
Client application hashes plain password using PDKey using pbkdf2 algorithm
Send encrypted encryption key, hashed password and PDKeyHash to server
Client app initialises safle vault SDK
Installation, package import & initialisation: :
Client app generates 12 word seed phrase using Safle Vault
entropy
(optional) - The entropy used to generate the 12 word seed phrase. (Uses crypto.randomBytes under the hood). Defaults to 128-bits of entropy.
User enters 6 digit Pin used to encrypt private data and methods of vault. This pin is never stored on Safle’s end
Client app generates users vault.
encryptionKey
- 64 bytes Uint8Array used to encrypt the vault.pin
- The pin to access the vault's private functions.mnemonic
- The mnemonic to generate the vault from.
Register user’s safleID on blockchain - User’s safleID is registered using safle relayer where gas fee for the transaction is paid by safle registrars
💡The encrypted vault string is persisted in the mobiles keyring storage to access other wallet related operations.
Last updated