blog

Sideband: Encrypted Messaging on Your Phone

Set up Sideband, the Reticulum encrypted messenger for Android and desktop. No sign-ups, no servers, no metadata — just cryptographic identity and peer-to-peer messaging.

Sideband: Encrypted Messaging on Your Phone

This is Part 4 of a 12-part series on building private, resilient communication networks with Reticulum, LoRa, and associated tools.


MeshChat is great at a desk, but you probably want encrypted mesh messaging in your pocket. Sideband is a native LXMF client for Android, Linux, and macOS that gives you Reticulum-powered communication with a proper graphical interface.

What is Sideband?

Sideband is built by Mark Qvist, the creator of Reticulum itself. It's a full-featured messaging app that runs its own Reticulum instance internally — no separate daemon needed.

What makes it different from every other messenger: - No sign-up. No phone number, no email, no account. Your identity is a cryptographic keypair generated on your device. - No servers. Messages route peer-to-peer through the Reticulum network. - No metadata leakage. No central server logs who talks to whom. - Works offline. Connect via LoRa radio, local WiFi, or nothing at all (store-and-forward via propagation nodes). - Interoperable. Messages work with MeshChat, NomadNet, and any other LXMF client.

Installing Sideband

Android

Sideband is available as an APK. Download the latest release from the Sideband GitHub releases page. You'll need to enable "Install from unknown sources" in your Android settings.

There's also an effort to get Sideband on F-Droid — check the releases page for the latest status.

Linux

pip install sbapp

Or with system package restrictions:

pip install sbapp --break-system-packages

Then run:

sideband

macOS

pip3 install sbapp

Then run:

sideband

First Launch

When Sideband starts for the first time:

  1. It generates your Reticulum identity — a unique cryptographic keypair
  2. It creates an LXMF address derived from your identity
  3. It starts a Reticulum instance with the default AutoInterface (local network discovery)

You'll see your LXMF address displayed in the app. This is what you share with people who want to message you.

Connecting to the Wider Network

By default, Sideband only discovers peers on your local network. To reach the testnet and other remote nodes, you need to add a connection.

In Sideband, go to Connectivity settings and configure a TCP connection:

  • Host: dublin.connect.reticulum.network
  • Port: 4965

Or connect to any other public Reticulum transport node. You can find community-maintained lists at directory.rns.recipes and rmap.world.

Once connected, Sideband will start receiving announces from the wider network.

Sending Your First Message

To someone you know

  1. Get their LXMF address (a hex string like 8dd57a738226809646089335a6b03695)
  2. Tap New Conversation
  3. Paste their address
  4. Type and send your message

The message is encrypted end-to-end. Only the recipient can read it.

To discover people on the network

  1. Tap Announce to broadcast your presence
  2. Wait for other users' announces to arrive
  3. Discovered users will appear in your contacts

Understanding Propagation Nodes

What happens when the recipient is offline? On a normal messenger, the server holds the message. Reticulum has no servers — but it has propagation nodes.

A propagation node is a Reticulum node running LXMF that stores messages for offline recipients. When the recipient comes online and connects to a propagation node, their waiting messages are delivered.

Sideband can be configured to use propagation nodes automatically. In the Propagation settings, you can specify a propagation node address, or let Sideband discover one on the network.

This is how Reticulum achieves store-and-forward messaging without any centralized infrastructure.

Sideband with Hardware

Sideband really shines when paired with radio hardware. It supports direct connection to RNodes via:

  • USB serial — plug an RNode into your Android phone with an OTG cable, or into your Linux/macOS machine
  • Bluetooth — pair an RNode with your phone wirelessly
  • WiFi/TCP — connect to an RNode over your local network

We'll cover this in detail in Part 6 (Go Off-Grid), but the key point is: Sideband + RNode = encrypted messaging with zero internet dependency.

Key Sideband Features

Feature Details
End-to-end encryption Curve25519 ECDH + AES, always on
Delivery receipts Cryptographically signed proof of delivery
Image sharing Send photos and images in conversations
Audio messages Record and send voice clips
Location sharing Share GPS coordinates with contacts
Telemetry Share sensor data (temperature, battery, etc.)
Paper messages Generate QR codes for passing messages physically
Propagation Store-and-forward via LXMF propagation nodes
Multi-interface Connect via WiFi, TCP, LoRa, Bluetooth, serial simultaneously

Sideband vs. Signal, WhatsApp, etc.

Sideband Signal WhatsApp
Requires phone number No Yes Yes
Requires internet No Yes Yes
Central servers None Yes (Signal Foundation) Yes (Meta)
Works over radio Yes No No
Metadata collection None Minimal Extensive
Open source Yes Partially No
Works offline Yes (with propagation nodes) No No

The trade-off is obvious: Sideband doesn't have the polish or the billion-user network effect. But it works when nothing else does, and nobody is collecting your data.

Tips

  • Announce periodically. Other nodes need your announce to know how to reach you. Sideband can be set to announce automatically at intervals.
  • Use propagation nodes if you're not always online. This ensures messages reach you even when your device is off.
  • Back up your identity. Your Reticulum identity is stored locally. If you lose it, you lose your address and nobody can message you at the old address anymore. Export it from Sideband's settings.
  • Battery life on Android is reasonable but Sideband does need to run in the background to receive messages. Configure Android's battery optimization to not kill it.

Troubleshooting

No messages arriving: - Make sure you've announced recently - Check that your TCP interface is connected (Connectivity settings) - If using propagation, verify the propagation node address is correct and reachable

Can't connect to testnet: - Verify the hostname and port in Connectivity settings - Check that your device has internet access - Try an alternative transport node from the community lists

Android kills Sideband in background: - Go to Android Settings → Apps → Sideband → Battery → Unrestricted - Disable battery optimization for Sideband

What's Next

You can now send encrypted messages from your phone or desktop with zero infrastructure dependency. In the next guide, we'll add radio hardware — flashing an RNode onto a cheap ESP32 LoRa board so you can communicate without any internet at all.


Previous: [Part 3 — Send Your First Encrypted Message with MeshChat] Next: [Part 5 — Flash an RNode: Turn a $15 ESP32 LoRa Board into a Radio Modem]

← back to index