Brief summary of key security and performance aspects
The xx messenger unlinks sender and recipient data and protects against traffic-analysis attacks that undermine many other privacy approaches found in onion routing, proxies, and other mixnets. All messages are routed through a decentralized batch mixnet managed by a blockchain. Five node teams are randomly assembled and assigned to process a batch every third second, all of which would need to be compromised in order to break sender-receiver unlinkability. You can read more about this process from our What is cMix? wiki page.
Each message in the xx messenger is encrypted with XChaCha20 symmetric encryption. The encryption is quantum secured by using encryption keys derived from a combination of a Supersingular Isogeny Diffie–Helman (SIDH) 3024 bit algorithm for post-quantum key exchange and the classic Diffie–Helman (DH) 3072 bit algorithm. The xx messenger also provides forward secrecy and post-compromise security with a periodic re-keying mechanism in a process sometimes known as ratcheting.
A full explanation of End-to-End encryption, with links to relevant source code, is available on our wiki here: End-to-End Encrypted Messaging in xx Messenger.
Notice – 7/30/2022: SIDH has been found to be vulnerable conventionally as of 7/30/2022. Details can be found here. The team is working on a fix.
We use a 256 bit keyed hash message authentication code, HMAC-SHA256 in the xx messenger.
Users can choose to build out their profile by adding and registering their email address or phone number. We use Twilio, a third-party service, to complete the verification process over e-mail or phone with SMS messages. Once the user confirms their verification code, a salted hash (256 bit Blake2b) of their email or phone number is stored in the database. The xx messenger protects users’ personal information and never stores unencrypted plain text on any servers.
Users can choose to use only their unique username through user discovery. They can also directly use QR codes to bypass the User Discovery service entirely.
A full description of User discovery is available on the wiki: User Discovery
We use android or IOS firebase when the mobile app is closed. However, not all messages are real, thereby obscuring who gets which notifications. You can read more about our privacy preserving notifications system here on our wiki: ID Collisions and Notifications
Typically, messages sent with xx messenger travel through the network in a few seconds. You can see which teams are processing messages and how fast they process them at the dashboard: https://dashboard.xx.network
We use 256 bit XChaCha20 symmetric encryption with a key derived from a password provided by the user for backups.
xx Foundation does not distribute, offer, solicit sales of, or sell any xx coins in any state or jurisdiction in which such a distribution, offer, solicitation or sale would be unlawful prior to registration or qualification under the securities laws of any such state or jurisdiction.
Copyright © 2022 xx Foundation
Cookie | Duration | Description |
---|---|---|
_ga | 2 years | The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors. |
_gat_UA-130126130-8 | 1 minute | A variation of the _gat cookie set by Google Analytics and Google Tag Manager to allow website owners to track visitor behaviour and measure site performance. The pattern element in the name contains the unique identity number of the account or website it relates to. |
_gid | 1 day | Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously. |
CONSENT | 2 years | YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data. |
Cookie | Duration | Description |
---|---|---|
__cf_bm | 30 minutes | This cookie, set by Cloudflare, is used to support Cloudflare Bot Management. |
__hssc | 30 minutes | HubSpot sets this cookie to keep track of sessions and to determine if HubSpot should increment the session number and timestamps in the __hstc cookie. |
__hssrc | session | This cookie is set by Hubspot whenever it changes the session cookie. The __hssrc cookie set to 1 indicates that the user has restarted the browser, and if the cookie does not exist, it is assumed to be a new session. |
__hstc | 1 year 24 days | This is the main cookie set by Hubspot, for tracking visitors. It contains the domain, initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session). |
aka_debug | session | Vimeo sets this cookie which is essential for the website to play video functionality. |
guest_id | 2 years | This cookie is set by Twitter to identify and track the website visitor. |
guest_id_ads | 2 years | This cookie is set by Twitter to identify and track the website visitor. |
guest_id_marketing | 2 years | This cookie is set by Twitter to identify and track the website visitor. |
hubspotutk | 1 year 24 days | HubSpot sets this cookie to keep track of the visitors to the website. This cookie is passed to HubSpot on form submission and used when deduplicating contacts. |
mbox | 2 years |
This cookie is for marketing on developer.twitter.com
|
muc_ads | 2 years | Twitter sets this cookie for tracking and targeting purposes. |
personalization_id | 2 years | Twitter sets this cookie to integrate and share features for social media and also store information about how the user uses the website, for tracking and targeting. |
player | 1 year | Vimeo uses this cookie to save the user's preferences when playing embedded videos from Vimeo. |
sync_active | never | This cookie is set by Vimeo and contains data on the visitor's video-content preferences, so that the website remembers parameters such as preferred volume or video quality. |
vuid | 2 years | Vimeo installs this cookie to collect tracking information by setting a unique ID to embed videos to the website. |