Secure Rooms

Rooms and invitations

Creating a room

Approved sellers, moderators and staff can create rooms from the Secure Rooms page. The room name is encrypted with the room key - the server never learns it. Limits: up to 500 members per room, files up to 50 MB, up to 10 files per message.

Topics inside a room

A room works like a forum section: the discussion happens in topics. A topic is a single question, and its replies live inside the topic rather than in a shared feed.

  • A topic stays open until the question is resolved. New replies cannot be posted to a closed topic, but it can be reopened.
  • Important topics can be pinned - they always stay at the top of the list.
  • Unread items are counted per topic: the counter on a room card is the sum of unread items across all its topics.
  • While you are inside a topic, new replies appear immediately, without reloading the page.

Conversations that existed before rooms moved to topics are collected in a separate "Conversation before topics" topic at the bottom of the list.

Inviting participants and history visibility

When you invite someone, you choose how much history they will see:

  • From join (default): the new member gets only the current key epoch and reads messages sent after they join.
  • Full history: the new member gets all key epochs and can read the entire history.

Inviting a buyer is only available to platform staff, with a separate warning in the UI.

"N participants are waiting for keys"

Key delivery is peer-to-peer in practice: only an existing active member can encrypt the room key for a new member. If nobody active is online when someone accepts an invitation, the new member waits - and active members see a banner "N participants are waiting for keys". As soon as an active member opens the room, their client hands over the keys automatically.

Key epochs and member removal

Room keys are versioned as "epochs". A new epoch is created when a member joins, when a member is removed, or on manual rotation. When you remove a member:

  • a new epoch is created, so the removed member cannot read new messages;
  • the removed member still keeps whatever history is cached locally on their device - encryption cannot take back data that was already decrypted.

For this reason, remove members promptly when access should end, and assume that anything shared while someone was a member may have been saved by them.