🦇 BatChatHub
🥊 Comparison

BatChat vs Session: Which Encrypted Messenger Protects Your Privacy More (2026)

📅 July 15, 2026 ⏱ 8 min ✍️ BatChatHub Team
BatChat vs Session: Which Encrypted Messenger Protects Your Privacy More (2026)

Introduction

The encrypted messaging landscape in 2026 features more choices than ever before. Two apps that frequently appear in privacy-focused discussions are BatChat (蝙蝠聊天) and Session. On the surface, both offer end-to-end encryption. Dig deeper and their approaches to privacy, identity, and infrastructure are fundamentally different.

BatChat is a China-developed encrypted messenger that encrypts all messages on-device before transmission. It requires a phone number for registration but stores no message content on its servers. Session is an open-source, decentralized messenger that requires no phone number, no email, and no personal identifier whatsoever. It routes all traffic through an onion routing network similar to Tor.

This comparison examines the encryption architectures, account models, metadata practices, and real-world usability of both platforms. By the end, you will know which app suits your threat model and daily communication needs.

Encryption Architecture

How BatChat Encrypts Messages

BatChat uses a client-side encryption model: all message content is encrypted on the sender’s device before any data leaves the phone. The app employs three cryptographic protocols working together:

  • RSA for initial key exchange between contacts
  • SRP (Secure Remote Password) for authentication without transmitting passwords
  • Double Ratchet for forward secrecy — each message gets a new encryption key, so compromising one key does not expose previous messages

This combination means BatChat messages are encrypted at rest, in transit, and during delivery. The server acts as a relay — it passes encrypted data between users but cannot decrypt the content. BatChat publicly states it stores zero message data (零数据存储), which aligns with the client-side encryption architecture.

BatChat applies this encryption to all conversations by default. There is no toggle to “turn on encryption” — every chat, every group, and every file transfer receives the same treatment. This eliminates the user error problem where someone forgets to enable encryption before sharing sensitive information.

How Session Encrypts Messages

Session began as a fork of Signal in 2018 (originally named Loki Messenger) and used Signal’s encryption protocol. Since then, the Session Technology Foundation has developed its own Session Protocol, built on the widely audited libsodium cryptographic library.

Session’s Protocol V2, announced in 2025, added quantum-resistant encryption and Perfect Forward Secrecy. This means Session is now hardened not only against current cryptographic attacks but also against future threats from quantum computing.

Like BatChat, Session encrypts all messages end-to-end by default. The key difference is the transport layer — Session routes encrypted messages through a decentralized onion routing network, not a central server.

The Onion Routing Difference

Here is where the two apps diverge significantly:

BatChat uses a client-server model. Your encrypted message travels from your device → BatChat server → recipient’s device. The server never sees plaintext, but it does know: your IP address, when you are online, and which other users you are communicating with (metadata).

Session uses a three-hop onion routing network. Your message passes through three randomly selected nodes in the network before reaching its destination. No single node sees both the sender and the recipient. This is similar to how Tor protects browsing privacy — each node only knows the previous and next hop, never the full path.

Session’s network is operated by over 2,000 independently run nodes (as of 2026). These nodes are maintained by community operators globally, with no central point of control. Node operators must stake 25,000 Session Tokens to participate, creating an economic incentive for honest behavior.

Security DimensionBatChatSession
Message encryptionRSA + SRP + Double RatchetSession Protocol V2 (libsodium)
Quantum resistanceNot claimedYes (Protocol V2)
Forward secrecyYes (Double Ratchet)Yes (Protocol V2)
Transport encryptionClient-serverOnion routing (3-hop)
Metadata protectionServer sees metadataNo single node sees full path
Open sourceClosed sourceFully open source

Account Registration and Identity

BatChat: Phone Number Required

BatChat requires a mobile phone number to create an account. You enter your phone number, receive an SMS verification code, and complete registration. This is the same model used by WhatsApp, Telegram, and Signal.

The phone number acts as your identifier on the network. Other users can find you by your phone number if they have it saved in their contacts. BatChat also assigns a unique user ID that can be shared instead of your phone number.

BatChat’s approach mirrors that of most mainstream messengers: convenience first, with privacy layered on top. The phone number enables contact discovery — when you install BatChat, it checks which of your phone contacts also use the app. This makes onboarding fast but creates a link between your real identity and your messenger account.

Session: Anonymous Account IDs

Session takes a fundamentally different approach. You do not need a phone number, an email address, or any personal information to register. When you install the app and tap “Create Account,” Session generates a 66-character alphanumeric Session ID. This ID is your identifier on the network.

Your Session ID looks like this (example shortened): 05d7ab3c9f.... You share it with people you want to chat with — there is no contact discovery from your phone’s address book.

This design means:

  • No phone number tied to your account
  • No email address tied to your account
  • No way for Session (the organization) to identify you
  • No way for network observers to link your account to your real identity

The trade-off is discoverability. You cannot simply open Session and see which of your friends are already using it. Each contact must be added manually by exchanging Session IDs. This is intentional — privacy and convenience are often in tension, and Session consistently chooses privacy.

Account DimensionBatChatSession
IdentifierPhone number (+ optional user ID)66-character Session ID
Personal info requiredPhone numberNone
Contact discoveryPhone book syncManual ID exchange
Multi-deviceYesPer-device Session IDs
Account recoveryPhone number-basedRecovery phrase

Server Architecture and Data Storage

BatChat’s Centralized Model

BatChat operates its own servers. When you send a message, the encrypted data passes through BatChat’s infrastructure. The company claims zero server-side data storage — messages are relayed, not retained.

In practice, this means:

  • Messages are encrypted on your device, transmitted through BatChat servers, decrypted on the recipient’s device
  • BatChat servers handle message routing, push notifications, and contact discovery
  • Server uptime depends entirely on BatChat’s infrastructure
  • If BatChat’s servers go offline, the app stops working

The centralized architecture provides consistent performance and simplifies multi-device sync. BatChat can push messages to all your linked devices simultaneously because there is a single point of coordination.

Session’s Decentralized Model

Session has no central servers. Message routing, storage, and delivery are handled by the network of community-operated nodes. When you send a message:

  1. Your device encrypts the message
  2. The message enters the onion routing network at the first node
  3. It hops through two more nodes, with each node only knowing the previous and next hop
  4. The final node delivers the encrypted message to the recipient

This architecture provides three privacy guarantees that a centralized model cannot match:

  • No single point of failure: the network continues to operate as long as enough nodes are online
  • No IP address collection: nodes see encrypted traffic but cannot correlate IPs with message content
  • No metadata aggregation: no central entity can build a social graph of who talks to whom

The trade-off is speed and reliability. Onion routing adds latency — each message must travel through three nodes before reaching its destination. During periods of network congestion or when nodes go offline, message delivery can be slower than on a centralized platform.

Privacy Features Beyond Encryption

BatChat’s Privacy Toolkit

BatChat includes several features designed to give users control over their privacy:

  • Secret Chat Mode: Hides the user’s identity within a chat, suppressing name and avatar display. This is different from encryption — it is about identity concealment at the UI level.
  • Disappearing Messages: Configurable message auto-deletion timers. Messages can self-destruct after a set period (minutes, hours, or days after reading).
  • Screenshot Protection: Prevents recipients from taking screenshots of conversations. When screenshot protection is enabled, the recipient’s device blocks screen capture attempts.
  • Pre-set Messages: Encrypted message drafts that can be prepared in advance and sent later, reducing the window during which unencrypted drafts exist on the device.
  • Privacy Settings Dashboard: A centralized page to manage who can see your online status, add you to groups, and view your profile information.

BatChat’s privacy approach focuses on behavioral privacy — controlling what other users can see and do within the app, in addition to the strong encryption baseline.

Session’s Privacy Toolkit

Session’s privacy features are more architectural than additive:

  • No Metadata Collection: By design, Session collects zero metadata. No IP addresses, no device information, no contact lists, no timestamps beyond what is necessary for message delivery.
  • Disappearing Messages: Standard timer-based message deletion, similar to other encrypted messengers.
  • Note to Self: A built-in encrypted notepad for private notes, encrypted with your device keys.
  • Closed Groups: Groups with a fixed member list and strong access controls. Group membership changes require consensus among existing members.

Session also includes voice and video calling as a beta feature, with full end-to-end encryption.

Group Chat Capabilities

BatChat Groups

BatChat supports standard group chat features:

  • Large group capacity (specific limits vary by version)
  • Admin controls including member management and message moderation
  • Group-specific notification settings
  • File sharing within groups
  • @mentions to notify specific members
  • Group invitations via shareable links or direct add
  • Pre-set messages usable within groups

One notable feature is BatChat’s Group Reply system, which allows threaded replies within group conversations — a feature that keeps large group chats organized.

Session Groups

Session supports both open groups and closed groups:

  • Closed Groups: Fixed membership, all members must agree to add/remove participants. Messages are fully end-to-end encrypted.
  • Open Groups: Anyone can join via a link. Open group messages are not end-to-end encrypted by default (they function more like a public chat room).

Session’s group features are simpler than BatChat’s, reflecting its focus on privacy minimalism. Admin controls exist but are less granular. File sharing, @mentions, and reactions are supported.

Platform Availability

PlatformBatChatSession
AndroidYesYes
iOSYesYes
WindowsYesYes
macOSYesYes
LinuxNoYes
WebNoNo

Both apps support the four major platforms. Session’s Linux desktop client gives it an edge for users in privacy-focused operating systems. BatChat’s focus is on mobile-first usage, with desktop clients for Windows and macOS as companion apps.

Open Source and Transparency

This is one of the most significant differences between the two messengers.

Session is fully open source. All client code (iOS, Android, desktop) and all server/network code is publicly available on GitHub. Security researchers can audit the code independently. The Session Protocol specification is publicly documented. This transparency allows the cryptographic community to verify that Session does what it claims to do.

BatChat is closed source. Neither the client application code nor the server code is publicly available. Users must trust BatChat’s claims about its encryption implementation and data handling practices. While independent security audits could theoretically verify the app’s behavior (through black-box testing and network traffic analysis), no public third-party audits are currently available.

For many privacy-conscious users, the open-source question is decisive. Closed-source encryption is unverifiable encryption — you are trusting the developer, not the math.

Real-World Usability

Network Accessibility

This is a practical consideration that often gets overlooked in encryption comparisons.

BatChat works natively within China’s network environment. Users in China do not need a VPN to use BatChat. This is a significant practical advantage for Chinese-speaking users, since alternative encrypted messengers (Signal, Telegram, WhatsApp) are all blocked in China and require VPN access.

Session runs on a decentralized network of community nodes. Because there is no central server to block, Session can be more resilient against censorship. However, individual node IPs can still be blocked by firewalls. In practice, Session accessibility in China depends on whether enough nodes maintain unblocked IPs.

User Experience

BatChat’s interface follows the familiar messaging app pattern: chat list, contacts, groups, settings. Anyone who has used WhatsApp or WeChat will find BatChat intuitive.

Session’s interface is similarly clean but with fewer features. The app is minimal by design — fewer settings, fewer customization options, and a focus on core messaging functionality. Users coming from feature-rich messengers like Telegram may find Session too sparse.

Performance

BatChat’s centralized architecture provides fast, consistent message delivery. Messages are relayed through a single server infrastructure optimized for speed.

Session’s onion routing adds measurable latency. Messages pass through three network hops, each introducing delay. Under good network conditions, this delay is typically under one second. During congestion or node issues, delays can stretch to several seconds.

BatChat vs Session: Side-by-Side Summary

FeatureBatChatSession
Default encryptionClient-side E2ESession Protocol E2E
RegistrationPhone numberNo ID required
ArchitectureCentralizedDecentralized (2,000+ nodes)
Message routingClient → Server → ClientClient → Node 1 → Node 2 → Node 3 → Client
Metadata collectionServer logs metadataNo metadata collected
Open sourceNoYes
Multi-device syncYesPer-device IDs
Voice/video callsYesBeta
Disappearing messagesYesYes
Screenshot protectionYesNo
Works in ChinaYes (no VPN)Variable
Linux clientNoYes

Which One Should You Choose?

Choose BatChat if:

  • You are in China and need a messenger that works without VPN
  • You want a familiar messaging experience with strong encryption by default
  • Multi-device sync is important to your workflow
  • You need advanced group management features
  • You want features like screenshot protection and secret chat mode
  • Phone number-based contact discovery is a convenience you value

Choose Session if:

  • Complete anonymity is essential to your threat model
  • You do not want to provide a phone number to any service
  • Open-source verifiability is non-negotiable
  • You need protection against metadata collection and traffic analysis
  • You are comfortable with a more minimal feature set
  • You want a messenger that cannot be shut down by any single entity

The Hybrid Approach

Some users run both apps for different purposes:

  • BatChat for everyday conversations with friends, family, and colleagues in China
  • Session for communications that require the highest level of metadata protection and anonymity

This “defense in depth” approach recognizes that no single messenger is optimal for every use case.

The Bottom Line

BatChat and Session represent two different philosophies in the encrypted messaging space. BatChat aims to make strong encryption accessible and practical within China’s ecosystem — a messenger that works where people actually need it. Session aims to make messaging as private as technically possible — a messenger that collects nothing, knows nothing, and cannot be compelled to disclose anything.

Neither approach is wrong. They address different threat models and different user populations. The critical factor is understanding what each app protects against — and what it does not. BatChat protects your message content from third-party interception but exposes metadata to its servers. Session protects both content and metadata through decentralization, at the cost of speed and mainstream usability.

For users in China seeking a balance of strong encryption and practical accessibility, BatChat delivers encryption without the friction of VPN requirements. For users worldwide whose threat model demands maximum anonymity, Session’s no-phone-number, no-metadata architecture provides protection that no centralized messenger can match.

Frequently Asked Questions

Does BatChat store my messages on its servers? BatChat claims zero server-side data storage (零数据存储). Messages are encrypted on the sender's device before transmission and pass through BatChat servers only as encrypted relay traffic. However, because BatChat is closed source, this claim cannot be independently verified through code audit. Network traffic analysis can confirm that data leaving the device is encrypted, but cannot confirm what happens on the server side.
Can Session messages be intercepted? Session messages are end-to-end encrypted with the Session Protocol V2, which includes quantum-resistant encryption. The content of messages cannot be decrypted by any intermediary node. However, onion routing protects the *path* of the message, not the *fact* that a message was sent. A sufficiently powerful adversary monitoring all three nodes in a message's path could theoretically correlate timing to discover communication patterns, though this is extremely difficult in practice.
Why does Session not require a phone number? Session's design philosophy treats phone numbers as a privacy liability. Phone numbers are persistent identifiers tied to real-world identities through telecom carriers, government ID requirements for SIM cards, and billing records. By eliminating the phone number requirement, Session removes the most common link between a messaging account and a real person. Your Session ID is a cryptographic key, not a piece of personal information.
Which app is better for journalists and activists? For users with high-risk threat models — journalists, activists, whistleblowers, lawyers handling sensitive cases — Session's metadata protection, onion routing, and open-source verifiability make it the stronger choice. The ability to create accounts without any personal identifier and communicate without leaving a metadata trail addresses the surveillance risks these users face. However, BatChat's screenshot protection and secret chat mode add useful layers for specific scenarios within a moderate-threat environment.
Can I use BatChat outside of China? Yes. BatChat works globally and is not geographically restricted. Users outside China can download BatChat from app stores, register with any phone number, and use all features normally. The app's China-oriented design does not limit its functionality elsewhere.
Are BatChat voice and video calls also encrypted? Yes. BatChat applies the same encryption to voice and video calls as it does to text messages. Calls are encrypted end-to-end using the app's encryption protocol. Screen sharing during calls is also encrypted.
How many nodes does the Session network have? As of 2026, the Session network is operated by over 2,000 independently run community nodes globally. Node operators must stake 25,000 Session Tokens to participate. The network supports millions of users. The node count fluctuates as operators join and leave the network.

Visit the BatChatHub home page for our latest tutorials, comparisons, and guides on encrypted messaging. For more on BatChat’s security posture, read our BatChat security review. Interested in how other messengers compare? See our comprehensive guide to encrypted messaging apps. New to BatChat? Start with our BatChat beginner’s guide.

Want to try BatChat yourself?

Download BatChat for free and experience end-to-end encrypted messaging across all your devices.

📥 Download BatChat Free
Share: