Not Sure What to Work On?
The Department of Computer Science at Aalborg University has set a challenge to make differences in data handling more visible in Matrix.
Why not try to come up with a solution?
The Problem
Bridges let Matrix users talk with people on Telegram, Slack, Discord, and other platforms, which greatly extends Matrix's reach. When a message
crosses a bridge, it enters a system with different rules: it may be stored on the other platform's servers, kept longer than your own server's
retention policy allows, or be visible to people and services you didn't expect. Matrix already offers some hints that a room is bridged, such as
bridge information in room settings and recognizable bridged user accounts, but these mostly tell you that a bridge exists, not what it means for
your messages, and they are easy to miss. Different Matrix clients may also do different things with a message once it is decrypted, such as sending
a voice message to a third-party service for transcription, and the sender has no way of knowing.
The Challenge
How could Matrix conversations let people know when the conditions governing their messages change? Explore this from the user interface side, the protocol side, or both!
User Interface: How should this appear to users? For example, as a notice when a bridged participant joins, a marker on a profile, a label on individual messages, or a warning before sending.
Sketches, mockups, a proof of concept in an existing client, or a draft protocol proposal are all welcome.
Protocol: What would bridges and clients need to declare about how they handle messages (for example encryption, retention and deletion, and who else can access the content),
and how could that be expressed as an extension to Matrix?