🆕 Software Suggestion | Matrix (Riot/Synapse) #1389
Description
Basic Information
Name: Matrix (Riot)
Category: RTC > Team Chat Platforms
URL: https://about.riot.im/
Name: Matrix (Synapse)
Category: RTC > ?
URL: https://matrix.org/docs/guides/installing-synapse
I think we need to mention Synapse specifically and encourage self-hosting over using the matrix.org homeserver, or really any public homeserver whenever possible. I don't know if this should be mentioned in the Riot listing, or if we should have a separate category for RTC servers.
Description
Since Riot was last reviewed, they have added a number of privacy-centric improvements. This is not a complete list, but these are issues we previously defined as major blockers:
- Redacted messages are now removed from the database. We need to actually censor redactions from the DB (SYN-284) matrix-org/synapse#1287
- Integration managers can now be easily controlled by the user. Store Integration Manager preferences in account data and allow user to change them somewhere sensible element-hq/element-web#10161
- The identity server now appears to be stored in account data, and more importantly can now be modified or removed in user settings. Store identity server in Account Data and support choosing identity server integration in User Settings element-hq/element-web#10094
There are a few unfixed issues, but I don't know if they are blockers to recommendation or not, so that's what I want to discuss here.
- Matrix seems to store a lot of unnecessary metadata redacted matrix-org/synapse#4565
- Edit: The majority of this issue appears to be addressed: redacted matrix-org/synapse#4565 (comment)
- Homeserver data does not expire https://github.com/matrix-org/matrix-doc/issues/447
- Edit: A fix for this issue has been designed and will soon be implemented: https://github.com/matrix-org/matrix-doc/issues/447#issuecomment-540321546
- Seeing as redactions are evidently erased I don't think this is a huge issue. This is a problem for HS admins who may not want to maintain data infinitely but it doesn't seem like a privacy problem to me. Even if this was implemented it would be up to the HS admins, and one HS could choose to store data infinitely anyways (i.e. users should not assume their data will ever be erased even after implementation),
- Media is never redacted When we redact events, any mxc content they refer to should be redacted too (SYN-216) matrix-org/synapse#1263
- Private contact discovery is not implemented Feature: Private Contact Discovery (discovery without servers learning your contacts list) element-hq/element-web#7649
- We have this listed as a blocker in #1049 but I don't see this as a major issue. This would be more of a useful feature. The privacy concern here is with using an IS, but that can now be easily disabled, correct?
- Edit: The functionality as described in this issue doesn't sound like it will be implemented, but it appears that a more privacy-friendly contact discovery method than the old method has been implemented: Feature: Private Contact Discovery (discovery without servers learning your contacts list) element-hq/element-web#7649 (comment)
Finally, there are a few more "major" concerns we've voiced that have not yet been fixed, but that I do not think are blockers at all.
- Matrix.org uses Cloudflare
- Services using Cloudflare has historically not been a blocker for recommendation. I personally don't see it as a "major" issue at all.
- End-to-End Encrypted chats are not really affected by this, and should be used whenever sensitive messages are being communicated.
- Finally, during this re-listing we definitely want to discourage the use of matrix.org anyways to promote decentralization.
Present an aggregated terms of service dialogue at registration if possible element-hq/element-web#10167: Present an aggregated terms of service dialogue at registration if possibleOperators of custom Riot servers can specify ToS, Privacy Notices, etc. inconfig.json
, no?- The functionality I wanted does exist, whoops!
Riot X identity server is not configurable. Login/register: allow to set home server and identity server urls element-hq/element-android#20For privacy reasons a hardcoded IS seems unacceptable, but is Riot X currently recommended for public use? I don't think we can judge the project based on an incomplete client.- In addition to being in beta, identity server functionality is not implemented at all.
All the other issues within https://github.com/privacytoolsIO/privacytools.io/issues/1049 are still important to monitor but I don't think the issues not mentioned above are blockers and are mostly small issues.
Anyhow, it seems clear to me that the Matrix team is at least committed to fixing their issues. For instant messengers I would still probably prefer Signal or Wire, but for a more public, large group chat use-case there does not appear to be any better alternatives to Matrix, especially from a privacy standpoint. This is why we still use it ourselves. It seems especially disingenuous to recommend XMPP over Matrix.
Also, I think that by advertising our group chat on Matrix without recommending Matrix itself we are both sending a mixed message and promoting centralization on our own server, by not demonstrating the alternatives (hosting it yourself).