Sync
Four transports, none of which is a service you sign up for.
Umbra ships the merge logic and no backend. A board is an append-only log per device, so two logs always merge — which means sync can ride on almost anything that moves files.

Shared folder
Point two machines at the same Drive, Dropbox or Syncthing folder. That is the entire setup.
Git
Append-only logs do not produce merge conflicts, so a board can live in the repository it belongs to and travel with the code.
The office LAN
Peers discover each other over mDNS (_umbra._tcp.local.) and connect directly.
The TXT record carries only a device id and a protocol version — keys and names
go inside the encrypted handshake. No relay, no account, no internet.
A relay
For teammates who are not on your network. Traffic is encrypted per link (X25519 + ChaCha20-Poly1305) and per board before it reaches any transport, so the relay holds nothing readable. It is about 180 lines and you can self-host it.
Private boards
A private board is not a permission flag. It never enters the sync set at all, which is a property of the code rather than a promise in a settings screen.
If we disappear
Boards live on disk, LAN peers find each other with no server, and a folder remains a supported transport. If our relay goes away — outage, bankruptcy, a decision — every board is still openable, still editable, and still syncable by another route.