NonNet is a free offline messenger that lets you chat without internet using only Bluetooth. Two iPhones, an iPhone and an iPad, or an iPhone and a Mac find each other automatically and talk directly, device to device. No SIM, no mobile data, no Wi-Fi network, no servers and no sign-up. Every conversation is end-to-end encrypted.
| π¬ Messages & emoji | π· Photos (camera or gallery, auto-compressed) | π¬ Videos 360p, up to 10 s, 1x Β· 1.5x Β· 2x |
| π View once (1X) photos and videos delete after viewing | ββ Read receipts sent, delivered, seen | β€οΈ Reactions double-tap or long-press |
| π§ Compass radar N Β· E Β· S Β· W with people nearby | π Live distance Bluetooth, and centimeter-precise UWB on iPhone 11+ | π Notifications banner, sound and red badge |
| π End-to-end encryption X25519 + ChaChaPoly | πΆ Anonymous by default optional nickname |
| NonNet | WhatsApp / Signal | iMessage | AirDrop | Bridgefy | Briar | |
|---|---|---|---|---|---|---|
| Works with no internet | β | β | β | β | β | |
| No phone number or account | β | β phone number | β Apple ID | β | β account | β |
| Chat | β | β | β | β files only | β | β |
| Photos offline | β | β | β | β | β text only | β |
| Videos offline | β 360p | β | β | β | β | β |
| View once (1X) | β | β online only | β | β | β | β |
| Read receipts offline | β | β | β | β | β | β |
| Radar: direction & distance | β | β | β | β | β | β |
| iPhone & iPad | β | β | β | β | β | β Android only |
| Mac | β | β | β | β | β | |
| End-to-end encrypted | β | β | β | β | β | β |
Where others win: NonNet talks only to devices in direct Bluetooth range (~30β60 m). It doesn't relay messages through other phones the way mesh apps (Bridgefy, Briar) do, and it doesn't run on Android. Comparison based on public information, November 2026.
Driving together in a convoy? Send "Exit 12?" from one car to the other with no signal and no data plan. Phones in nearby cars connect over Bluetooth while you roll.
Airplane mode on, Bluetooth on. Message your friend ten rows away without paying for in-flight Wi-Fi.
Thousands of phones jam the mobile network. NonNet doesn't use it, so "Front left!" still arrives.
No towers in the valley? Stay in touch with the group, and the compass radar shows which way your friends are.
Between stations there's no coverage, but the phone two carriages down is still in Bluetooth range.
When the network is down or overloaded, people nearby are still reachable. "You OK?" doesn't need a tower.
No local SIM and no roaming bill. Message your travel group for 0 β¬.
iPhone to MacBook on the same floor or in the next room, without connecting to the building's Wi-Fi.
No servers, no phone number, no email, no account. Messages go straight from device to device, encrypted, and are never uploaded anywhere.
Far from shore with no coverage? Chat between decks and cabins.
sequenceDiagram
participant A as π± iPhone
participant B as π» Mac / π± iPhone / iPad
A-->>B: Bluetooth advert (random 4-letter code, no name)
B-->>A: Bluetooth advert
A->>B: Open Bluetooth L2CAP channel
A->>B: Hello + one-time public key (X25519)
B->>A: Hello + one-time public key
Note over A,B: Both derive the same secret key (HKDF-SHA256)
A->>B: π Message / photo / video (ChaChaPoly)
B->>A: π ββ delivered Β· seen
- Discovery: each device advertises a random code that changes on every launch. No name, no IP, no account.
- Connection: a direct Bluetooth Low Energy L2CAP channel. Wi-Fi and mobile data can be off.
- Encryption: a fresh key per connection, so every message, photo and video is encrypted end to end.
- Radar: distance comes from Bluetooth signal strength (Β±2β5 m). Between two iPhone 11 or newer it uses Ultra Wideband, accurate to centimeters with direction. Outdoors, shared GPS positions place people in their real compass direction.
| Situation | Typical range |
|---|---|
| Same room / apartment | β always |
| Through one wall or floor | β usually |
| Outdoors, line of sight | ~30β60 m |
| Through several concrete floors |
Photos (~150 KB) take a few seconds over Bluetooth, and a 10 s 360p video takes ~10β30 s.
NonNet isn't on the App Store yet. Until then:
Option A: SideStore (free, no Mac needed after setup)
- Install SideStore by following the guide at sidestore.io (needs a computer once).
- Download
NonNet.ipafrom Releases. - In Safari: Share β SideStore, then NonNet installs.
- Open SideStore once a week and tap Refresh All.
Option B: build it yourself with Xcode (free Apple ID)
git clone https://github.com/CDAVIO/Nonnet-Messenger.git- Open
Blip.xcodeprojin Xcode. - Signing & Capabilities β Team: pick your Apple ID and change the Bundle Identifier.
- Connect your iPhone, or pick My Mac (Designed for iPad), then press βΆ Run.
With a free Apple ID, apps installed this way expire after 7 days. Re-install to renew.
Requirements: iOS / iPadOS 17 or newer Β· macOS 14 Sonoma or newer on a Mac with Apple silicon Β· Bluetooth on.
- No servers, no analytics, no ads, no account.
- Chats live only in memory, and media is wiped when the app restarts.
- 1X photos and videos are deleted from the receiver as soon as they're viewed.
- Your location is shared only with connected NonNet devices, and you can turn it off in Settings.
See SECURITY.md for the security model and how to report a vulnerability.
Can I send messages without internet on iPhone?
Yes. NonNet uses Bluetooth only, so it works with Wi-Fi off, mobile data off, or in airplane mode with Bluetooth on.
Does it work between iPhone and Mac?
Yes. NonNet runs on iPhone, iPad and Apple silicon Macs, and they all talk to each other.
How far does Bluetooth messaging reach?
About 10β30 m indoors and up to ~60 m outdoors with a clear line of sight.
Does it work on Android?
No. NonNet is built for Apple devices only.
Do I get messages when the app is closed?
If you just lock the phone or switch apps, yes: NonNet stays connected and shows a notification. If you force-quit it by swiping it away, iOS stops it until you open it again.
Swift Β· SwiftUI Β· CoreBluetooth (L2CAP) Β· CryptoKit Β· NearbyInteraction (UWB) Β· CoreLocation Β· AVFoundation Β· UserNotifications
MIT Β© 2026 CDAV.IO









