Peers

Peer-to-peer messages and calls for iPhone and Mac.

Chat like it’s just you and your friends. Because it is.

Peers sends messages and calls straight from your phone to theirs, one friend or a whole group. No account, no number, and nobody peering in along the way.

Coming soonto the App Store and TestFlight

Free. Open source. iPhone and Mac.

Two ways a message can travel Top row, faded: a phone sends a message to a wide data centre building full of server racks, labelled “the cloud”, which passes it on to a second phone. Bottom row: a phone is joined to a second phone by a single straight line, with nothing in between. Most apps the “cloud” Peers nothing in between
Most apps: your message goes to the cloud, then to your friend. Peers: it goes to your friend.

Nothing to fill in

Three things you never give us

No phone number

Nothing to type in, nothing to verify, nothing tying this app to the rest of your life.

No email

No confirmation link, no password to forget, no address sitting in a list somewhere.

No account

Nothing to log in to, on any device, ever. There is no login screen to get past.

You open Peers, pick a name and a little face, and you are done. There is nothing to sign up for, nothing to verify, nothing to leak. If you delete the app, there is no account left behind, because there never was one.

For the curious

Your identity is a key pair generated on your device (Ed25519). It never leaves your Keychain. There is no user database anywhere.

Finding each other

How you meet

An invite is a house key, handed over in person.

  1. Share a link or a QR code with the person you want to talk to.
  2. They open it and they are in that one chat. Nobody else can join, and there is no directory, so strangers cannot find you.
  3. Check the four emoji next to their name. If they match the four on their screen, you are talking to the right person.
Matching four-emoji fingerprints on two phones Two phones side by side. Your screen shows the contact Ana with the emoji fox, moon, pizza, guitar. Ana’s own screen shows the same four emoji. A green tick between them marks the match. Ana her four emoji 🦊 🌙 🍕 🎸 on your phone Ana her four emoji 🦊 🌙 🍕 🎸 on her phone
Same four emoji on both screens means you are talking to the person you think you are.
For the curious

The invite link carries the room secret in the URL fragment, which browsers and servers never see. The four emoji are a fingerprint of the contact’s public key.

The core of it

Sealed twice

Every message is sealed on your phone before it leaves. Then it is sealed again for the chat. The relay that carries it sees a locked pouch with a number on it and nothing else.

OPUS cannot read your messages, and neither can the relay that carries them.

A message sealed twice, then handed to a courier Three steps. First, a written note goes into an envelope that only your friend can open. Second, that envelope goes into a pouch that only members of the chat can open. Third, the padlocked pouch is carried by a courier, drawn beside an eye with a line through it, because the courier cannot look inside. 1. Sealed for your friend 2. Sealed for this chat 7Q2X 3. The courier cannot look in
Two seals, one courier: the relay carries the pouch and can open neither layer.
What the courier can and cannot make out
SeesDoesn’t see
A locked pouch and a random-looking chat number Who you are
That some pouch was sent at 14:03 What it says, who sent it, or who it is for by name
For the curious

Room-level encryption from the ird p2p SDK, plus a second per-message layer with per-sender hash-ratchet chains (sender keys), AES-GCM, X25519 pairwise key distribution. Packets are signed with the sender’s Ed25519 key. Files are chunked, transferred directly, and verified by SHA-256.

Offline delivery

When your friend is asleep

The mailbox. If your friend’s phone is off, your sealed message waits in a mailbox for up to 24 hours. The mailbox cannot open it.

The doorbell. A locked iPhone only wakes for Apple. So a small program run by OPUS asks Apple to wake your friend’s phone. It is told which phone and when. It is not told who is calling, which chat, or what was said, and it keeps none of it.

If that program stops, nothing is lost. The message is already in the mailbox, and the phone collects it when it next wakes or when your friend opens the app.

The message and the ring take different paths Your phone on the left, a locked phone on the right. One path runs upward through a doorbell, which wakes the sleeping phone. A separate path runs downward through a mailbox, which holds the sealed message until the phone comes back. you asleep the ring: which phone, and when the mailbox: the sealed pouch, up to 24 hours
The ring and the message travel separately, and neither carries your name.
For the curious

The doorbell is a menu-bar app for Mac, separate from Peers, and anyone can run one. What it sees, and how to run your own.

No signal, no problem

Same room, no internet

Walkie-talkies, essentially.

If you are in the same place, on the same Wi-Fi or even just near each other, Peers connects your devices directly, with no relay and no internet at all. On a plane, in a basement, at a festival with dead cell service: if you are nearby, you still talk.

Two nearby phones talking with the internet crossed out Two phones facing each other, with signal arcs meeting in the space between them. Above them, the word internet inside a rounded box, crossed through with a line. internet you your friend
Nearby devices talk to each other directly, with nothing else involved.
For the curious

Bonjour over the local network and Apple’s peer-to-peer Wi-Fi (AWDL), with a signed handshake and a per-room AES-GCM link. The app shows “online · nearby” when it is using it.

Voice and video

Calls, the same way

Voice and video, one to one and in groups, straight between devices. When a direct path is blocked, as it is on some office networks, a relay passes the encrypted stream along without being able to listen to it.

Calls show up on the lock screen like normal phone calls, so you answer them the way you answer everything else.

For the curious

WebRTC with DTLS-SRTP, full mesh for groups, CallKit and PushKit integration. ird provides STUN and TURN.

Everything else

Everything you expect from a modern chat

Groups of up to 16 people per chat.

Threads, replies and quotes, so a busy chat stays readable.

Reactions and animated stickers, 43 bundled, plus optional GIF search.

Photos, files and voice notes, played back with their real waveform.

Link previews you can copy without opening the link.

Polls, single or multiple choice, anonymous if you like.

Disappearing messages, per chat, with the timer in the top bar.

Face ID or a PIN on the app itself.

BUZZ, for when you really need their attention.

Read receipts and typing indicators, sent only inside the sealed chat.

Mac and iPhone, the same app on both.

screenshot placeholder
iPhone, 390 × 844
screenshot placeholder
Mac window

Side by side

Compared with a typical messenger

What A typical messenger Peers
To start A phone number or an email address, verified Nothing. Pick a name and go
Your account A record in the company’s user database There is no account
Where messages rest On company servers as well as on your phone On your devices. Offline messages wait sealed for up to 24 hours
Who can read them Varies by app, and by how it is configured You and the person you wrote to
How people find you By number, by username, or through an uploaded address book Only through an invite you send
Your address book Often uploaded to match contacts Never leaves your device
With no internet Nothing works Nearby devices still talk
If the service stops The app stops working Nearby keeps working, and messages wait
Changing provider Not usually possible The relay is a setting you can change
The code Varies by app Open source under the GPLv3, apps and doorbell alike

Independence

You do not have to trust OPUS

Peers is open source under the GPLv3: the iPhone app, the Mac app and the doorbell that wakes sleeping phones. Every part OPUS runs is a part you can replace.

Change the relay

The relay that carries your sealed messages is a setting in the app. Point Peers at a different one, or at one you run yourself.

Run the doorbell

The doorbell is a small menu-bar app for Mac, separate from Peers, that ordinary users never install. Anyone can run one.

Build your own Peers

Build the app under your own Apple developer account and it runs independently of OPUS, while you still chat with everyone using the App Store build.

One Apple rule. Apple ties push notifications to the account that shipped the app. So waking a phone that runs the App Store build needs OPUS’s Apple key, and that one piece stays with OPUS. Phones running your own build are woken with your key, from your own developer account.

Bring one friend. Peers come in pairs.

Coming soonto the App Store and TestFlight

Free. Open source. iPhone and Mac.