Yap! Early stage · Sept 2026

Anonymous group chat · Discord-shaped

One you. A different name in every room.

Yapbox is a group chat that looks and works like Discord — servers, channels, roles, the lot — where your handle in each community is derived from one identity, and nothing connects them. Not other members. Not the server. Not us.

Open the prototype → Read the design note no account · runs in your browser
Derived live, in this tab. A fresh seed, three real HKDF-SHA256 derivations. Open the console and check.
Master seed — generated here, never sent anywhere
generating…
CommunityHKDF info stringYour handle there

Same seed and same community gives the same handle, every time — so inside a community you are persistently you. A different community gives a handle with nothing in common. The server stores the right-hand column and nothing that could recompute it.

The idea

Per-community pseudonyms that don't link to each other

On Discord one account is one global identity: every server sees the same user ID, so anyone who knows you in one place can find you in another. Yapbox is built around the opposite.

INSIDE A COMMUNITY

You persist

Same handle every time you return. Roles, history, reputation and moderation all work the way you expect, because to that community you are one consistent person.

ACROSS COMMUNITIES

You don't link

Your handles are cryptographically unlinkable — to other members and to the server. A marine-life nerd, a night-shift nurse and a letterpress printer can be one human, and nobody can tell.

STILL

One account

One identity, one recovery phrase, one login. The separation is in the maths, not in juggling burner accounts.

How it's built

The hard part is borrowed. The new part is the identity layer.

Group end-to-end encryption with key rotation, multi-device and verification takes years to get right. A Discord-shaped interface takes months. So Yapbox builds the tractable thing on top of the hard thing: Matrix for the cryptography, a Discord-shaped Matrix client for the interface, and an identity layer of our own.

Key materialYours · on device
A keypair generated on your device and never registered anywhere.
No server-side identity store to leak, sell or subpoena.
Right to actThe Yapbox layer
An anonymous credential, blind-signed by an issuer, proving the bearer is entitled to be here. Unlinkable to the moment it was issued.
Scarcity without deanonymisation. This is what a phone number buys Signal, minus the phone number.
AdmissionPer community
Invite trees. Each community gates who gets a credential for it.
Sybil resistance, and moderation that scales socially instead of centrally.

None of this needs new cryptography. Privacy Pass, VOPRFs and HKDF are standard primitives; Signal already uses anonymous credentials so its group server can verify you're a member without learning which one. Recovery and multi-device are inherited from Matrix: cross-signing for new devices, secure backup for a lost one, and social recovery — split your key across people you trust, who are already in your communities.

What changes

Discord-shaped, not Discord-but-private

Nearly every Discord affordance exists because plaintext lives on the server. Take that away and some things behave differently on day one. We would rather say so than half-support them.

On DiscordWhat breaks without a readable serverWhat Yapbox does instead
Scrollback on joinYou weren't a member, so you were never given the keys. New joiners see an empty room.Say so, honestly. Members can choose to share history on invite — a decision with a cost, not a default.
Server-wide searchThere is no server-side index over plaintext.Search runs on your device, over your own history. Fast, but only yours.
BotsA bot can't read what it can't decrypt.A bot with keys is a member with full access. The UI says exactly that.
ModerationMods can't see everything.Reporting reveals the reported message and nothing else.
Log in from anywhereThrowaway sessions fight key material.Each new device is verified by one you already hold. We accept the friction.

Not a bug

There is nothing above this line.

That is what a new member sees in a Yapbox channel, with the reason attached. Messages sent before you joined were encrypted to the people who were there. The server holds ciphertext it cannot read, and no key was ever issued to you. Whether that sentence lands is the product's honesty test.

Where it stands

A design note, a working prototype of the identity layer, and no product yet.

Named in September 2026. The prototype is not a mock: the seed, the per-community derivation and the message encryption are real WebCrypto, running in your browser. What it doesn't have is a network, a server, or the credential issuance and admission machinery — which is where the real work lives. Three questions come first, in dependency order.

  1. Own homeserver, or join the federation?Matrix identity is @user:server, bound to a server and woven through federation. How far we can go on anonymous identity depends on this, so it gates everything else.
  2. Community-scoped bans, or revocable credentials?Unlinkable and bannable pull against each other: every revocation mechanism leaks a little linkability. The least cryptography — bans scoped to a community, backed by invite trees — may also be the best product.
  3. What do we tell someone who joins and sees nothing?The empty channel is the first thing a new member meets. The answer decides whether the honesty above reads as a feature or a fault.

Try the part that exists.

Three communities, three handles, one seed. Flip to the server's-eye view to see what would actually be stored, then join a fourth community and watch a fresh handle appear.