Open tim-seoss opened 4 years ago
Thanks for this thorough feedback. I'll circulate this with the Design team for review.
There may also be mileage in only performing the initial set up of the encryption related key backup etc. after the first time that the user exchanges an encrypted message with another user. This would have the advantages of:
There may also be mileage in only performing the initial set up of the encryption related key backup etc. after the first time that the user exchanges an encrypted message with another user.
On this point, fully agreed, and we have recently made this change as part of Element 1.7.8 released on 28 Sep.
Description
The current Element UI/UX makes it highly probable that Matrix/Element users will lose/forget their E2E key backup ("recovery") passphrase, resulting in permanent loss of data, and an extremely poor UX.
The root causes of the problem are:
The Element UI needs to take significant steps to overcome these psychological features, to stop user data loss (and reputational damage to Element/Matrix).
Steps to reproduce
This has happened to multiple users that I have assisted, and has resulted in all such users abandoning (and foreswearing) Matrix, so I think this is a very significant UX bug.
Factors which make this a high probability event
Previous experience with other online services teaches users to expect that they they will always be able to reset a forgotten password e.g. by requesting a "forgotten password" link to be emailed to them.
These two points combine to make the loss of the recovery passphrase commonplace, because the human brain is less likely to remember things which it has categorised as "unimportant" and/or "low risk".
Because this backup/recovery passphrase is not recoverable (by design, for security reasons), the loss of the passphrase, combined with the loss of the user's only Matrix client install (e.g. uninstallation, clearing browser stored data, corrupted storage due to filesystem full, loss or erasure of their device), results in irreversible/catastrophic loss of access to historic messages.
Potential fixes include:
The "Signal" messenger implements the same double-ratchet E2E encryption scheme as Matrix (Olm), and has faced the same problems. The adopted solution is roughly:
Some time period after first setting the recovery passphrase (e.g. 5 minutes), the user gets a prompt checking that they know the passphrase, and reinforcing that this is a potentially serious issue if they don't.
If they fail to remember it, they have an opportunity to create a new backup (with a new passphrase) - presumably this is also possible at this stage, since any E2E message keys are still resident in the Matrix client.
The reminder is repeated (at exponentially increasing intervals until an upper ceiling is reached, e.g. once per month) for active users
After
n
successful attempts, the user is given the option to skip/postpone an individual verification checkThe messages should be polite, simply worded, and crafted to emphasise the potential permanent loss of their data, to make the prompt less likely to be ignored (failing this, the user is less likely to blame Element / Matrix if they do suffer subsequent data loss).
The verification process should include an easily followed recovery process (e.g. creating a fresh backup and/or archiving the old backup in case the user later finds/recalls the lost passphrase).