Sotvo is an end-to-end encrypted chat room for two people who already know each other. No account, no phone number, no history. A room begins with a code and ends without a trace.
Starting a room takes three steps: open a room, share the code, compare the symbols. Everything else follows from them.
Step 1: open a room
You open a room and Sotvo generates a six-character code, something like KRV-3NP, drawn from an alphabet that skips every character people mishear: no 0 or O, no 1, I or L. A code is meant to survive being read out loud across a kitchen table.
Then it waits. On the current pre-release build (July 2026), the waiting screen says one word: waiting. No countdown, no nudge to invite more people. A free room runs for one hour; the length can be changed in room settings.
The server learns that a room exists and when it should end. Who is inside, it never learns. There is no name, number, or profile to know.
A room knows a code, not a person.
Step 2: share the code
Give the code to the one person you want in the room, over any channel you already trust. Read it out loud. Let them scan it. Paste it into a text. It works once.
When your person enters the code, they claim the room’s second seat and the room seals. A third person who tries the same code is turned away. There is no guest list to manage, because the room’s shape is the guest list: two seats, both taken.
The code is doing the job a phone number does elsewhere, without naming anyone. The longer argument is on its own page: why a room code instead of a phone number.
Step 3: compare the symbols
Once both of you are in, each screen shows the same short row of five symbols, derived from the encryption keys your two devices just agreed on. Compare them out loud, or over the channel you shared the code on. Matching symbols mean no one is sitting between you.
If the symbols don’t match, burn the room and open a fresh one; share the new code over a channel you trust more. A mismatch is loud on purpose. It is the one moment Sotvo asks you to stop.
The key exchange behind the code and the symbols, CPace and post-quantum key establishment included, is written up plainly in how Sotvo protects the room.
How messages travel: sealed envelopes
Every message is encrypted on your device before it leaves, so what crosses the wire is a sealed envelope, and the server’s whole job is to pass that envelope along and then forget it existed. It cannot read your messages. It cannot hear your calls. Nothing is stored that could be handed over later.
If the other person steps away, envelopes wait in a sealed queue until they return. The queue is short-lived: undelivered envelopes are held at most 24 hours, and never past the end of the room. Then they are gone.
We see that a room exists, never what’s inside.
Honesty asks for one more line here. Any server that moves bytes can tell that bytes are moving, when, and how many; ours is no exception. What it cannot tell, from the first envelope to the last, is anything about what those bytes say, and it never sees the room code at all.
Notifications keep to the same rule. If you turn them on, the alert says “Activity in a room”, and that is the message in its entirety: no sender, no content, not even the code.
The life of a room
A room passes through four states, and only four. Opened. Claimed. Then either burned or expired.
| Stage | What happens | What remains |
|---|---|---|
| Opened | One person opens a room; a code exists; the room waits. | A room entry in server memory: its state and its end time. Nothing on disk. |
| Claimed | The second person enters the code; the room seals at two. | The same entry. The code now admits no one new. |
| Burned | Either person ends the room early, on purpose. | Nothing, on this device or the other side’s. |
| Expired | The room reaches its scheduled end. | Nothing. Undelivered envelopes are deleted with it. |
Joining rooms is always free. A free room gives you one hour; rooms of 24 hours or seven days will come with the unlock, which will be a one-time $6.99 purchase. The unlock changes how long a room can live, never how private it is.
Messages usually go sooner. By default, each message fades two minutes after it is sent; turn fast-vanish off and it lives as long as the room instead. When the room ends, on schedule or by hand, everything in it goes too.
Common questions
Can a third person join with the code?
No. A room seals at two people. Once the second seat is claimed, the same code turns everyone else away, and code guessing is throttled at the server. There is no way to make the room bigger, and that is the point.
What happens if someone takes a screenshot?
Screenshots can’t be prevented — so they’re never silent. Sotvo detects the attempt and tells the other person, every time. Saving a photo is announced the same way. No app can stop a camera pointed at a screen; what Sotvo can do is make sure nothing happens quietly.
What if one of you leaves before the room ends?
The seat stays claimed. Either of you can close the app and come back in with the same code until the room expires or is burned. A room that has ended cannot be reopened; nothing of it remains to reopen.
That is the whole machine: a code, two seats, sealed envelopes, and a clock that always runs out. The rest, from stolen phones to what a subpoena would find, is covered in questions people ask before their first room.