A FRESH ROOM, IN A CLICK
Your browser mints a hybrid keypair (X25519 + ML‑KEM‑768) and a fresh room ID. No account, no email, no install. The room exists the moment you make it.
Bluebells is in closed beta. If someone gave you an access key, paste it below. The key is verified server-side and never stored on this device in cleartext.
Conversations sealed inside their own URL. Talk with people, or hand out burner email addresses that route real mail into the same library. Both encrypted on your device. Both burnable in one tap. Both invisible to us. One protocol. Two inputs.
Your browser mints a hybrid keypair (X25519 + ML‑KEM‑768) and a fresh room ID. No account, no email, no install. The room exists the moment you make it.
Invite a person with a one-use seed (works once, expires in 15 minutes). Or mint a bb-…@inbox.bluebells.com address and hand it to a vendor. Either way, mail flows into the same library.
Every message, whether from a person or an inbound email, is XChaCha20‑Poly1305 encrypted under a key only your devices hold. The relay sees opaque bytes. We can't read it. Nobody can.
Roll a room key, or burn the room outright and the conversation becomes literally unreadable. Burn an email address and the id is tombstoned globally. Nobody can re-issue it. Not even you.
A Bluebells room accepts messages from other people and real email from the outside world. Same protocol. Same envelope. Same one tap to burn. The world's most boring inbox, until you realize nothing inside it has ever touched our servers in the clear.
Mint a fresh address, paste it where it asks for an email, wait for the code, address self-burns after the first delivery.
Active for the window you set. After that the gateway refuses every further message. No "delete account" call required.
Stays open until you burn it. When you do, the bytes free your quota and the address is retired globally.
Every inbound email passes SPF · DKIM · DMARC; the verdict is signed into the envelope by the gateway. A lookalike sender shows up with a ⚠ Unverified tag. No clever rendering will hide that. Read the spec.
Bluebells is built on an open protocol. Every primitive below has been chosen for one reason: to remain unbreakable both today and after quantum computers arrive.
256-bit keys, 192-bit nonces. The extended nonce eliminates reuse risk at any volume of traffic. RFC 8439.
Every operation, shard, and attachment is content-addressed. Identical payloads collapse to identical hashes. Deduplication for free.
Hybrid construction. Both classical and post-quantum secrets must hold. Defends against harvest-now-decrypt-later.
Every operation, every authority action, signed twice. Verification requires both. SLH-DSA layered for long-term integrity.
Per-shard and per-attachment keys derived on demand from the room key plus the content hash. Nothing stored that doesn't need to be.
256 MB memory, 4 iterations. Local device key wrapped under your passphrase. Deliberately expensive to brute-force.
Every key rotation mixes in a fresh round of drand public randomness via HKDF-BLAKE3. An attacker who compromised an old room key cannot predict the next one, even passively.
Every accept is a 32-byte leaf in an append-only Merkle tree. The relay's Signed Tree Head commits to every event it ever processed. Two STHs at the same size with different roots is proof of equivocation.
Two devices in the same room can swap a short URL and open a direct DTLS-encrypted peer connection. Once the channel is up, messages and attachments stop touching the relay entirely.
Doesn't the URL leak everything?
The URL holds only ciphertext, a version byte, and an opaque room ID. Decryption requires the room key, which never leaves your devices. A URL screenshot reveals nothing. A URL in browser history reveals nothing.
What if I close my browser?
Your local library, encrypted under your device root key, keeps the conversation. Reopen the URL, or open the room from your library. Pair another device by QR code and the conversation follows you there.
What can your relay actually see?
Opaque bytes addressed to rotating rendezvous IDs, for up to 60 seconds, with no auth and no logs. You can run your own. You can run several at once. The protocol is designed assuming you don't trust ours.
One click and your browser mints a fresh hybrid keypair, derives a room ID, and prints a URL. Send it to anyone, on any channel, and the conversation begins. Nobody else, including us, has any way to read it. Ever.