explaingit

permissionlesstech/bitchat

Analysis updated 2026-06-21

25,805SwiftAudience · developerComplexity · 4/5LicenseSetup · moderate

TLDR

Bitchat is a privacy-first iPhone and Mac messaging app that works without servers, accounts, or phone numbers, using Bluetooth mesh networking for offline chats and the Nostr protocol for global reach.

Mindmap

mindmap
  root((Bitchat))
    What it does
      Serverless messaging
      Bluetooth mesh relay
      Nostr global chat
    Privacy features
      No account needed
      End-to-end encrypted
      Emergency data wipe
    Tech stack
      Swift
      iOS and macOS
      Nostr protocol
    Audience
      Privacy advocates
      iOS developers
      Founders
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study the codebase as a reference for building offline-capable communication features using Bluetooth mesh networking in a native iOS app.

USE CASE 2

Fork and customize Bitchat for a privacy-preserving group chat app for events, remote teams, or disaster-response scenarios.

USE CASE 3

Learn how to integrate the Nostr decentralized protocol into a Swift app for censorship-resistant messaging.

USE CASE 4

Use the emergency data-wipe pattern from this app when building privacy-sensitive mobile applications.

What is it built with?

SwiftiOSmacOSBluetoothNostr

How does it compare?

permissionlesstech/bitchatvapor/vaporapple/container
Stars25,80526,05326,368
LanguageSwiftSwiftSwift
Setup difficultymoderatemoderateeasy
Complexity4/53/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires a Mac with Xcode and an Apple Developer account to build and run on a real device, Bluetooth testing needs physical hardware.

Public domain, anyone can use, modify, or redistribute this code freely with no restrictions.

In plain English

Bitchat is a decentralized messaging app for iPhone and Mac that lets people chat without any central servers, phone numbers, or accounts. It has two modes that work together: a local Bluetooth mesh network for offline communication, and a global internet protocol called Nostr for reaching people anywhere in the world. The Bluetooth mesh part is genuinely unusual, it lets your phone relay messages through a chain of nearby devices even when there is no internet. If you and a group of people are at a protest, disaster zone, or remote area, messages can hop from phone to phone (up to 7 hops) to reach someone outside your immediate Bluetooth range. No internet required. When internet is available, the app switches to Nostr, a decentralized messaging network with no central company controlling it, and can connect to geographic chat rooms based on your location (neighborhood, city, region). Private messages are end-to-end encrypted using strong cryptographic protocols. The design is deliberately privacy-first: no sign-up, no phone number linked to your identity, and there is even an emergency triple-tap to instantly wipe all data from the phone. Built natively in Swift for iOS and macOS, the app is available on the App Store now. The code is open-source and released into the public domain, meaning anyone can modify or redistribute it freely. For a founder: this is a finished, deployable app rather than a library or tool. It is interesting as a reference for building offline-capable, privacy-preserving communication features.

Copy-paste prompts

Prompt 1
Using the Bitchat Swift codebase as a reference, show me how to set up Bluetooth mesh networking in an iOS app so messages relay through nearby devices.
Prompt 2
How does Bitchat implement end-to-end encryption for private messages using Nostr? Show me the key exchange and encryption flow in Swift.
Prompt 3
Help me add an emergency data-wipe feature to my iOS app similar to Bitchat's triple-tap wipe that instantly deletes all local data.
Prompt 4
Walk me through how Bitchat connects to Nostr relays and sends/receives messages without a central server, using Swift.

Frequently asked questions

What is bitchat?

Bitchat is a privacy-first iPhone and Mac messaging app that works without servers, accounts, or phone numbers, using Bluetooth mesh networking for offline chats and the Nostr protocol for global reach.

What language is bitchat written in?

Mainly Swift. The stack also includes Swift, iOS, macOS.

What license does bitchat use?

Public domain, anyone can use, modify, or redistribute this code freely with no restrictions.

How hard is bitchat to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is bitchat for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub permissionlesstech on gitmyhub

Verify against the repo before relying on details.