← Back to Home

SimpleX Chat: The Messaging Platform Without User Identifiers

SimpleX Chat: The Messaging Platform Without User Identifiers

Most messaging apps claim to protect your privacy, but they all share one fundamental flaw: they assign you a persistent identifier — a phone number, username, email, or even a random ID. This identifier lets the platform (and any attacker who compromises it) map your social graph, track your activity, and correlate your communications.

SimpleX Chat eliminates this vulnerability completely. It is the first messaging network that operates without any user identifiers whatsoever — not even random numbers. Every message is delivered via a unique, unidirectional queue address that exists only for the duration of a single conversation.

What is SimpleX Chat?

SimpleX Chat is a privacy-first, end-to-end encrypted messaging platform built on the SimpleX Messaging Protocol (SMP). With 16,900+ GitHub stars and a rapidly growing user base, it offers:

  • Zero identifiers — no phone number, username, email, or random ID required
  • Double Ratchet E2EE — Signal Protocol encryption with an additional encryption layer
  • Metadata protection — the server doesn't know who is talking to whom
  • Self-hostable relays — run your own SMP server and stay in control
  • Multi-platform — iOS, Android, desktop CLI, and terminal app
  • Tor support — route traffic through Tor for enhanced anonymity
  • File sharing — via the optional XFTP file transfer protocol

The platform is written in Haskell (server) with client apps in Swift (iOS), Kotlin (Android), and Haskell (terminal/CLI).

Why is it Trending?

In an era where metadata surveillance and data breaches are the norm, SimpleX's radical approach to privacy resonates deeply. Unlike Signal (which binds you to a phone number), Telegram (username-based), or Matrix (domain-based addresses), SimpleX offers true identity-free communication.

The platform completed a Trail of Bits security audit and is recommended by Privacy Guides and Whonix. In 2026, as privacy regulations tighten and surveillance concerns grow, SimpleX has become the gold standard for truly private messaging.

Architecture Overview

SimpleX Chat Architecture

Core Components

  • SMP Relay Servers — Lightweight message relays that temporarily hold encrypted messages in unidirectional queues. They do NOT store user accounts, require no authentication beyond queue authorization, and have no knowledge of user identities.
  • Client Applications — iOS, Android, and desktop/terminal clients that generate queue addresses locally and manage encryption keys. All data lives on the client device, not the server.
  • XFTP File Servers — Optional relay servers for file attachments, running the same no-identifier model as the SMP servers.
  • Out-of-Band Key Exchange — Instead of a central directory, users share a one-time link or QR code (in person, over a video call, or via any channel they trust) to establish a connection.

How Messages Flow

  1. User A creates a unique message queue on an SMP server and generates a one-time invitation link containing the queue address and encryption key.
  2. User A sends this invitation link to User B via an out-of-band channel (QR code, link, in person).
  3. User B uses the queue address to send encrypted messages to User A. User A reads from the queue.
  4. For the reverse direction, User B creates their own queue and shares the address with User A through the established encrypted connection.
  5. Each direction has its own unidirectional queue — the server only sees encrypted blobs with no identifiers.

This design makes network-wide attacks impossible. Even if one SMP server is compromised, only messages passing through that server are affected, and affected clients can seamlessly move to other servers.

Prerequisites

To follow this tutorial, you'll need:

  • A VPS (any Linux server, 1 GB RAM minimum, 10 GB storage)
  • A domain name pointed at your VPS (smp1.yourdomain.com)
  • Docker and Docker Compose installed on the server
  • Basic familiarity with the Linux command line and firewall configuration (ufw)

Self-Hosting an SMP Relay Server

SimpleX offers three ways to deploy an SMP server: Docker, installation script, and manual setup. We'll cover Docker — the simplest approach.

Step 1: Configure DNS and Firewall

Point an A record for smp1.yourdomain.com to your VPS IP address. Then open the required ports:

ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 5223/tcp
ufw enable

Port 5223 is the default SMP server port. Ports 80 and 443 are used for TLS certificate provisioning via Let's Encrypt (handled automatically by the Docker image).

Step 2: Create Persistent Directories

mkdir -p $HOME/simplex/smp/config $HOME/simplex/smp/logs
mkdir -p $HOME/simplex/xftp/config $HOME/simplex/xftp/logs $HOME/simplex/xftp/files

Step 3: Run the SMP Server

Replace smp1.yourdomain.com with your actual server domain:

docker run -d \
--name smp-server \
-e "ADDR=smp1.yourdomain.com" \
-p 5223:5223 \
-v $HOME/simplex/smp/config:/etc/opt/simplex:z \
-v $HOME/simplex/smp/logs:/var/opt/simplex:z \
simplexchat/smp-server:latest

Optionally, add -e "PASS=your_password" to password-protect the server via the control port.

Step 4: Verify the Server is Running

docker logs smp-server

You should see output indicating the server is initialized and listening on port 5223. The server automatically provisions a Let's Encrypt certificate using the domain you provided.

Running an XFTP File Server (Optional)

If you want file sharing support, run the XFTP server alongside the SMP server:

docker run -d \
--name xftp-server \
-e "ADDR=smp1.yourdomain.com" \
-e "QUOTA=50G" \
-p 443:443 \
-v $HOME/simplex/xftp/config:/etc/opt/simplex-xftp:z \
-v $HOME/simplex/xftp/logs:/var/opt/simplex-xftp:z \
-v $HOME/simplex/xftp/files:/srv/xftp:z \
simplexchat/xftp-server:latest

Set QUOTA to the maximum file storage you want to allocate (e.g., 10G, 50G, 100G).

Configuring the SimpleX Chat App

Once your SMP server is running, configure your SimpleX Chat app to use it:

  1. Open SimpleX Chat on your device
  2. Go to SettingsNetwork & ServersSMP Servers
  3. Tap Add Server and enter: smp1.yourdomain.com:5223
  4. The app will verify the connection and add the server to the rotation

All new contacts will now use your self-hosted server by default. Existing contacts can be migrated manually via the "Change receiving address" option in each contact's profile.

Verification Checklist

  • SMP server is running: docker ps | grep smp-server
  • Port 5223 is reachable: telnet smp1.yourdomain.com 5223
  • TLS certificate is valid: curl -vI https://smp1.yourdomain.com:8443
  • SimpleX Chat app connects to your custom server
  • You can send and receive messages through your server
  • (Optional) XFTP server is running and file attachments work

Comparison: SimpleX vs Other Messengers

  • User identifiers: SimpleX = None, Signal = Phone number, Telegram = Username, Matrix = Domain address
  • E2EE by default: SimpleX = Yes, Signal = Yes, Telegram = No (secret chats only), Matrix = Optional
  • Metadata privacy: SimpleX = Complete, Signal = Partial, Telegram = None, Matrix = Partial
  • Self-hostable: SimpleX = Yes, Signal = No, Telegram = No, Matrix = Yes
  • Network structure: SimpleX = Decentralized, Signal = Centralized, Telegram = Centralized, Matrix = Federated
  • No single point of attack: SimpleX = Yes, Signal = No, Telegram = No, Matrix = DNS-dependent

Resources

← Retour à l'Accueil

SimpleX Chat : La Messagerie Sans Identifiants Utilisateurs

SimpleX Chat : La Messagerie Sans Identifiants Utilisateurs

La plupart des applications de messagerie prétendent protéger votre vie privée, mais elles partagent toutes une faille fondamentale : elles vous attribuent un identifiant persistant — numéro de téléphone, nom d'utilisateur, email, ou même un identifiant aléatoire. Cet identifiant permet à la plateforme (et à tout attaquant qui la compromet) de cartographier votre réseau social, suivre votre activité et corréler vos communications.

SimpleX Chat élimine complètement cette vulnérabilité. C'est le premier réseau de messagerie qui fonctionne sans aucun identifiant utilisateur — pas même de nombres aléatoires. Chaque message est délivré via une adresse de file d'attente unidirectionnelle unique qui n'existe que pour la durée d'une seule conversation.

Qu'est-ce que SimpleX Chat ?

SimpleX Chat est une plateforme de messagerie chiffrée de bout en bout, conçue pour la confidentialité, construite sur le protocole SimpleX Messaging Protocol (SMP). Avec plus de 16 900 étoiles GitHub et une base d'utilisateurs en pleine croissance, elle offre :

  • Zéro identifiant — pas de numéro de téléphone, nom d'utilisateur, email ou identifiant aléatoire
  • Chiffrement Double Ratchet — protocole Signal avec une couche de chiffrement supplémentaire
  • Protection des métadonnées — le serveur ne sait pas qui parle à qui
  • Relais auto-hébergeables — lancez votre propre serveur SMP et gardez le contrôle
  • Multi-plateforme — iOS, Android, CLI desktop et application terminal
  • Support Tor — acheminez le trafic via Tor pour une anonymisation renforcée
  • Partage de fichiers — via le protocole optionnel XFTP

La plateforme est écrite en Haskell (serveur) avec des applications clientes en Swift (iOS), Kotlin (Android) et Haskell (terminal/CLI).

Pourquoi est-ce Tendance ?

À une époque où la surveillance des métadonnées et les fuites de données sont la norme, l'approche radicale de SimpleX en matière de confidentialité résonne profondément. Contrairement à Signal (lié à un numéro de téléphone), Telegram (basé sur un nom d'utilisateur) ou Matrix (adresses basées sur un domaine), SimpleX offre une communication véritablement sans identité.

La plateforme a complété un audit de sécurité Trail of Bits et est recommandée par Privacy Guides et Whonix. En 2026, alors que les réglementations sur la vie privée se durcissent et que les préoccupations de surveillance grandissent, SimpleX est devenu la référence pour les communications véritablement privées.

Architecture

Architecture SimpleX Chat

Composants Principaux

  • Serveurs Relais SMP — Relais légers qui stockent temporairement les messages chiffrés dans des files d'attente unidirectionnelles. Ils ne stockent PAS de comptes utilisateurs, n'exigent aucune authentification au-delà de l'autorisation de file d'attente, et n'ont aucune connaissance des identités des utilisateurs.
  • Applications Client — Clients iOS, Android et desktop/terminal qui génèrent localement les adresses de files d'attente et gèrent les clés de chiffrement. Toutes les données résident sur l'appareil du client, pas sur le serveur.
  • Serveurs de Fichiers XFTP — Serveurs relais optionnels pour les pièces jointes, fonctionnant selon le même modèle sans identifiant que les serveurs SMP.
  • Échange de Clés Hors Ligne — Au lieu d'un annuaire central, les utilisateurs partagent un lien à usage unique ou un QR code (en personne, par appel vidéo, ou via tout canal de confiance) pour établir une connexion.

Comment Circulent les Messages

  1. L'utilisateur A crée une file d'attente unique sur un serveur SMP et génère un lien d'invitation à usage unique contenant l'adresse de la file et la clé de chiffrement.
  2. L'utilisateur A envoie ce lien d'invitation à l'utilisateur B via un canal hors ligne (QR code, lien, en personne).
  3. L'utilisateur B utilise l'adresse de la file pour envoyer des messages chiffrés à l'utilisateur A. L'utilisateur A lit depuis la file d'attente.
  4. Pour la direction inverse, l'utilisateur B crée sa propre file et partage l'adresse avec l'utilisateur A via la connexion chiffrée établie.
  5. Chaque direction a sa propre file unidirectionnelle — le serveur ne voit que des blobs chiffrés sans aucun identifiant.

Cette conception rend les attaques à l'échelle du réseau impossibles. Même si un serveur SMP est compromis, seuls les messages passant par ce serveur sont affectés, et les clients concernés peuvent passer de manière transparente à d'autres serveurs.

Prérequis

Pour suivre ce tutoriel, vous aurez besoin de :

  • Un VPS (serveur Linux, 1 Go de RAM minimum, 10 Go de stockage)
  • Un nom de domaine pointant vers votre VPS (smp1.votredomaine.com)
  • Docker et Docker Compose installés sur le serveur
  • Une familiarité de base avec la ligne de commande Linux et la configuration du pare-feu (ufw)

Auto-Hébergement d'un Serveur Relais SMP

SimpleX propose trois méthodes pour déployer un serveur SMP : Docker, script d'installation et configuration manuelle. Nous allons couvrir Docker — l'approche la plus simple.

Étape 1 : Configurer le DNS et le Pare-feu

Créez un enregistrement A pour smp1.votredomaine.com pointant vers l'adresse IP de votre VPS. Ouvrez les ports requis :

ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 5223/tcp
ufw enable

Le port 5223 est le port par défaut du serveur SMP. Les ports 80 et 443 sont utilisés pour la configuration automatique des certificats TLS via Let's Encrypt (gérée automatiquement par l'image Docker).

Étape 2 : Créer les Répertoires Persistants

mkdir -p $HOME/simplex/smp/config $HOME/simplex/smp/logs
mkdir -p $HOME/simplex/xftp/config $HOME/simplex/xftp/logs $HOME/simplex/xftp/files

Étape 3 : Lancer le Serveur SMP

Remplacez smp1.votredomaine.com par votre domaine réel :

docker run -d \
--name smp-server \
-e "ADDR=smp1.votredomaine.com" \
-p 5223:5223 \
-v $HOME/simplex/smp/config:/etc/opt/simplex:z \
-v $HOME/simplex/smp/logs:/var/opt/simplex:z \
simplexchat/smp-server:latest

Optionnellement, ajoutez -e "PASS=votre_mot_de_passe" pour protéger le serveur par mot de passe via le port de contrôle.

Étape 4 : Vérifier que le Serveur Fonctionne

docker logs smp-server

Vous devriez voir une sortie indiquant que le serveur est initialisé et écoute sur le port 5223. Le serveur provisionne automatiquement un certificat Let's Encrypt en utilisant le domaine que vous avez fourni.

Lancer un Serveur de Fichiers XFTP (Optionnel)

Si vous souhaitez prendre en charge le partage de fichiers, lancez le serveur XFTP en parallèle du serveur SMP :

docker run -d \
--name xftp-server \
-e "ADDR=smp1.votredomaine.com" \
-e "QUOTA=50G" \
-p 443:443 \
-v $HOME/simplex/xftp/config:/etc/opt/simplex-xftp:z \
-v $HOME/simplex/xftp/logs:/var/opt/simplex-xftp:z \
-v $HOME/simplex/xftp/files:/srv/xftp:z \
simplexchat/xftp-server:latest

Définissez QUOTA sur le stockage maximal que vous souhaitez allouer (par exemple 10G, 50G, 100G).

Configurer l'Application SimpleX Chat

Une fois votre serveur SMP opérationnel, configurez votre application SimpleX Chat pour l'utiliser :

  1. Ouvrez SimpleX Chat sur votre appareil
  2. Allez dans ParamètresRéseau et ServeursServeurs SMP
  3. Appuyez sur Ajouter un serveur et entrez : smp1.votredomaine.com:5223
  4. L'application vérifiera la connexion et ajoutera le serveur à la rotation

Tous les nouveaux contacts utiliseront désormais votre serveur auto-hébergé par défaut. Les contacts existants peuvent être migrés manuellement via l'option "Modifier l'adresse de réception" dans le profil de chaque contact.

Liste de Vérification

  • Le serveur SMP fonctionne : docker ps | grep smp-server
  • Le port 5223 est accessible : telnet smp1.votredomaine.com 5223
  • Le certificat TLS est valide : curl -vI https://smp1.votredomaine.com:8443
  • L'application SimpleX Chat se connecte à votre serveur personnalisé
  • Vous pouvez envoyer et recevoir des messages via votre serveur
  • (Optionnel) Le serveur XFTP fonctionne et les pièces jointes fonctionnent

Comparaison : SimpleX vs Autres Messageries

  • Identifiants utilisateurs : SimpleX = Aucun, Signal = Numéro de téléphone, Telegram = Nom d'utilisateur, Matrix = Adresse de domaine
  • Chiffrement par défaut : SimpleX = Oui, Signal = Oui, Telegram = Non (chats secrets seulement), Matrix = Optionnel
  • Confidentialité des métadonnées : SimpleX = Totale, Signal = Partielle, Telegram = Aucune, Matrix = Partielle
  • Auto-hébergeable : SimpleX = Oui, Signal = Non, Telegram = Non, Matrix = Oui
  • Structure réseau : SimpleX = Décentralisé, Signal = Centralisé, Telegram = Centralisé, Matrix = Fédéré
  • Aucun point de défaillance unique : SimpleX = Oui, Signal = Non, Telegram = Non, Matrix = Dépendant du DNS

Ressources