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

Option to disable e2e-encryption #292

Open
djschilling opened this issue Feb 23, 2021 · 11 comments
Open

Option to disable e2e-encryption #292

djschilling opened this issue Feb 23, 2021 · 11 comments
Labels
A-E2EE O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Enhancement X-Needs-Product More input needed from the Product team

Comments

@djschilling
Copy link

djschilling commented Feb 23, 2021

I would like to have an option to disable all e2e-encryption gui features.

Background

We develop a custom matrix client that ships in our app. Currently it does not support e2e-encryption. We have planned to support it but its a big task and so it will take some time to get it done.
We also want our customers to be able to use element-web in their browser to have a good desktop experience.
After logging in to element-web the first thing it shows is the setup process for e2e-encryption which is not needed for our customers at the moment.
Additional they can create new rooms which are e2e encrypted which then cannot be displayed in our app.

Possible solutions

Server side

Add an option to the file .well-known/matrix/client which tells clients to not show e2e-encryption.
Every client could then react to this flag.

Client side

Add a config option to element-web to disable e2e-encryption.

Related issues

Pull Request

matrix-org/matrix-react-sdk#5652

@theCalcaholic
Copy link

theCalcaholic commented Feb 23, 2021

Tbh, I don't feel comfortable with the idea that my homeserver can disable e2e encryption for my client...

I'd be more okay with something like that if it is the client instance that needs to be adjusted (via config) - so either in the config file for the desktop app or during deployment when hosting an element web instance

@djschilling
Copy link
Author

@theCalcaholic I am also fine with the client side solution.

I created this pr for the client side solution: matrix-org/matrix-react-sdk#5652

@jryans jryans added A-E2EE X-Needs-Product More input needed from the Product team labels Mar 5, 2021
@jryans
Copy link

jryans commented Mar 5, 2021

After logging in to element-web the first thing it shows is the setup process for e2e-encryption which is not needed for our customers at the moment.

This should only be the case once you join your first encrypted room. Are you seeing it before that point?

@djschilling
Copy link
Author

@jryans i just tested it on https://app.element.io/ and i also see it there. i don't have an encrypted room:

Bildschirmfoto 2021-03-11 um 09 13 17

And that is not the only e2e encryption thing showing up.
As mentioned in the issue above people can also create encrypted rooms even without an encrypted store ready to use:

Bildschirmfoto 2021-03-11 um 09 17 05

@jryans
Copy link

jryans commented Apr 20, 2021

i don't have an encrypted room:

Ah right, I had been think of the toasts inside the app. At the moment, we show verification post-login all the time to ensure sessions are ready for a future encrypted room, but agreed that's a bit confusing for certain use cases. I filed element-hq/element-web#17015 to capture this part.

people can also create encrypted rooms even without an encrypted store ready to use

Yes, anyone can create encrypted rooms. What's an "encrypted store"? Whatever it is, I don't think it's needed to make an encrypted room...

In general, I think it would be better to try focusing on each of the issues you're seeing here, and working towards solutions for them, rather than trying to just turn off encryption features.

@djschilling
Copy link
Author

Yes, anyone can create encrypted rooms. What's an "encrypted store"? Whatever it is, I don't think it's needed to make an encrypted room...

The cryptoStore seems to be necessary to use e2e-encryption features in element. Here it is initialized: https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/utils/createMatrixClient.js#L63

In my pull request i disabled the crypto store with this line: Matrix.setCryptoStoreFactory(() => null);.

This disables most of the places in element where e2e-encryption things show up. The remaining things i hided in my pull request: https://github.com/matrix-org/matrix-react-sdk/pull/5652/files#diff-efcfb7be43beec91671ff68819c04b72eacaa80a7a2f83474ecca8a3c0fd8974R218 Example in file src/components/views/dialogs/CreateRoomDialog.js

In general, I think it would be better to try focusing on each of the issues you're seeing here, and working towards solutions for them, rather than trying to just turn off encryption features.

The issue i am having is that e2e encryption things are showing up in the ui. The client that we are using does not support e2e-encryption yet as described in the issue description. So this is the issue and i don't know on which other things i should focus on. If you think there is a better solution here i would be glad to try it out.

@kittykat kittykat added O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Major Severely degrades major functionality or product features, with no satisfactory workaround labels Aug 17, 2021
@t3chguy t3chguy transferred this issue from element-hq/element-web May 23, 2022
@Mogaba
Copy link

Mogaba commented May 26, 2023

So is there a way to stop the encryption stuff from showing up in the browser version?

@Mogaba
Copy link

Mogaba commented May 31, 2023

@Mogaba https://github.com/vector-im/element-web/blob/develop/docs/e2ee.md#disabling-encryption-by-default https://github.com/vector-im/element-web/blob/develop/docs/config.md#ui-features

Thanks, I tried it, but it still shows "Unable to verify this device" on login. Also, I'm not sure if this is related, but I'm unable to create a key or a passphrase, the following error shows up: "Unable to set up secret storage".

@t3chguy
Copy link
Member

t3chguy commented May 31, 2023

Please send logs, without those there's not much insight

@lunera-dev
Copy link

Yes, anyone can create encrypted rooms. What's an "encrypted store"? Whatever it is, I don't think it's needed to make an encrypted room...

The cryptoStore seems to be necessary to use e2e-encryption features in element. Here it is initialized: https://github.com/matrix-org/matrix-react-sdk/blob/develop/src/utils/createMatrixClient.js#L63

In my pull request i disabled the crypto store with this line: Matrix.setCryptoStoreFactory(() => null);.

This disables most of the places in element where e2e-encryption things show up. The remaining things i hided in my pull request: https://github.com/matrix-org/matrix-react-sdk/pull/5652/files#diff-efcfb7be43beec91671ff68819c04b72eacaa80a7a2f83474ecca8a3c0fd8974R218 Example in file src/components/views/dialogs/CreateRoomDialog.js

In general, I think it would be better to try focusing on each of the issues you're seeing here, and working towards solutions for them, rather than trying to just turn off encryption features.

The issue i am having is that e2e encryption things are showing up in the ui. The client that we are using does not support e2e-encryption yet as described in the issue description. So this is the issue and i don't know on which other things i should focus on. If you think there is a better solution here i would be glad to try it out.

Did you make any progress on removing/disabling E2EE?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-E2EE O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Enhancement X-Needs-Product More input needed from the Product team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants