Alias
October 8, 2021 ยท View on GitHub
An alias (also known as "room alias") is a string that identifies an internal user, designed to be short and human-friendly, similar to email addresses and Mastodon WebFinger addresses. The purpose of aliases is to improve the user experience of accurately (1) identifying the internal user and (2) locating the internal user at a room server for the purpose of establishing a connection with them.
As an example, suppose Alice is an internal user of the room "Scuttlebutt EU". The room's domain is scuttlebutt.eu and Alice's alias is alice. Alice's alias endpoint is thus alice.scuttlebutt.eu.
In short,
- Anyone can access an alias web endpoint
- Internal users can register and revoke their aliases
- Internal users and external users who visit a target user's alias endpoint can consume it in order to connect with the target internal user
- Room admins have read/write access to the alias database but can't add cryptographically valid entries since they are signed by the owner
- Moderators can remove alias entries from the alias database