For developers

Take a piece

The APIs

Everything the apps use. The one call that needs nothing from you is /info, the join preview — it's open on purpose, because a client has to be able to tell you whether you need an account before you try.

bash
curl -s https://chat.example.com/info
json
{
  "serverId": "...",
  "name": "Bird House",
  "members": "12",
  "lanOpen": false,
  "identityTiers": ["account"],
  "joinPolicy": "invite"
}

A server with discovery turned off answers 404 to anyone who isn’t already a member. The build number only comes back for members, because an open endpoint that names your exact version is a list of hosts for someone to scan.

An identity is a P-256 keypair that signs its own certificate. A server checks the signature instead of asking anyone, us included. That is the same handshake a person, a bot and another server all use — there is no second path.