7. Federation Glossary

Backend

A set of servers, databases and DNS configurations together forming one single Wire Server entity as seen from outside. This set of servers can be owned and administrated by different legal entities in different countries.

Sometimes also called a Wire “instance” or “server” or “Wire installation”. Every resource (e.g. users, conversations, assets and teams) exists and is owned by one specific backend, which we can refer to as that resource’s backend

Backend Domain

The domain of a backend, which is used to qualify the names and identifiers of resources (users, clients, groups, etc) that are local to a given backend.

Infrastructure Domain or Infra Domain

The domain under which the Federator of a given backend is reachable (via that backend’s Ingress) for other, remote backends.

Federation Ingress

Federation Ingress is the first point of contact of a given backend for other, remote backends. It also deals with the Authentication of incoming requests. See here for more information.

Federator

The Federator is the local point of contact for other backend components that want to make calls to remote backends. It is also the component that deals with the Authorization of incoming requests from other backends after they have passed the Federation Ingress. See here for more information.

Asset

Any file or image sent via Wire (uploaded to and downloaded from a backend).

Qualified User Identifier (QUID)

A combination of a UUID (unique on the user’s backend) and a domain.

Qualified User Name (QUN)

A combination of a name that is unique on the user’s backend and a domain. The name is a string consisting of 2-256 characters which are either lower case alphanumeric, dashes, underscores or dots. See here for the code defining the rules for user names. Note that in the wire-server source code, user names are called ‘Handle’ and qualified user names ‘Qualified Handle’.

Qualified Client Identifier (QDID)

A combination of a client identifier (a hash of the public key generated for a user’s client) concatenated with a dot and the QUID of the associated user.

Qualified Group Identifier (QGID)

The string backend-domain.com/groups/ concatenated with a UUID that is unique on a given backend.

Qualified Conversation Identifier (QCID)

The same as a QGID.

Qualified Team Identifier (QTID)

The string backend-domain.com/teams/ concatenated with a UUID that is unique on a given backend.

(User) Profile/Display Name

The profile/display name of a user is a UTF-8 encoded string with 1-128 characters.