Self-hosting and managed services

Everything local is open source. The hosted service sells resources and their operation; it does not sell access to your own machine.

What is open source

The desktop and mobile clients, the command-line client, the local host and the plugin and skill machinery are all the same open-source builds under the BSD 3-Clause Licence. So is the website service behind this page: an operator can run it under their own Cloudflare account with their own credentials.

Direct connections between your own devices and local pairing need no KalaReach account at all.

What the managed service sells

The hosted service sells provider usage and the operation of the services around it. Its endpoints authenticate the requester and enforce payment, reservations and limits before handing over a resource.

Paid and free capabilities
Paid offeringFree without payment
Managed relay capacity beyond the free allowanceDirect connections between your own devices
Encrypted storage and history backupsLocal sessions, local history and local descriptions
Metered voice and managed reasoningBring your own provider key
Operation of team identity servicesUser-operated team policy
NonePlugins, skills, question forms and basic managed push within its abuse limits

Allowances and what exhaustion means

Managed relay traffic has a monthly allowance per account, larger on a subscription. The defaults are 10 GiB free and 100 GiB on a standard subscription; they are operator configuration, not fixed constants. Anonymous installations receive the free allowance through a device credential, with per-network abuse controls and a global daily budget. Self-hosted services and direct connections do not draw on any of it.

You are warned at 80% and at 95%. At exhaustion the service stops admitting new relayed sessions and gives the connections you already have up to 15 minutes or 100 MiB, whichever ends first, with the remaining interval on screen. That allowance is shared across every connection of that account: it starts at the first exhaustion, and reconnecting, moving to another endpoint or another region cannot reset it. Self-hosted paths are unaffected, and a direct connection you already hold keeps working. Opening a new one can still need a relay to introduce the two devices, so exhaustion blocks that until you supply a current address hint, choose local network discovery, configure another relay or restore the allowance.

The terminal worker on your host stays alive throughout. This is a visible loss of remote connectivity, not the end of your session.

Cancelling a subscription removes future paid capacity at the effective time. It never terminates a local session, and a failed payment does not erase encrypted data without the stated retention period and notices.

Running the services yourself

Discovery, relays, push, sync, storage and model providers are selected independently, so a self-hosted configuration can replace one of them without replacing the rest. A pairing invitation carries the network configuration it expects, and self-hosted configuration names the publisher URL, resolver URL, DNS origin and relay map separately.

The documented HTTP and protocol boundary is kept so an alternative service implementation stays possible. An operator who omits an integration gets a precise diagnostic naming the capability that is disabled, not a silent failure.