element-hq / element-hq/element-web

Add warnings in logout dialog about implications on e2ee

Open
#26,795 0 comments 2 reactions 0 assignees View on GitHub
A-Logout T-Enhancement X-Needs-Design
Dominant language
TypeScript
Stars
13.5k
Forks
2.8k
PR merge metrics
PR metrics pending

Description

### Your use case

#### What would you like to do?

I would like to avoid occasional confusion and frustration with Element Web/Desktop due to users not being aware of the implications of a logout. In particular, I have encountered complaints about these aspects in GitHub issues:

* When a user has no active device left, messages can be sent to them but not decrypted. (https://github.com/element-hq/element-meta/issues/1894, https://github.com/element-hq/element-meta/issues/1893)
* When a user has no active device and lost all local key backups or forgot a server-side backup key or passphrase, they cannot decrypt any past messages either.
The dialog communicates the potential loss when there is no server-side backup. When there is, however, users might still lose their keys or forget their passphrases. Especially when they had set up the backup some time ago, users who do not use a password manager for these things are at risk of losing their messages. A warning might save them.
This has been mentioned in https://github.com/element-hq/element-meta/issues/310#issuecomment-1134916091 but I have not seen it discussed further, hence this issue.

#### How would you like to achieve it?

While not resolving the underlying UX / Security conflict, I believe a warning in the logout dialog is appropriate if this is the last logged-in device of a user, or the only one being used in some time, like a day / week / month.

This could be something along the lines of:

* "This is your only device \[used in the last *X time*\]. If you log out now, messages sent until you log in again might not be decryptable."
* "This is your only device \[used in the last *X time*\]. The next time you log in, you will need a local key backup or your security key. Please make sure you have the right key:", followed by an input box like the one in AccessSecretStorageDialog that checks a key.

![image](https://github.com/element-hq/element-web/assets/45318774/ccfde931-4477-4aa8-b1a4-f339d7adcd80)

### Have you considered any alternatives?

For our use case, users will be forced to log into our organization's HS by immediate SSO redirect and our workstations are trusted. In this setting, we also consider hiding the logout button completely with a new UIFeature config, but changing the logout dialog might be beneficial for a larger user base.

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.