Skip to main content

E2ee scheme

As describes in the whitepaper, addressing is used to specify an end point for end-to-end encryption(E2EE). A registered user is identified by userId@domain which confirms by the experience of using e-mail. The difference is that user can have several devices, a meaningful end poind for E2EE will be addressed likes:

User e2ee address (with deviceId)


e2ee:${userId}@${domain};device=${deviceId}

This address designates an endpoint for the user identified by userId, including the corresponding deviceId, which is associated with a domain. It is used for sending or receiving end-to-end encrypted E2EE messages with a specific user's device.

User e2ee address (without deviceId)


e2ee:${userId}@${domain}

This address designates a generalized endpoint for the user identified by userId, omitting the deviceId, which is associated with a domain. It is used to identify message sender/receiver or group member for the cases neglecting which device is used.

Group e2ee address


e2ee:${domain};group=${groupId}

This address designates a generalized endpoint for a group identified by groupId, which is associated with a domain. It is used to identify destination of group message.


e2ee:${domain};invite=${code}

This address serves as an invitation for someone who can use this URI to add the inviter, who is associated with a domain, as a friend.