GitHub Repos intermediate 4 min read Jul 25, 2026 · Updated Jul 26, 2026
Public Preview Sign in free for the full digest →

India gave GitHub 3 hours to delete bitchat. It's still up. What is bitchat?

“India's cyber-crime agency gave GitHub three hours to delete bitchat. Three days later all three repos are still up, the code is mirrored on Radicle, and the top HN thread has 381 comments.”

India gave GitHub 3 hours to delete bitchat. It's still up. What is bitchat?
1 Views
0 Likes
0 Bookmarks
Source · github.com

“"Walked around Fusion Festival with Bitchat running. Saw about 20 other devices and a few messages. Nobody replied to my messages. So usage isn't zero, but 20 devices out of 80000 people isn't a lot. Most hops I saw was 2, meaning there wasn't enough density to make it any meani...”

You know that feeling when the mobile data goes dark during a protest, a festival, or a natural disaster, and every messaging app you own becomes a blank screen? WhatsApp, Signal, and Telegram all assume a working route to a server, and they all assume you handed over a phone number to get an account. The moment a regulator flips a switch or a tower saturates, that entire stack is gone. bitchat's bet is that the phones around you are the network — your handset becomes both a client and a relay, and messages hop device to device without asking anyone's permission.

swiftbluetoothmesh-networkingprivacyencryptionnostrios

Think of it like passing a note across a crowded room — you hand it to whoever is closest, they hand it on, and it reaches the far side without anyone needing the room's PA system. Every phone running bitchat acts as both a Bluetooth central and a peripheral at once, flooding packets outward with a hop limit of 7, so a message can cross a distance no single Bluetooth link could span. Private messages get encrypted with a Noise XX handshake using Curve25519 key agreement, ChaCha20-Poly1305, and SHA-256, so relaying phones carry ciphertext they cannot read. The clever part is that this is not a Bluetooth app: two transports sit behind one `Transport` interface and a `MessageRouter` picks between them, so when the internet is reachable the same encrypted conversation continues over Nostr relays as NIP-17 gift-wrapped events. Since v1.6.0 there is also a store-and-forward layer where a phone can carry sealed mail for someone who is offline, tagged only with a 16-byte rotating recipient tag, capped at 16 KiB and 24 hours.

01
Dual transport with automatic routing — you get one conversation that survives a total internet blackout on Bluetooth and still reaches someone on another continent over Nostr relays, without you switching apps or re-adding contacts.
02
7-hop Bluetooth LE flood mesh — your message travels past the range of your own radio by using nearby phones as relays, so a room, a march, or a venue can stay connected with zero infrastructure.
03
No accounts, no phone numbers, no persistent identifiers — you never hand a carrier or a company a piece of identity that can later be subpoenaed, and there is no signup step between install and first message.
04
Noise XX end-to-end encryption for mesh, NIP-17 for Nostr — relaying phones and Nostr relays carry only ciphertext, so the devices forwarding your traffic cannot read it.
05
Store-and-forward couriers (v1.6.0) — a message to someone who is currently unreachable gets sealed and carried by other devices for up to 24 hours instead of failing instantly, tagged with only a rotating 16-byte recipient tag.
06
Triple-tap emergency wipe — one gesture clears local data, which matters when the threat model includes someone taking your unlocked phone.
07
IRC-style commands and geohash location channels — `/msg`, `/who`, `/slap` plus per-block, per-neighborhood, and per-city rooms give you a familiar text interface instead of a social feed.
Who it’s for

If you work on offline-first or disaster-resilient communications, or you have ever needed a channel that survives a regional internet shutdown, this is the reference implementation worth reading — the whitepaper and privacy assessment are unusually candid about what the protocol does and does not protect. It is also a genuinely interesting Swift codebase if you want to see a BLE flood mesh and a Nostr client behind one routing abstraction. It is not for you if you need Android or Linux from this repo (Android is a separate GPL-3.0 codebase), if you need a named external security audit before...

Worth exploring

Worth exploring and worth installing, but not worth betting anyone's safety on yet. The engineering signals are strong — v1.7.0 shipped 2026-07-08, three releases went out in three days in early July 2026, and the project has SwiftLint and Periphery dead-code checks wired into CI — but the security posture has real gaps: PR #1345 fixed '3 critical, 7 high' audit findings in v1.5.4 without naming an auditor or publishing a report, and PR #1349, a mesh identity-spoofing fix, was still open as of 2026-07-26 with a bot review flagging a bypass in the fix itself. The sibling Android repo under the same org still tells you in its README not to rely on its security until it has been reviewed.

Developer playbook
Tech stack, code snippet, sentiment, alternatives.
PM playbook
Adoption angles, user fit, positioning.
CEO playbook
Traction signals, ROI, build vs buy.
Deep-dive insight
Full long-form analysis, no fluff.
Easy mode
Core idea, fast — when you need the gist.
Pro mode
Technical nuance, edge cases, tradeoffs.
Read the full digest
Go beyond the preview

Deep-dive insight, Easy and Pro modes, plus action playbooks — the full breakdown is one tap away.

Underrated tools. Unfiltered takes.

Read the full digest in the Snaplyze app for deep-dive insight, Easy and Pro modes, and the playbooks you can actually use.

Install Snaplyze →