Blind Peering π
How a Keet room stays in sync when its members aren't online at the same time β encrypted copies kept by always-on peers that can't read them.
Keet has no central servers β a room lives on the devices of the people in it. That raises a fair question: if I send a message while the other person is offline, and then I go offline too, how does it ever arrive?
The problem
Everyone in a room keeps their own copy of its messages. Catching up is a matter of syncing: when two members are online at the same time, their devices swap whatever the other one is missing.
That only works if someone holding a copy is online. Most phones and laptops aren't online all the time β so two people who are never online at the same moment would never catch up on each other's messages.
The solution: blind peers
A blind peer is a peer on the network that is simply more available than most devices β it stays online so a room's data stays reachable.
When you send a message, a blind peer keeps a copy. When other members of the room come online β even long after you've gone offline β they sync the latest messages from whoever holds them, including the blind peer.
But can't that peer read my messages?
No β that's why it's called blind.
A Keet room is encrypted, and only the people in the room have the keys β the keys never leave the members' devices. A blind peer stores the room's data in its encrypted form and has no key to unlock it: it can't read your messages, files, or names. It helps keep the room available β it can never see inside it.
It doesn't matter who runs a blind peer β the room stays just as unreadable either way. You don't have to trust the operator; the encryption does that work. π
A picture to keep in mind
Think of a room as a shared notebook written in a code that only its members can read. Every member keeps their own copy, and whenever two members are online together, they copy each other's newest entries.
A blind peer keeps one more copy of that notebook in a library that never closes: members can drop in at any hour and copy out the newest entries. And because the notebook is written in code, the librarian can't read a word of it.
Going a layer deeper
Nothing is in transit
Once you hit send, your message isn't traveling anywhere β it's simply part of the room, and the room exists as copies on the devices that hold it. When your friend comes online, their device updates its own copy from whichever copy is reachable. A blind peer's job is just to make sure an up-to-date copy is always reachable.
More copies, more availability
A room isn't tied to a single blind peer. Any member who happens to be online helps others catch up, and a room can use several blind peers at once. More copies simply mean more chances to sync β no single copy is a point of failure.
What a blind peer can and can't do
It can store a room's encrypted data, stay online, and serve it to members who come to sync.
It can't decrypt any of it β and it can't add or change messages either: only the members of a room can write to it.
Want the deep technical version?
The Pear documentation explains what's under the hood β how rooms are stored, how peers replicate them, and how blind peering compares to plain seeding. Start with Availability and blind peering π.