Use this file to discover all available pages before exploring further.
Bitchat runs on iOS 16 and later and macOS 13 (Ventura) and later. It is a universal app — the same codebase covers both platforms. There are two ways to install: the App Store provides a signed, verifiable binary for most users, and building from source gives you full control over what runs on your device. A compiled build obtained from any other source — a third-party mirror, a file-sharing link, an unofficial website — cannot be verified and should not be trusted.
App Store
Build from Source
The App Store is the simplest installation path and produces the only pre-compiled binary that can be independently verified against the per-release hash manifest published in the repository.Download Bitchat on the App Store →The listing is a universal build. On iPhone or iPad it installs as an iOS app; on a Mac with Apple Silicon (macOS 13+) the same listing installs the native macOS version through Mac App Store delivery.
Compiled builds of Bitchat from sources other than the official App Store listing are unverifiable. This repository has been the target of takedown demands, and mirrors have appeared after takedowns that nobody could check. If the App Store listing is unavailable and a compiled binary is the only option you have, read Verifying Your Build before running it.
Building from source lets you audit the code before it runs on your device. The build system requires full Xcode — not just the Command Line Tools — because the project uses an .xcodeproj with platform-specific entitlements and asset catalogs that swift build alone cannot process.
1
Install prerequisites
You will need:
macOS 13 (Ventura) or later on your build machine
Xcode (full IDE, not Command Line Tools alone) — download from the Mac App Store or developer.apple.com
Swift 5.9 or later — included with Xcode 15+
After installing Xcode, confirm it is selected as the active developer directory:
If you are building a specific release, check out the corresponding tag before proceeding.
3
Option A — Build with Xcode
Open the project in Xcode:
open bitchat.xcodeproj
Xcode opens the project with all targets and schemes pre-configured. Select the bitchat (macOS) or bitchat (iOS) scheme from the scheme selector, choose your destination, and press Run (⌘R).For a device build (physical iPhone or iPad), you need a code-signing identity. Create your local configuration file from the provided example:
Open Configs/Local.xcconfig in any text editor and replace the placeholder team ID with your Apple Developer Team ID. The entitlement files already reference $(APP_GROUP_ID) which is derived from your team ID, so no other tracked file needs to be edited.For a macOS build without signing (useful for CI or local testing without a developer account), you can build entirely from the command line — see the commands in the “Verifying Your Build” section below.
4
Option B — Build with just
The repository includes a Justfile with convenience recipes that keep all build output in a repository-local .DerivedData/ directory and never modify tracked source or configuration files.First, validate your development environment:
just check
just check confirms that full Xcode is installed and selected, then prints the Xcode version. If anything is missing it prints a clear error with instructions.Then build and run the macOS app:
just run
just run compiles the bitchat (macOS) scheme in Debug configuration without code signing, then opens the resulting .app bundle. Other useful recipes:
Command
What it does
just build
Build only, no launch
just test
Run the SwiftPM unit test suite
just test-ios
Run tests on the iPhone 17 simulator
just clean
Remove .DerivedData/ and .build/ (never touches source files)
just check
Validate the development environment
5
Code signing for device deployment
The unsigned Debug builds produced by just build and the no-signing xcodebuild invocations run only on macOS (where Gatekeeper can be bypassed for local builds) or in the simulator. To run on a physical iPhone or iPad you need a paid or free Apple Developer account and a provisioning profile.Create the local configuration file if you have not already:
Open the file and replace the example team ID on the DEVELOPMENT_TEAM line with your own. Xcode will generate the necessary App ID and provisioning profile automatically when you build with a connected device selected as the destination.The Configs/Local.xcconfig file is listed in .gitignore and will never be committed, so your team ID stays private.
Because this repository has been the target of takedown demands, mirrors of both the source and pre-compiled binaries have appeared that nobody could independently check. Bitchat publishes a per-release hash manifest so you can confirm that what you are running matches what was audited.See Verifying a Build for the full verification process — how to compare a compiled binary against the manifest, and what to do if you can only obtain a build from a mirror rather than the App Store or the canonical repository.The App Store build is the only pre-compiled path where verification is straightforward. If you build from source, you verify the source before building. Any other compiled binary is unverifiable.