Docs

How to get documents shared between browsers, and how to stop needing us.

Two sites, and which one you want

The editor's own site is the place for anything about the editor itself: blocks, the slash menu, theming, the AI assistant, how the collaboration extension plugs into a canvas. It is the front door for the project and nothing here repeats it.

This site is about the connection behind it: the server that holds a document while several people write to it, and the hosted service that runs that server so you do not have to. If you are asking “how do I make the editor do X”, go there. If you are asking “how do two browsers end up looking at the same document”, you are in the right place.

The shape of it

A document is a Yjs document. Browsers reach it through a provider over a WebSocket, and the server merges what they send and passes it on. The protocol is the one y-websocket speaks, which means two useful things: the client you already have works here, and a server somebody else wrote can serve your documents if you ever want it to.

Your own application stays in charge of who anybody is. It mints a short-lived token naming the room, and the server checks the signature without ever calling back to you, so nothing about your users reaches us.

Pages