-
Notifications
You must be signed in to change notification settings - Fork 987
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
Prevent 2 multiaccounts on the same phone with same seed #8750
Comments
i think we can't remove accounts now |
Yes, we don't support that afaik. |
When it comes to implementation it looks like this indeed relies on the option to Remove a non-keycard multiaccount which as @dmitryn added we don't support yet. Could this be an item for the Keycard backlog? Like the idea of what we can offer when we detect a multiaccount is being recovered that already exists. We probably want to communicate the account already exists and offer to change storage. I imagine this situation can occur in the following use cases:
I understand the last use case is what we want to prevent because it defeates the security of Keycard. Still, I would say we probably want to look for ways to accommodate, e.g. by allowing the the account on both Phone and Keycard, With transactions on the phone having a transaction limit. |
Ok thanks The simplest v1 short term approach could be
And in v1 backlog, we'll add a "migrate to keycard' feature for non-keycard accounts. The message in ii, will then become "You can't recover this key since it's already on the phone. If you wish to migrate this key to your Keycard go to .../"Migrate account to Keycard" |
@hesterbruikman @guylouis @dmitryn @corpetty
What if user forgot password or lost their card and still wants to use the app? I would suggest that we show an option to restore account but with removing all sensitive data (like chat history, contacts) if we consider that this data is sensitive. If user knows mnemonic they have control over acc anyway. Prohibition of recovering here doesn't really make sense as user still can re-install app and recover account without keycard. It will be inconvenient and annoying, but still doable. Also there are at least four different scenarios related to this "recover existing account" thing, lets say keycard is KCA and on-device account is ODA, we have:
In each case it might be acceptable to allow the user to restore the existing account, although it is still a question if we can give access to accountэы data stored on the device. I think that it has to be removed before restoring, but probably I'm missing something. The way how it works currently:
So my concern here is that we actually allow user to use a different card and get access to all data already existing on the device, when he hasn't provided neither old card nor password used before with this account. @yenda mentioned on discord that this is not an issue, but I'm not convinced yet. Though even if providing access to data is fine, we have to fix broken state after restoring, because everything works as expected only after-re-login.
imo we can allow this if user lost access to their card, but we need to make sure that no extra data I leaked.
Again, if user really wants to restore their acc, we should allow this (here it literally means changing password). But, no old password - no data. |
My suggestion on what we need now (v1) and a way forward: NOW (v1) the goal is to limit at the maximum the amount of work, while preserving our principles
so it gives: AFTER V1 A simple experience would be:m |
after discussion with @rachelhamlin closing this one and following v1 approach described above |
Relates to recovery #8687
Problem
A user can now recover a multiaccount on the phone or on a keycard.
For a given phone, a user can be in a situation where:
and the other way around:
This situation does not make sense from a usage and security point of view. It defeats the purpose of Keycard.
Solution
At recovery stage, prevent the user to recover a multiaccount already in his list.
Next step
Design error messages and/or indication we want to provide to the user
The simplest thing to do is to just prevent it
We can also explain to the user what's going on and guide him through next steps depending on its intent:
Question: can a user delete his non keycard multiaccount ?
cc @hesterbruikman @asemiankevich @dmitryn
The text was updated successfully, but these errors were encountered: