matrix-org / matrix-org/matrix-spec
Add E2EE-Off Config to matrix spec
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
End to End Encryption is complex and confusing for the average user. If a user doesn't understand all of the implications it is very easy for data to get locked behind encryption and inaccessible to the user.
In a business/corporate setting using a closed off non-federating server having data locked out in this manner is a deal breaker. Business policy can require data to remain accessible to the appropriate people at all times. As well as the support headache of having users getting locked out of business data with no way to rectify the problem.
Currently synapse has no official method to disable E2E Encryption https://github.com/matrix-org/synapse/issues/4401
The current workarounds to my knowledge are block the encryption calls with a reverse proxy and/or modify the default room power levels for enabling encryption https://github.com/matrix-org/synapse/issues/4367
Both result in errors being displayed to the user and IMO are fragile solutions.
After several discussions I have determined that people agree this is something that needs to be configurable and should be dealt with at the spec level so that it can be handled appropriately at every level.
I propose adding an option to the synapse server config that fully disables encryption and cross signing. This variable could then be communicated to the clients which would then in turn hide the encryption settings making for a seamless user experience. This variable could benefit from being non binary. ie. Have 4 options: enforced off, default off, default on, enforced on. This should cover the wide range of applications for a private server.
I apologize I didn't use the spec proposal process, I am not a developer and that process is far to complex for me to complete.
Another reference https://github.com/vector-im/riot-web/issues/13537
Contributor guide
Research direction
Start with the Matrix spec proposal process, then review the linked Synapse issues 4401 and 4367 and the Riot Web issue 13537 for existing constraints and prior discussion. Done means a spec-level definition exists for the configurable encryption behavior, including how servers communicate it and how clients present the resulting settings.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100