Une messagerie conçue pour résister aux menaces actuelles et futures. Pas de numéro, pas d'email, pas de carnet de contacts. Juste vos messages, chiffrés de bout en bout sur votre appareil.
A messenger built to resist today's and tomorrow's threats. No phone number, no email, no address book. Just your messages, end-to-end encrypted on your device.
La plupart des messageries promettent la confidentialité, puis vous demandent votre numéro de téléphone, scannent votre carnet de contacts, suivent votre activité, et stockent des métadonnées qui révèlent qui parle à qui, quand et où — même si elles ne lisent pas le contenu.
Ghostr part d'un autre principe : les meilleures données sont celles qu'on ne collecte jamais. Pas d'identifiant lié à votre vie réelle. Pas de carnet de contacts uploadé. Pas de graphe social reconstructible. Pas de métadonnées d'appel. Pas même la possibilité, pour le développeur, de savoir si vous utilisez l'application aujourd'hui.
Ce niveau d'anonymat ne vient pas d'une simple promesse. Il est imposé par l'architecture : le chiffrement de bout en bout empêche le développeur de lire les messages, le Sealed Sender empêche le serveur de savoir qui envoie, le routage OHTTP split-trust empêche un acteur unique de corréler IP et contenu, le trafic constant avec décoys masque l'activité — et le tout repose sur des protocoles cryptographiques résistants aux ordinateurs quantiques de demain.
Most messengers promise confidentiality, then ask for your phone number, scan your contacts, track your activity, and store metadata revealing who talks to whom, when, and where — even when they don't read content.
Ghostr starts from another principle: the best data is data you never collect. No identifier tied to your real life. No uploaded contact list. No reconstructable social graph. No call metadata. Not even the ability, for the developer, to know whether you're using the app today.
This level of anonymity isn't a promise — it's enforced by architecture: end-to-end encryption keeps the developer from reading messages, Sealed Sender keeps the server from learning who sent, OHTTP split-trust keeps any single party from correlating IP and content, constant traffic with decoys masks activity — all on top of cryptographic protocols resistant to tomorrow's quantum computers.
De la création de votre profil au chiffrement d'un message, voici exactement ce qui se passe — et ce qui ne se passe pas.
From profile creation to message encryption, here's exactly what happens — and what doesn't.
Vous choisissez un pseudonyme et un mot de passe. Une paire de clés Ed25519 + X25519 est générée localement. Rien n'est envoyé au serveur.
Pick a pseudonym and a password. An Ed25519 + X25519 keypair is generated locally. Nothing is sent to the server.
Pour parler à quelqu'un, vous lui envoyez un lien d'invitation à usage unique (par tout canal). Au premier message, un échange PQXDH établit une session post-quantique.
To talk to someone, send a one-time invitation link (any channel). On first message, a PQXDH handshake establishes a post-quantum session.
Chaque message a une clé unique, mélangée avec un secret post-quantique (ML-KEM-768) qui change tous les 50 messages. Compromettre une clé ne révèle ni le passé, ni l'avenir.
Every message has a unique key, mixed with a post-quantum secret (ML-KEM-768) rotated every 50 messages. Compromising one key reveals neither past nor future.
Le message chiffré transite via OHTTP : Cloudflare voit votre IP mais pas le contenu, le Gateway voit le contenu mais pas votre IP. Aucun acteur ne peut corréler les deux.
The encrypted message transits via OHTTP: Cloudflare sees your IP but not the content, the Gateway sees the content but not your IP. No party can correlate both.
Chaque couche a une raison d'exister : forward secrecy, post-compromise security, résistance quantique, anonymat de l'expéditeur, dissociation IP/contenu, anti-traçage passif. Voici la pile complète, telle qu'elle tourne sur votre appareil.
Each layer exists for a reason: forward secrecy, post-compromise security, quantum resistance, sender anonymity, IP/content unlinkability, passive-tracking resistance. Here is the full stack, as it runs on your device.
DH1..DH4) combinés à une encapsulation ML-KEM.
Le secret partagé final mélange les deux mondes — sécurité classique aujourd'hui,
résistance quantique demain.
DH1..DH4) combined with an ML-KEM encapsulation.
The final shared secret mixes both worlds — classical security today,
quantum resistance tomorrow.
m=64 MiB, t=3, p=1.
Cela rend une attaque par force brute massivement coûteuse, même sur GPU.
m=64 MiB, t=3, p=1. This makes
brute-force attacks massively expensive, even on GPU.
256 B, 1 KB, 4 KB, 16 KB,
64 KB, puis arrondi au multiple de 64 KB pour les fichiers.
256 B, 1 KB,
4 KB, 16 KB, 64 KB, then to the next 64 KB
for larger files.
Chaque saut a un rôle précis. Aucun saut ne voit assez pour vous identifier.
Every hop plays a precise role. No hop sees enough to identify you.
Aucun acteur unique de la chaîne ne dispose des informations nécessaires pour vous identifier ou lire vos messages. Voici la liste exhaustive.
No single party in the chain has enough information to identify you or read your messages. Here is the exhaustive breakdown.
| Donnée | Cloudflare | Gateway | Supabase | FCM / APNs |
|---|---|---|---|---|
| Data | Cloudflare | Gateway | Supabase | FCM / APNs |
| Votre adresse IP | VOIT | AVEUGLE | AVEUGLE | AVEUGLE |
| Contenu du message | AVEUGLE | AVEUGLE | AVEUGLE | AVEUGLE |
| Identité de l'expéditeur | AVEUGLE | AVEUGLE | AVEUGLE | AVEUGLE |
| Tag destinataire (pseudonyme) | AVEUGLE | VOIT | VOIT | AVEUGLE |
| Push token natif (FCM/APNs) | AVEUGLE | AVEUGLE | AVEUGLE | VOIT (effacé) |
| Métadonnées d'appel | AVEUGLE | AVEUGLE | AVEUGLE | AVEUGLE |
| Carnet de contacts / vrai nom | AVEUGLE | AVEUGLE | AVEUGLE | AVEUGLE |
| Your IP address | SEES | BLIND | BLIND | BLIND |
| Message content | BLIND | BLIND | BLIND | BLIND |
| Sender identity | BLIND | BLIND | BLIND | BLIND |
| Recipient tag (pseudonym) | BLIND | SEES | SEES | BLIND |
| Native push token | BLIND | BLIND | BLIND | SEES (erased) |
| Call metadata | BLIND | BLIND | BLIND | BLIND |
| Contact list / real name | BLIND | BLIND | BLIND | BLIND |
Honnêteté radicale. Aucune messagerie ne peut tout protéger ; voici les limites explicites du modèle.
Radical honesty. No messenger can protect everything; here are the explicit boundaries of the model.
Tous les protocoles utilisés par Ghostr sont publics, audités, et issus de la recherche académique récente ou de standards. Aucun « secret sauce ».
Every protocol Ghostr uses is public, audited, and drawn from recent academic research or established standards. No "secret sauce".
Hybrid X3DH with post-quantum KEM
Module-Lattice KEM (CRYSTALS-Kyber)
Sparse Post-Quantum Ratchet construction
Two-hop privacy-preserving routing
Anonymous sender with HMAC certificates
Password-based KDF, OWASP recommended
Téléchargez Ghostr, choisissez un pseudonyme, et redécouvrez ce que ça fait d'écrire un message qui n'appartient qu'à son destinataire.
Download Ghostr, pick a pseudonym, and rediscover what it feels like to write a message that belongs only to its recipient.