Off-network messenger
Documentation

User documentation

Straightforward instructions organised by task.

01

Installation

On Android: download the APK from the Downloads page and install it through the standard sideload prompt. On iOS: open the TestFlight link, accept the installation prompt and the app appears on your home screen. Open Taftan once and grant the microphone and camera permissions when asked. You only need to do this once.

02

Sending a message in the same room

Open Taftan and select the Acoustic channel. Write the message. Choose Audible mode for a quiet environment, Resilient mode if there is significant background noise, or Ultrasonic mode if no sound output is acceptable. Set a password and tap Transmit. The receiving device, open on the Receive screen, will decode it.

03

Sending a larger file using the screen

Select the Optical channel. Choose the file, set a password and tap Generate. A grid of animated QR tiles appears on the screen. The other person points their camera at the screen until the progress indicator reaches 100 per cent, then enters the password to receive the file.

04

Hiding a message inside a photo for any messaging app

Select the Steganographic channel. Choose a JPEG or PNG photo from your gallery (the cover must be between 4 KB and 6 MB). Type the message. Set a passphrase. Choose Normal if you will share the result as a file or document (WhatsApp / Telegram "send as document", email, X.com PNG, AirDrop, USB): the pixels are untouched and the encrypted payload rides in the PNG IDAT chunk or the JPEG COM segment, capacity tens of kilobytes. Choose Robust if you will share the result as a photo through a platform that recompresses (WhatsApp default photo, Telegram default photo, Instagram DM): the output is always JPEG, capacity 500 to 2000 characters. Save the result to your gallery and share it through any normal share sheet.

05

Revealing a hidden message in a photo

Save the photo to your device gallery. Open Taftan, select the Steganographic channel, tap Reveal and select the photo. Enter the password. The original message appears.

06

Fixing a transfer that keeps failing

Acoustic channel failing repeatedly: switch to Resilient mode and turn up the speaker volume. Optical channel stalling: reduce ambient lighting to cut down on screen glare. Steganographic photo not decoding: the platform likely recompressed the image. Retransmit using Robust mode.