# permissionlesstech/bitchat-android

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/permissionlesstech-bitchat-android).**

4,760 stars · 681 forks · Kotlin · mit

## Links

- GitHub: https://github.com/permissionlesstech/bitchat-android
- awesome-repositories: https://awesome-repositories.com/repository/permissionlesstech-bitchat-android.md

## Description

BitChat Android is a decentralized peer-to-peer messenger that enables communication over Bluetooth mesh networks without requiring any internet connection or central servers. It functions as a full mesh network chat app and a privacy-focused communication tool, with every message encrypted end-to-end using per-session cryptographic keys that ensure forward secrecy. The app operates without accounts or persistent identifiers, resisting user tracking at the protocol level.

To strengthen privacy and efficiency, BitChat injects cover traffic to obscure real communication patterns and includes an emergency self-destruct mechanism that wipes local data on demand. Messages are stored ephemerally with configurable time-to-live, and the device adjusts mesh scanning frequency based on battery level to reduce power consumption. Group communication is supported through topic-based publish-subscribe channels with optional password protection, ownership transfer, and configurable retention periods.

The mesh networking layer uses a store-and-forward flooding protocol that adapts to topology changes and avoids duplicate transmissions. Small outgoing messages are batched to reduce network overhead, and large messages are compressed to further optimize bandwidth and battery life on mobile devices.

## Tags

### Data & Databases

- [Message Batching](https://awesome-repositories.com/f/data-databases/data-buffering/message-batching.md) — Queues small outgoing messages and transmits them as a single batch to reduce network overhead and energy consumption.
- [Ephemeral Message Stores](https://awesome-repositories.com/f/data-databases/database-management-systems/database-engines/embedded-databases/sqlite-databases/message-logging-stores/ephemeral-message-stores.md) — Stores messages locally with a configurable time-to-live and deletes them automatically after expiry to limit data persistence.

### Networking & Communication

- [Bluetooth Mesh Implementations](https://awesome-repositories.com/f/networking-communication/bluetooth-mesh-implementations.md) — Enables sending messages across a mesh of nearby Bluetooth devices without using the internet or central servers. ([source](https://cdn.jsdelivr.net/gh/permissionlesstech/bitchat-android@main/README.md))
- [Cover Traffic Generators](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/peer-to-peer-networking/traffic-anonymization/cover-traffic-generators.md) — Periodically sends fake messages to hide actual communication patterns from network observers.
- [Mesh Networking](https://awesome-repositories.com/f/networking-communication/mesh-networking.md) — Sends messages directly between nearby devices over a mesh network without internet or central servers.
- [Messaging Channel Management](https://awesome-repositories.com/f/networking-communication/messaging-channel-management.md) — Allows users to join or create topic-based channels with password protection and assignable ownership. ([source](https://cdn.jsdelivr.net/gh/permissionlesstech/bitchat-android@main/README.md))
- [Publish-Subscribe Systems](https://awesome-repositories.com/f/networking-communication/publish-subscribe-systems.md) — Organizes channels by topics with optional password protection, ownership transfer, and configurable retention periods for group communication.
- [Offline Topic Channels](https://awesome-repositories.com/f/networking-communication/secure-communication-channels/offline-topic-channels.md) — Creates or joins topic-based channels with optional password protection and controlled retention, without requiring internet.
- [Store-and-Forward Protocols](https://awesome-repositories.com/f/networking-communication/store-and-forward-protocols.md) — Implements a store-and-forward flooding protocol that propagates messages through adjacent devices without duplicates.

### Operating Systems & Systems Programming

- [Mesh Network Battery Savers](https://awesome-repositories.com/f/operating-systems-systems-programming/power-management/battery-power-optimization/mesh-network-battery-savers.md) — Adapts scanning frequency to battery level and compresses messages to reduce power and bandwidth usage on mobile devices.
- [Mesh Network Power Optimizers](https://awesome-repositories.com/f/operating-systems-systems-programming/power-management/battery-power-optimization/mesh-network-power-optimizers.md) — Adjusts scanning based on battery level, compresses large messages, and batches transmissions to save energy and data. ([source](https://cdn.jsdelivr.net/gh/permissionlesstech/bitchat-android@main/README.md))
- [Mesh Scanning Duty Cyclers](https://awesome-repositories.com/f/operating-systems-systems-programming/power-management/battery-power-optimization/mesh-scanning-duty-cyclers.md) — Dynamically reduces Bluetooth mesh scanning frequency when battery is low to extend device runtime.

### Security & Cryptography

- [End-to-End Encrypted Messaging Frameworks](https://awesome-repositories.com/f/security-cryptography/end-to-end-encrypted-messaging-frameworks.md) — Encrypts messages with per-session cryptographic keys so only intended recipients can read them. ([source](https://cdn.jsdelivr.net/gh/permissionlesstech/bitchat-android@main/README.md))
- [Session-Based Exchanges](https://awesome-repositories.com/f/security-cryptography/key-exchange-protocols/session-based-exchanges.md) — Generates unique encryption keys per chat session using Diffie-Hellman exchange to ensure forward secrecy.
- [Anonymous Messaging Tools](https://awesome-repositories.com/f/security-cryptography/privacy-preserving-utilities/anonymous-messaging-tools.md) — Operates without accounts or persistent identifiers, adds cover traffic, and enables emergency wipe to resist surveillance.
- [Privacy-Focused Communication](https://awesome-repositories.com/f/security-cryptography/privacy-preserving-utilities/privacy-focused-communication.md) — Provides a decentralized messenger that operates without accounts and includes an emergency wipe function for privacy.
- [Local Data Wipers](https://awesome-repositories.com/f/security-cryptography/sensitive-data-access-controls/self-destructing-sharing/local-data-wipers.md) — Provides a user-triggered command that wipes all local messages, keys, and channel metadata to protect privacy under duress.
- [User Privacy Protection](https://awesome-repositories.com/f/security-cryptography/user-privacy-protection.md) — Operates without accounts or persistent identifiers, keeps messages ephemeral, adds cover traffic, and allows emergency wipe. ([source](https://cdn.jsdelivr.net/gh/permissionlesstech/bitchat-android@main/README.md))

### System Administration & Monitoring

- [Peer-to-Peer](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/peer-to-peer.md) — A chat platform where devices communicate directly without relying on cloud servers or internet connectivity.
