element-hq / element-web

A glossy Matrix collaboration client for the web.
https://element.io
GNU Affero General Public License v3.0
11.23k stars 2k forks source link

Current UX design makes it highly probable that users will lose their recovery key (and thus their data). #15416

Open tim-seoss opened 4 years ago

tim-seoss commented 4 years ago

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:

jryans commented 4 years ago

Thanks for this thorough feedback. I'll circulate this with the Design team for review.

tim-seoss commented 4 years ago

13386 also forms a small subset of this issue I think.

tim-seoss commented 4 years ago

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:

jryans commented 4 years ago

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.