Restrict the rooms a guest can join
See original GitHub issueThe GNOME community would like to be a good citizen in the Matrix universe, and not be an entrypoint for spam to other instances/room. To do so, we will restrict registration, but we would love to open guest accounts instead. The main blocker is we can’t prevent guest accounts from spamming other instances.
Since rooms don’t belong to a single server but are distributed in the Matrix universe, it’s not possible to develop a feature like “guest accounts should not be able to leave the server”. An flexible way to achieve what we want would be to allow guest accounts to join rooms only if there already is a :gnome.org
alias bound to this room at the moment when they are trying to join. A less flexible (but maybe simpler?) way to do it would be to implement a room allow-list in homeserver.yaml
. Per my understanding, this is something the homeserver of the guest account needs to enforce and doesn’t require a specific MSC for that.
Issue Analytics
- State:
- Created 2 years ago
- Reactions:2
- Comments:12 (7 by maintainers)
It might be worth reevaluating this now that spaces are a thing, and sound like an interesting way to make this feature happen.
In the general case, it seems like this may be sufficiently addressed by the permissions of rooms themselves, which can specify whether or not guest accounts are allowed to join. This empowers room admins to choose a degree of openness/moderation that they’re comfortable with. In Gnome’s specific case, perhaps a custom spam checker module could be used to restrict specific actions at the homeserver level.
The Synapse team would be willing to evaluate a patch which prevented guests from initiating joins over federation, but we’ve not thought though the issue sufficiently to say whether or not we would merge it a priori.