• No internet
  • No signal
  • Free
  • Open source

When the network is down, messages go from hand to hand.

Pyrsos is a free app for Android phones. It sends messages by passing them from phone to phone over Bluetooth, like the fires that were once lit from hilltop to hilltop.

Download Pyrsos How it works

You Neighbour Passer-by Your mum

Example. There is no signal. You write to your mum, who lives on the other side of town: “I’m fine.” The message goes to a neighbour’s phone, then to a passer-by heading her way, and reaches her. None of them can read it, or even see that it is for her.

How it works

Four steps. Do the first two now, while everything still works.

  1. STEP

    Get the app

    From here while there is internet, or from someone who has it.

  2. STEP

    Add your people, in person

    You meet, and each of you scans the QR code on the other’s screen. Do it with your family and friends before you need it.

  3. STEP

    Write your message

    Pyrsos seals it in an envelope that only the recipient can open. Like a sealed letter: whoever carries it cannot read it.

  4. STEP

    It travels from pocket to pocket

    It passes over Bluetooth to nearby phones that have Pyrsos, even in a pocket, until it arrives. The more people have it, the faster. It can take minutes or days.

Good to know

  • No internet needed. It cannot even go online. You don’t make an account.
  • It never asks where you are. It does not ask for your location, now or ever.
  • Every phone has its own code, 12 characters long, that never changes and cannot be copied. If two of your friends have the same name, the code shows who is who. When you add each other, check together that it matches.
  • It works while closed. It helps messages along even when you are not looking at it. You only see a small notice, which never shows messages. It stops by itself when the battery is low, and you can stop it in Settings.

Get Pyrsos

It is free.

Download it now

If you have internet today, don’t wait. Download it now, and when the time comes you can pass it on to others too.

Download Pyrsos

All versions

  • Version 0.1.0
  • Size 29 MB
  • Android 10 or later
  • Not for iPhone

When you open it, your phone will ask whether to allow installs from an “unknown source”. That is normal, because Pyrsos is not on Google Play. Tap “Allow”.

No internet? Hand to hand

Anyone who already has Pyrsos can pass it to you from their phone, over Bluetooth. Then you can pass it on to others too. If you get it from someone you do not know, check that it is the real one.

Tip: save this page on your phone. It opens without internet too.

Updates, while there is internet

The app Obtainium installs apps straight from where they are published, and tells you when a new version is out. To have it keep Pyrsos up to date:

  1. Install Obtainium, from its GitHub page or from F-Droid.
  2. In Obtainium tap Add app and paste the address of Pyrsos on GitHub:
    https://github.com/pyrsos-app/pyrsos
  3. Tap Add, then Install. From then on, Obtainium offers you each new version.

Android installs an update only if it is signed with the same key as the Pyrsos already on your phone. So no update, wherever it comes from, can swap your Pyrsos for someone else’s app.

How do I know it is the real one?

Someone could hand out a fake Pyrsos to spy on the people who install it. What sets the real one apart is its signature: a digital fingerprint nobody else can make. If you get it from someone you do not know, check it before you install it.

The fingerprint of the real Pyrsos (SHA-256):

B9:CD:42:2C:6E:E5:0C:3F:70:F1:EB:80:36:F1:8A:7C:16:A6:82:C6:87:8C:51:21:4D:5B:63:B7:6D:43:C5:50
  • Check it on your phone. The app AppVerifier shows the signature of an installed app or an APK file as Android itself sees it, so a fake cannot lie about it. Paste the fingerprint into it and it tells you whether they match. It works without internet.
  • Without internet. Keep the fingerprint with you before you need it: written down, printed, or as a screenshot. Or compare with someone you trust whose copy has been checked: in AppVerifier both phones must show the same fingerprint for Pyrsos.
  • The first install is the one that counts. Once the real Pyrsos is on a phone, Android refuses anything signed with another key on top of it.
  • If a check fails, delete that copy and install one that passes.

An app cannot vouch for itself: a fake Pyrsos could show the right fingerprint on its own screens. That is why the check goes through AppVerifier or apksigner, which read what the system itself holds.

If you have a computer

Check the file with the Android tools:

apksigner verify --print-certs pyrsos.apk

The SHA-256 digest line shows the same fingerprint, in lower case and without colons. It must read exactly:

b9cd422c6ee50c3f70f1eb8036f18a7c16a682c6878c51214d5b63b76d43c550

If it does not, do not install it.

Is it safe?

What it keeps safe and what it does not, without overselling.

What it keeps safe

  • What you write. Only the recipient can read it.
  • Who talks to whom. The people carrying your message cannot see who sent it or who it is for. All envelopes look the same. The delivery receipt leaves after a short random delay, so it does not show which phone just received a message.
  • Old messages, if your phone is taken later. Each message has its own key, thrown away once used. What the app deletes, it also writes over. And the envelopes’ tags change with every reply: whoever copies your keys stops recognising the conversation once you have both written again.
  • Your phone, if you set a PIN. Your contacts and messages are then locked in a separate space that opens only with your PIN, and only while the phone itself is unlocked. A tool that copies a locked phone needs both.
  • Being forced to open it. A second PIN, the duress PIN, silently deletes everything, and Pyrsos opens as if new. If you want, ten wrong PINs in a row delete everything too. Messages can also delete themselves after a day, a week or a month.
  • Someone recording today to break your messages in the future. The first meeting of two phones is locked with two locks, one of them made for the quantum computers of the future. Breaking the old one is not enough.
  • Someone pretending to be one of your contacts. You add contacts only face to face. Nobody can get in from far away.

What it does not hide

Know these before you depend on it.

  • That you have Pyrsos. Your phone announces over Bluetooth that it is there. Anyone nearby, with the app or with special equipment, can tell that someone close to them has it. The signal changes every 10 minutes, but someone determined can still tell phones apart. A phone that connects may also see your phone’s Bluetooth name: choose a neutral one, such as “Phone”. If all this is dangerous where you are, turn Bluetooth off.
  • When you sent it. An envelope shows roughly which day it was written. And the first phone to hold it is usually the one that wrote it.
  • An unlocked phone in someone else’s hands. Whoever holds it unlocked, with Pyrsos open, can read what is on it. Use a screen lock and a PIN.
  • A short PIN. Against someone who already knows your phone’s screen lock, four digits are few. Use six or more.
  • Someone filling the air with junk. A hostile phone can hand out lots of fake messages. When a phone is full it drops envelopes at random, so the junk pushes out only part of the rest. Your own messages that have not been delivered are sent again.
  • Which messages belong together, if someone takes your phone. They can tell which messages from the last 15 days belong to a conversation since its last reply. They still cannot read the old ones.
  • The phone’s own software. Some phones tell their maker which apps get installed. Pyrsos has no internet, but the phone around it may.
For technical readers: the exact description

What Pyrsos protects

  • What you write. Only the recipient’s phone can open a message.
  • Who writes to whom, from the phones that carry the messages. Envelopes have one size, tags that never repeat, and the sender inside the encryption. A carrier cannot tell from an envelope who it is from or for, nor which envelopes belong together. Receipts leave after a random delay of up to a minute, so they do not show at once which phone just received a message.
  • Old messages on a phone taken later. Each message key is deleted once used, and the database overwrites what it deletes. The database itself is encrypted with a key held in the phone’s secure hardware. The tags change with every reply, so a copy of the phone’s keys stops recognising a conversation’s envelopes once both sides have written again.
  • Recorded traffic, against a future quantum computer. The first shared secret mixes X25519 with ML-KEM-768, so recording the air today and breaking X25519 later is not enough.
  • What is on the phone, if you set a PIN. Identity, contacts, keys and messages then live in a separate encrypted vault. Its key comes from your PIN together with a secret in the phone’s secure hardware that only works while the phone itself is unlocked; from Android 12 on the system enforces this cryptographically. A forensic tool that copies a locked phone, or runs code on it while it is locked, needs both your PIN and your phone’s own screen lock. While Pyrsos is locked, envelopes are still carried; those meant for you are opened when you enter the PIN. After wrong PINs the waits are counted on a clock that changing the date does not move.
  • Being forced to open it. A second, duress PIN deletes everything silently and opens Pyrsos as if just installed; after wrong PINs it too waits for the wait to end. Optionally, ten wrong PINs in a row delete everything too. Whether a duress PIN exists, and whether the ten-tries wipe is on, are sealed with the phone’s hardware secret: a copy of the phone does not show them.
  • Old messages. Messages can delete themselves from your phone after a day, a week or a month.
  • Your keyboard. The message field asks the keyboard not to learn what you type there.
  • The system log. Release builds write nothing to it, so it holds no record of meetings.
  • Impersonation. You add contacts only in person, from the screen of the phone in front of you. Nobody can slip in as one of your contacts through the air.

What it does not protect

  • That you use Pyrsos. Phones running it announce themselves over Bluetooth. Anyone listening nearby with the app, or with a Bluetooth scanner, can see that a phone close to them runs it. The announcement and the channel change every 10 minutes, but a determined listener can tell phones apart by the radio itself. A phone that connects may also read your phone’s Bluetooth name: Settings shows it, and a neutral one such as “Phone” is best.
  • When you send. An envelope shows the day its carrying ends, and so roughly the day it was written. The first phone to hold an envelope is usually the one that wrote it.
  • A phone that is unlocked and in someone else’s hands with Pyrsos open. They can read what is on it. Without a PIN, someone who can run code on the phone after it has been unlocked once can read Pyrsos’s data too: set a PIN.
  • A short PIN against someone who already has your phone’s screen lock. The PIN is stretched with scrypt, but four digits are still few: use six or more. Without a screen lock on the phone, the PIN alone guards the vault.
  • Someone who can copy Pyrsos’s files and put them back. The count of wrong PINs lives in those files, so restoring an earlier copy resets it, and with it the ten-tries wipe.
  • Traces on the flash memory. The database overwrites what it deletes, but flash memory may keep old copies of pages elsewhere. They stay encrypted; deleting everything also destroys the hardware keys, which leaves them unreadable.
  • The phone’s own software. Some phones report newly installed apps to their maker or app store over the internet (seen on a Samsung phone, which looked Pyrsos up on Google Play). Pyrsos has no internet access, but the phone around it may.
  • Flooding. A hostile phone can hand out many junk envelopes. A phone that is full drops envelopes at random, so the junk pushes out others’ envelopes only in proportion to how much of it there is. Your own undelivered messages are kept while Pyrsos is unlocked, and sealed again if they are pushed out.
  • Linking by someone who holds your phone. With your phone’s keys, someone can tell which envelopes of the last 15 days belong to a conversation since its last reply, and recognise new ones until both sides write again, though not read the old ones.

The source text: SECURITY.md

Contact: pyrsos@tuta.com

The small print, in large print

Open source, free

The code of Pyrsos is open: anyone can read it and check it. It is free software under the GNU GPL, version 3 or later, and it costs nothing.

Are you a developer and want to help? Open an issue on GitHub.

The code on GitHub

We collect no data

The app has no internet permission, so it cannot send anything to anyone, us included. It has no accounts, no ads and no counters. This site has no cookies or counters either.

No liability

Pyrsos is provided as it is, with no warranty of any kind. To the extent the law allows, we accept no liability for any harm or loss from using it.