Pas de réseau mobile, pas de Wi-Fi, pas de compte : bitchat fait passer des messages de téléphone en téléphone par Bluetooth, et se rabat sur le protocole Nostr quand Internet est disponible. Annoncé en juillet 2025 par Jack Dorsey comme un projet de week-end, il a depuis gagné des versions numérotées, une application Android et un livre blanc en version 2.0. C’est une application open source encore jeune : à son lancement, son auteur reconnaissait qu’elle n’avait reçu aucune revue de sécurité externe, et son livre blanc admet que les métadonnées restent son point faible. Voici comment elle fonctionne, ce qu’elle ne garantit pas et ce qui existe à côté.
bitchat, c’est quoi ?
bitchat est une messagerie pair à pair publiée sur GitHub sous l’organisation permissionlesstech. Chaque téléphone joue à la fois le rôle de client et de relais : il repère les appareils voisins et retransmet leurs messages sur plusieurs sauts, jusqu’à 7 d’après le README. Le projet revendique l’absence de compte, de numéro de téléphone et de serveur central, et son auteur compare l’ambiance à celle d’IRC, ce que rappellent les commandes comme /msg ou /who.
- Open source : le code est public, dans deux dépôts, l’un pour iOS et macOS, l’autre pour Android, avec un protocole compatible entre les deux.
- Deux transports : le Bluetooth Low Energy pour le réseau local hors ligne, Nostr pour la portée mondiale quand une connexion existe.
- Sans inscription : ni compte ni numéro. Le README précise toutefois que le mesh utilise un identifiant d’appareil persistant, dérivé de votre clé d’identité.
- Plateformes : le site officiel indique iOS 16 et macOS 13 au minimum, et Android 8.
- Effacement d’urgence : un triple appui sur le logo supprime toutes les données de l’application.
Comment fonctionne le mesh Bluetooth
En mode local, bitchat n’utilise ni Internet ni infrastructure. Chaque appareil annonce sa présence en Bluetooth Low Energy, se connecte à ses voisins et retransmet les paquets qu’il reçoit. Les messages publics du canal #mesh sont diffusés par inondation contrôlée : un paquet part avec une durée de vie de 7 sauts, les relais écartent les doublons et attendent une fraction de seconde avant de retransmettre pour éviter que tout le monde parle en même temps. Quand un chemin est connu, le livre blanc décrit aussi un routage explicite. Sur la portée, Gizmodo évoque environ 300 mètres en théorie, mieux dans une foule dense.
Les messages privés sont chiffrés de bout en bout avec le protocole Noise, et les relais ne transportent que du chiffré. Le routeur essaie d’abord le Bluetooth, puis Nostr entre favoris mutuels, puis met le message en attente. Le schéma ci-dessous résume ce trajet.
La version 2.0 du livre blanc ajoute une couche de stockage et retransmission, utile quand le destinataire n’est pas à portée. Une boîte d’envoi conserve un message privé 24 heures et le renvoie à chaque reconnexion, jusqu’à 8 tentatives. Des « coursiers » (jusqu’à 3 pairs) peuvent transporter une enveloppe scellée vers un contact qu’ils croiseront. Enfin, l’historique public est resynchronisé entre appareils et reste disponible 6 heures. Les conversations elles-mêmes ne vivent qu’en mémoire.
Nostr et canaux géographiques : quand Internet est là
Le deuxième transport s’appuie sur Nostr, un protocole de relais publics. Il sert à deux choses : les canaux de lieu et le repli des messages privés. Les canaux de lieu sont des salons publics définis par un geohash, un code qui découpe la carte en zones : de 7 caractères pour un pâté de maisons jusqu’à 2 pour une grande région. Le README annonce plus de 440 relais et une clé éphémère différente pour chaque zone, ce qui évite de traîner le même identifiant d’un salon à l’autre.
Pour les messages privés, bitchat n’emploie pas le chiffrement standard de Nostr : le README précise que son enveloppe privée est propre au projet, incompatible avec NIP-17, NIP-44 et NIP-59. Elle ne dialogue donc qu’avec les clients bitchat. Autre détail à connaître : ces canaux de lieu sont publics et exigent une connexion Internet. Ils ne relèvent pas du mode hors ligne.
Un exemple concret : un festival sans réseau
Prenons un scénario tiré de la documentation, que nous n’avons pas reproduit : deux amis dans un grand festival où le réseau mobile est saturé. Voici comment bitchat serait mis en œuvre.
- Les deux installent l’application avant l’événement, tant que la connexion fonctionne, car le mesh suppose que les téléphones d’en face l’aient aussi.
- Ils autorisent le Bluetooth, les notifications et, sur Android, la localisation, que le système exige pour scanner en Bluetooth Low Energy.
- L’écran affiche le canal
#meshet le nombre de pairs détectés à portée. - Un message sur
#meshest lisible par tous les utilisateurs proches. Pour un échange privé, on passe par une conversation directe, chiffrée avec Noise. - Si l’ami s’éloigne, le message reste en attente dans la boîte d’envoi et part dès que le lien se rétablit, dans la limite de 24 heures.
Comment l’installer ou le démarrer
Le dépôt recommande l’App Store pour iOS et macOS, ou une compilation à partir d’un code source vérifié. Une version Android est disponible sur le Play Store, et le dépôt Android détaille aussi une compilation reproductible. Le point important de la page officielle de vérification : une application compilée obtenue ailleurs ne peut pas être vérifiée, alors que le code source, lui, peut l’être. Cela compte d’autant plus que le dépôt a fait l’objet de demandes de retrait : quand un dépôt disparaît, des copies invérifiables apparaissent, rappelle la page.
Pour compiler la version macOS sans signature, il faut un Mac avec Xcode :
# Compilation macOS sans signature (commande du README)
git clone https://github.com/permissionlesstech/bitchat.git
cd bitchat
xcodebuild -project bitchat.xcodeproj -scheme "bitchat (macOS)" \
-configuration Debug CODE_SIGNING_ALLOWED=NO build
Pour Android, il faut Android Studio et l’API 26 au minimum. Les commandes viennent du README du dépôt Android :
# Compilation Android (README du dépôt bitchat-android)
git clone https://github.com/permissionlesstech/bitchat-android.git
cd bitchat-android
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk
Chaque version publiée de bitchat embarque un fichier SOURCE-MANIFEST.txt qui liste l’empreinte SHA-256 de chaque fichier du code. Ces commandes, issues de la page de vérification, comparent votre copie du code à ce manifeste :
# Depuis la racine du code récupéré, avec le manifeste dans /tmp
grep -v '^#' /tmp/SOURCE-MANIFEST.txt > /tmp/files.sha256
shasum -a 256 -c /tmp/files.sha256
# Dans un clone git, ceci doit n'afficher aucune ligne avant compilation
git status --porcelain --ignored
Les limites à connaître
Plusieurs points demandent de la prudence avant de confier quoi que ce soit de sensible à bitchat.
- Une sécurité encore à prouver : peu après le lancement, le projet a ajouté lui-même un avertissement sur l’absence de revue externe, et le chercheur Alex Radocea a montré qu’on pouvait usurper l’identité d’un contact « favori » (TechCrunch). Le projet est passé depuis à Noise et durcit ses versions, mais nous n’avons trouvé aucun audit indépendant publié.
- Des métadonnées exposées : le livre blanc reconnaît que l’identifiant radio ne change pas, que les annonces contiennent le pseudo et les clés en clair, et qu’un simple écouteur peut suivre un appareil d’un lieu à l’autre.
- Pas de confidentialité persistante partout : le courrier scellé hors ligne et les enveloppes Nostr n’ont pas de forward secrecy, selon ce même document.
- Un réseau parfois vide : sur Hacker News, plusieurs personnes expliquent avoir installé bitchat sans jamais croiser un autre utilisateur, notamment en zone rurale. Le mesh ne vaut que par le nombre de téléphones équipés autour de vous.
- Une disponibilité contestée : un an après le lancement, une notice du centre indien I4C datée du 23 juillet a demandé à GitHub de retirer le code, en invoquant un risque d’usage par des criminels. Selon Wikipédia, des organisations de défense des libertés l’ont jugée excessive, et l’application a aussi été retirée des boutiques en Chine puis en Inde.
- Un cadre légal variable : certains pays encadrent ou limitent ce type de messagerie. Renseignez-vous sur la loi locale avant de l’utiliser dans un contexte tendu.
bitchat face à Briar, Bridgefy et Meshtastic
Ces outils visent tous la communication sans infrastructure, mais avec des moyens très différents. Nous comparons ce que leurs pages officielles annoncent, sans avoir mesuré la portée ni la fiabilité.
| Outil | Comment circulent les messages | À savoir |
|---|---|---|
| Bluetooth Low Energy en mesh (7 sauts au maximum) ; Nostr via Internet pour les canaux de lieu et le repli des messages privés | Sans compte ni numéro ; applications iOS, macOS et Android ; métadonnées visibles en radio d’après son livre blanc | |
| Bluetooth, Wi-Fi ou cartes mémoire hors ligne ; réseau Tor quand Internet fonctionne | Messages stockés sur l’appareil, forums et blogs ; liens Play Store et F-Droid sur la page d’accueil ; modèle de menace publié | |
| Bluetooth Low Energy, environ 100 m entre deux téléphones annoncés ; propose aussi un SDK pour d’autres applications | Annonce le protocole Signal ; la section Broadcast est lisible par tous les utilisateurs proches ; Internet requis à la première ouverture | |
| Radios LoRa dédiées, portée annoncée de plusieurs kilomètres | Matériel à acheter ; le téléphone n’est pas nécessaire au mesh ; open source |
Logos des outils cités : marques de leurs éditeurs et projets, reproduits à titre d’illustration d’après leurs sites et dépôts officiels.
Le choix tient surtout au terrain. Briar se présente comme conçu pour les militants et les journalistes et détaille son modèle de menace, alors que bitchat mise sur la simplicité : on l’ouvre et on voit qui est autour. Bridgefy fonctionne aussi en Bluetooth et le dit sans détour : sa section de diffusion est lisible par tous les utilisateurs proches, comme le canal public de bitchat. Il se distingue par son SDK, qui intègre le mesh à d’autres applications. Meshtastic sort du cadre du téléphone seul : il demande des radios LoRa, mais gagne en portée et fonctionne sans smartphone.
Pour qui ?
- bitchat convient si vous voulez un plan B de messagerie de proximité pour un festival, une randonnée ou un événement au réseau saturé, avec des amis qui l’installent aussi.
- Il intéresse les développeurs et curieux de protocoles : code public, livre blanc détaillé, tests et notes de version lisibles.
- Il ne convient pas si vous avez besoin de garanties de sécurité éprouvées : une personne exposée devrait s’appuyer sur un outil audité et lire la section limites du livre blanc.
- Il ne convient pas non plus si vous êtes seul à l’utiliser, si vous attendez un historique synchronisé sur plusieurs appareils, ou si vous cherchez une portée de plusieurs kilomètres : regardez plutôt Meshtastic.
En résumé
bitchat est une messagerie de proximité sans compte ni serveur, qui marche en Bluetooth mesh et s’appuie sur Nostr quand Internet est là. L’idée est solide et l’équipe publie régulièrement des versions, mais le projet est jeune, sa sécurité n’a pas été auditée à notre connaissance et ses métadonnées sont exposées : traitez-le comme un complément pour des échanges ordinaires, pas comme une protection. Pour gérer vos comptes de réseaux sociaux de façon plus classique, notre présentation de Postiz vous donnera un autre point de départ. Et si vous souhaitez de l’aide pour installer et maintenir bitchat ou un outil voisin, contactez-nous.



