# BitChat

**BitChat** (styled **bitchat**) is a free, open-source, decentralized messaging application created by [Jack Dorsey](https://www.edgepedia.org/jack-dorsey), the co-founder of Twitter and CEO of Block, that sends messages between nearby phones over a [Bluetooth Low Energy](https://www.edgepedia.org/bluetooth-low-energy) mesh without internet, cellular service, accounts, phone numbers, or central servers, and reaches distant peers over the Nostr protocol when an internet connection exists.<sup>[1](https://github.com/permissionlesstech/bitchat)</sup><sup> • </sup><sup>[2](https://techcrunch.com/2025/07/09/jack-dorsey-says-his-secure-new-bitchat-app-has-not-been-tested-for-security/)</sup> Dorsey introduced it as a weekend project on July 10, 2025, describing the original goal as a local "side-groupchat" for classrooms, airplanes, town squares, restaurants, protests, and disaster areas.<sup>[3](https://github.com/orgs/permissionlesstech/discussions/139)</sup>

| Key fact | Detail |
|---|---|
| Creator and launch | Jack Dorsey (jackjackbits on GitHub); announced July 10, 2025; iOS App Store debut July 28, 2025<sup>[3](https://github.com/orgs/permissionlesstech/discussions/139)</sup><sup> • </sup><sup>[4](https://9to5mac.com/2025/07/28/bitchat-mesh-jack-dorseys-bluetooth-messaging-app-debuts-on-the-app-store/)</sup> |
| Transports | Bluetooth Low Energy mesh for offline communication; Nostr protocol over the internet for global reach; router prefers the mesh and falls back to Nostr<sup>[1](https://github.com/permissionlesstech/bitchat)</sup> |
| Hop limit | Messages relay through nearby devices for a maximum of 7 hops<sup>[1](https://github.com/permissionlesstech/bitchat)</sup> |
| Encryption | Noise Protocol (Noise XX with X25519, ChaCha20-Poly1305, SHA-256) for mesh sessions; proprietary XChaCha20-Poly1305 envelopes for Nostr private messages<sup>[5](https://github.com/permissionlesstech/bitchat/blob/main/WHITEPAPER.md?ref=coinkeninfo.com)</sup><sup> • </sup><sup>[6](https://github.com/permissionlesstech/bitchat/blob/main/PRIVACY_POLICY.md)</sup> |
| Accounts | None; no phone numbers, no registration, no project-operated servers, no analytics or advertising SDKs<sup>[1](https://github.com/permissionlesstech/bitchat)</sup><sup> • </sup><sup>[6](https://github.com/permissionlesstech/bitchat/blob/main/PRIVACY_POLICY.md)</sup> |
| License | Public domain (The Unlicense)<sup>[1](https://github.com/permissionlesstech/bitchat)</sup> |
| Emergency control | Panic wipe: triple-tapping the app logo clears keys, sessions, groups, queues, carried mail, archives, and media<sup>[1](https://github.com/permissionlesstech/bitchat)</sup> |

## How the mesh works

In offline mode, every device acts simultaneously as a Bluetooth LE central and peripheral, discovering nearby peers automatically and relaying packets in a controlled flood with no infrastructure, pairing, or accounts.<sup>[5](https://github.com/permissionlesstech/bitchat/blob/main/WHITEPAPER.md?ref=coinkeninfo.com)</sup> A message travels hop by hop through participating phones, up to the documented maximum of 7 hops; whether it arrives depends on enough compatible devices being in range to form a path, and the project does not claim a fixed operating distance.<sup>[1](https://github.com/permissionlesstech/bitchat)</sup><sup> • </sup><sup>[7](https://www.itechguides.com/jack-dorseys-bitchat-how-the-offline-messaging-app-works/)</sup>

Flood control keeps the relay manageable. Packets originate with a TTL of 7; relays in dense graphs (6 or more links) cap broadcast TTL at 5, an LRU seen-set of 1,000 entries with 5-minute expiry drops duplicates, and relays wait a random 10 to 220 ms so duplicate suppression wins often.<sup>[5](https://github.com/permissionlesstech/bitchat/blob/main/WHITEPAPER.md?ref=coinkeninfo.com)</sup>

## Store-and-forward delivery

The protocol aims for eventual delivery: even when a recipient is out of range, a message ought to get through—whether passed along by the mesh, ferried by someone in motion, or held on an internet relay—before the fixed retention period expires.<sup>[5](https://github.com/permissionlesstech/bitchat/blob/main/WHITEPAPER.md?ref=coinkeninfo.com)</sup> To achieve this, the stack is layered: it combines an outbox on the sender's side that persists, couriers acting opportunistically under a spray-and-wait copy allowance, a public history kept in sync via gossip, and mailboxes on Nostr relays.<sup>[5](https://github.com/permissionlesstech/bitchat/blob/main/WHITEPAPER.md?ref=coinkeninfo.com)</sup>

A courier is any nearby user who carries sealed messages toward an offline recipient without being able to read them.<sup>[8](https://apps.apple.com/us/app/bitchat-mesh/id6748219622)</sup> Undelivered outgoing private messages stay in a bounded, ChaCha20-Poly1305-sealed outbox for at most 24 hours, and courier deposits have the same 24-hour lifetime with trust-tier and per-depositor caps.<sup>[6](https://github.com/permissionlesstech/bitchat/blob/main/PRIVACY_POLICY.md)</sup> Public mesh chat backfills the last 6 hours so late arrivals catch up, and media attachments are kept under a 100 MB incoming quota and deleted after seven days.<sup>[8](https://apps.apple.com/us/app/bitchat-mesh/id6748219622)</sup><sup> • </sup><sup>[6](https://github.com/permissionlesstech/bitchat/blob/main/PRIVACY_POLICY.md)</sup>

## Internet mode and location channels

When a connection exists, the router falls back to Nostr, a decentralized open messaging protocol, using a network of more than 440 relays distributed globally.<sup>[1](https://github.com/permissionlesstech/bitchat)</sup> Location-based channels are geographic chat rooms defined by geohash (A code encoding a latitude/longitude area; shorter codes cover bigger regions) coordinates at five precisions: block (7 characters), neighborhood (6), city (5), province (4), and region (2).<sup>[1](https://github.com/permissionlesstech/bitchat)</sup> Private messages over Nostr travel in BitChat's own encrypted envelope format inside kind-1059 events; the format is proprietary, is not compatible with Nostr's NIP-17, NIP-44, or NIP-59 encryption schemes, and only interoperates with BitChat clients.<sup>[1](https://github.com/permissionlesstech/bitchat)</sup> Tor routing is on by default; with it off, every relay a device connects to can see its [IP address](https://www.edgepedia.org/ip-address).<sup>[6](https://github.com/permissionlesstech/bitchat/blob/main/PRIVACY_POLICY.md)</sup>

## Privacy posture and limits

The project operates no account system, analytics pipeline, advertising SDK, or project-owned messaging backend, and its privacy policy states it does not sell data or include exact GPS coordinates in any payload.<sup>[6](https://github.com/permissionlesstech/bitchat/blob/main/PRIVACY_POLICY.md)</sup> While private payloads receive end-to-end encryption, content shared in public mesh, board, bridge, and geohash contexts is deliberately open to view by everyone taking part.<sup>[9](https://github.com/permissionlesstech/bitchat/blob/main/docs/privacy-assessment.md)</sup>

The project's own privacy assessment is candid about what a nearby radio can observe. Because each packet header contains a peer ID formed by truncating the device's SHA-256 Noise static key fingerprint to its first 8 bytes, that identifier remains constant; announcements are signed and transmit the nickname alongside both public keys unencrypted; and the hard-coded service UUID lets a passive scanner recognize a BitChat device as such. A receiver in radio range can therefore recognize a specific device across sessions and locations, and the protocol does not currently provide unlinkable presence.<sup>[5](https://github.com/permissionlesstech/bitchat/blob/main/WHITEPAPER.md?ref=coinkeninfo.com)</sup><sup> • </sup><sup>[9](https://github.com/permissionlesstech/bitchat/blob/main/docs/privacy-assessment.md)</sup> The assessment also notes there is no duress mechanism, no decoy passphrase, and no biometric lock on the app itself, so a coerced unlock discloses everything the device still holds.<sup>[9](https://github.com/permissionlesstech/bitchat/blob/main/docs/privacy-assessment.md)</sup>

## Security history

At launch the app had received no external security review, by Dorsey's own admission, and he added a warning to the GitHub page stating the software "has not received external security review and may contain vulnerabilities and does not necessarily meet its stated security goals."<sup>[2](https://techcrunch.com/2025/07/09/jack-dorsey-says-his-secure-new-bitchat-app-has-not-been-tested-for-security/)</sup> Days after launch, security researcher Alex Radocea, of Super Networks, disclosed a critical identity authentication bypass: ephemeral keys were not verified against identity keys, allowing an attacker to impersonate a contact in the app's "Favorites" system.<sup>[2](https://techcrunch.com/2025/07/09/jack-dorsey-says-his-secure-new-bitchat-app-has-not-been-tested-for-security/)</sup><sup> • </sup><sup>[10](https://cypherpunk-research.benwest.io/projects/bitchat/)</sup> A separate report noted that forward secrecy was session-level rather than per-message, with no Double Ratchet as Signal uses.<sup>[10](https://cypherpunk-research.benwest.io/projects/bitchat/)</sup>

Dorsey responded by migrating the app to the [Noise Protocol Framework](https://www.edgepedia.org/noise-protocol-framework), and later releases addressed the findings: version 1.7.1 (July 31, 2026) bound Noise sessions to claimed peer identities, required signed leave messages, TOFU-pinned announce signing keys against mesh identity spoofing, and encrypted private media before BLE fragmentation so relays never see the bytes.<sup>[3](https://github.com/orgs/permissionlesstech/discussions/139)</sup><sup> • </sup><sup>[11](https://github.com/permissionlesstech/bitchat/releases)</sup> A formal external security audit had still not been completed as of the project's own security tracking in early 2026.<sup>[10](https://cypherpunk-research.benwest.io/projects/bitchat/)</sup>

## Reception and availability

The iOS app reached the App Store on July 28, 2025, with an Android version distributed through GitHub and later [Google Play](https://www.edgepedia.org/google-play).<sup>[4](https://9to5mac.com/2025/07/28/bitchat-mesh-jack-dorseys-bluetooth-messaging-app-debuts-on-the-app-store/)</sup><sup> • </sup><sup>[12](https://play.google.com/store/apps/details?hl=en_US&id=com.bitchat.droid)</sup> Reviewers noted the practical constraint that the mesh needs other participating phones nearby; TechRadar's early testing found zero other users in the vicinity, and Google Play reviews echoed that an excellent messaging app is only useful if there are people to message.<sup>[13](https://www.techradar.com/phones/bitchat-is-a-new-private-bluetooth-messaging-app-that-doesnt-need-the-internet-heres-how-it-works)</sup><sup> • </sup><sup>[12](https://play.google.com/store/apps/details?hl=en_US&id=com.bitchat.droid)</sup> The app drew interest for use during protests and internet shutdowns, following predecessors such as FireChat.<sup>[3](https://github.com/orgs/permissionlesstech/discussions/139)</sup><sup> • </sup><sup>[14](https://www.techradar.com/vpn/vpn-privacy-security/we-need-to-go-beyond-signal-how-todays-aws-outage-shows-the-weaknesses-of-centralized-apps)</sup>

## References

1. [permissionlesstech/bitchat, GitHub repository](https://github.com/permissionlesstech/bitchat)
2. [Lorenzo Franceschi-Bicchierai (July 9, 2025). Jack Dorsey says his 'secure' new Bitchat app has not been tested for security. TechCrunch.](https://techcrunch.com/2025/07/09/jack-dorsey-says-his-secure-new-bitchat-app-has-not-been-tested-for-security/)
3. [jackjackbits (July 10, 2025). bitchat! Discussion #139, permissionlesstech GitHub.](https://github.com/orgs/permissionlesstech/discussions/139)
4. [Marcus Mendes (July 28, 2025). bitchat mesh, Jack Dorsey's Bluetooth messaging app, debuts on the App Store. 9to5Mac.](https://9to5mac.com/2025/07/28/bitchat-mesh-jack-dorseys-bluetooth-messaging-app-debuts-on-the-app-store/)
5. [bitchat Protocol Whitepaper, Version 2.0 (July 6, 2026). GitHub.](https://github.com/permissionlesstech/bitchat/blob/main/WHITEPAPER.md?ref=coinkeninfo.com)
6. [bitchat Privacy Policy (July 2026). GitHub.](https://github.com/permissionlesstech/bitchat/blob/main/PRIVACY_POLICY.md)
7. [Bitchat Explained: Offline Bluetooth Messaging, Limits and Security. iTechGuides.](https://www.itechguides.com/jack-dorseys-bitchat-how-the-offline-messaging-app-works/)
8. [bitchat mesh App, App Store release notes.](https://apps.apple.com/us/app/bitchat-mesh/id6748219622)
9. [bitchat Privacy Assessment (July 2026). GitHub.](https://github.com/permissionlesstech/bitchat/blob/main/docs/privacy-assessment.md)
10. [Security Analysis: Bitchat. Web3 Privacy / Cypherpunks Research.](https://cypherpunk-research.benwest.io/projects/bitchat/)
11. [Releases, permissionlesstech/bitchat, GitHub.](https://github.com/permissionlesstech/bitchat/releases)
12. [bitchat, Apps on Google Play.](https://play.google.com/store/apps/details?hl=en_US&id=com.bitchat.droid)
13. [Alex Blake (July 29, 2025). Bitchat is a new private Bluetooth messaging app that doesn't need the internet. TechRadar.](https://www.techradar.com/phones/bitchat-is-a-new-private-bluetooth-messaging-app-that-doesnt-need-the-internet-heres-how-it-works)
14. [How today's AWS outage shows the weaknesses of centralized apps. TechRadar.](https://www.techradar.com/vpn/vpn-privacy-security/we-need-to-go-beyond-signal-how-todays-aws-outage-shows-the-weaknesses-of-centralized-apps)

---
*Topic: Encyclopedia › Technology and the built world › Computing and digital systems › Networks and security › Wireless networking › Wi-Fi products, hotspots, and providers › Consumer mesh and home Wi-Fi router products*

*Initially written Sep 17, 2026 · Reviewed: Oct 15, 2026 · Edited: Oct 15, 2026 · Last review: Oct 15, 2026*

*Copyright 2026 EdgeChat AI, a subsidiary of Biostate AI.*

License: Edgepedia Community License 1.0, https://www.edgepedia.org/edgepedia/license
