Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recovery with seed phrase #1119

Open
adamstallard opened this issue Dec 10, 2022 · 1 comment
Open

Recovery with seed phrase #1119

adamstallard opened this issue Dec 10, 2022 · 1 comment

Comments

@adamstallard
Copy link
Member

adamstallard commented Dec 10, 2022

We offer social recovery and device recovery. Maybe the next option should be seed phrase recovery.

We can allow a user to auto-generate a one-time seed phrase which we can show the user one time, then ask if they've written it down, and then never show it again. If the user wants a new seed phrase they can request a new one and we can show it to them, and replace the previous one with the new one.

On the backend, we can create a new operation that registers the hash of a seed phrase. Each user can have only one at a time. If they register a new one, it replaces the old one.

Then recovery by seed-phrase can be another option in the "import" flow. The other option we already have is using an existing device to authorize the import. Either one will allow a new device with a new signing key to be registered and then set as primary. The user should create a new seed phrase at the end of the flow if they used a seed phrase to recover (since seed phrases are single use).

The backend needs an operation to add a new signing key when a user reveals the seed phrase that matches the hash. This can only be done once, and then the hash is marked as already used.

@adamstallard
Copy link
Member Author

adamstallard commented Oct 12, 2023

This could be an additional recovery method to device recovery and social recovery that anyone could opt into. People are used to "backup codes" or "recovery codes" so this is not new. Github, google, discord and others use them.

We could suggest for the user to store them in a password manager database.

Social recovery is still the most authoritative recovery method.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant