Skip to main content

Collaboration

DeepState boards can be worked on by several people on several machines. There is no DeepState server holding your data: each device keeps its own full copy in its local database and exchanges encrypted changes with the others over whichever path suits you - the office network, an encrypted relay across the internet, or any shared folder. Merges are automatic and never lose anyone's work.

How it works in one paragraph

Every change you make to a board - a node created, a field edited, a connection deleted - is recorded as a small operation in a log alongside the data, stamped with a clock that orders it against everyone else's operations. Devices swap operations. Applying someone else's operations replays their edits onto your copy; where two people edited the same field of the same node, the later edit wins, but different fields and different nodes never conflict. Nothing waits for a server, nothing needs to be online at the same time, and the whole board can be rebuilt from the log alone.

Everything that leaves your machine is encrypted with a per-board key that only the people you invite hold. Relays and shared folders see ciphertext.

Sharing a board

  1. On the board select screen, click the people icon on the board → Collaborate.
  2. Create & copy invite code. This generates the board's key (if it doesn't have one yet) and gives you a code beginning DS1.. The code contains the key: treat it like a password. Send it over a channel you trust (Signal, in person, your team's password manager), not the same channel as the data.
  3. Turn on at least one transport - the same one your colleague will use:
TransportBest forNeedsSpeed
Same networkPeople in one office or on one Wi-FiNothingInstant
Encrypted relayRemote colleaguesInternet; DeepState's relay or your ownInstant while online, catches up when not
Shared folderExisting shared drives, USB sticks, air-gapped networksA folder everyone can reachSeconds to minutes
Changes filesOccasional one-way handoffs, emailNothingManual

You can enable several at once; each fills in whatever the others missed.

Joining a board

  1. Board select screen → Join shared board…
  2. Paste the invite code.
  3. Choose how the inviter is sharing - Same network, Relay (with the same relay URL), or Shared folder (you will be asked to pick the folder).
  4. For network and relay the board appears in your list as soon as a peer sends it; for a folder it is rebuilt immediately from what is there.

Joining counts against your board limit like creating one.

What is shared

Synced between collaborators: the board's name, description, colour and icon; every node and all of its content; connections; actors, organizations and their memberships and links to nodes; narratives, memberships and links; media files (images, video, documents you attached).

Kept local to each device: your viewport (scroll and zoom); AI conversations; presentations; the articles cache behind RSS feeds; enrichment job queues; your settings, keys and connected accounts. RSS feeds themselves are synced, but only the device that created a feed polls it - the articles it produces are synced as ordinary nodes.

The default board created on first run is never synced.

While you work

  • Changes from others appear live: nodes pop in, fields update, and a small toast tells you what arrived. The AI's get_board_diff tool ("what changed in the last hour?") is a good way to catch up after a break.
  • The Collaborate dialog shows each transport's status - connected peers on the network, relay connection state, last folder sync - plus the board's history size and any clock warnings.
  • Pause a transport to stop exchanging for a while; Stop sharing removes all transports; Stop & forget key also deletes the key from this device so the invite code stops working here.

Trust model, briefly

Anyone with the invite code can read and write the board, forever, unless you stop sharing and re-share with a new code. There are no per-user permissions and no read-only invites. Edits carry an author name (your operating-system username) and a device ID, so you can see who did what, but this is a label, not authentication - within a team that shares a key, everyone is trusted equally.

For the cryptographic details and what each transport can and cannot see, read Security & privacy.