contenox
Browse docs/

The hosted shape

Between 2025 and 2026 contenox grew a second half: a machine paired to a hosted relay, a standing host serving one workspace, a browser app that read the transcript and answered approvals, and a managed tier where we ran the whole thing for a client. All of it was built and run. None of it is the product now.

This page is the record, kept because the reasoning is worth more than the surface was.

What it was

Pairing. A machine dialled out to the relay with a typed key and its hostname, and from then on its sessions were reachable from anywhere: read the transcript, answer a gated call, from a phone. Free for the account’s first machines. An install that never paired contacted nothing.

contenox serve. The organization’s shape: a standing host on a box someone else looks after, serving exactly one workspace fixed at launch, with no filesystem and no terminal tools at all — every capability was an MCP server you attached. It could run on Postgres, NATS and Valkey when one host was not enough.

The app. A browser client that discovered instances and the sessions they were already holding. There was no workspace picker anywhere, because there was nothing to pick.

The managed tier. We provisioned and operated the whole stack for a client on dedicated infrastructure, with the client funding it. A high retainer, a capped client count, no self-serve — and an AVV plus a service agreement, because once we operate the machinery the data-protection roles have to be written down.

Why it stopped

The pairing half exists to reach a running session from somewhere else. That is a real problem, and it was solved — but it is a problem of supervision, and supervision stopped being what this is for. The verdict recorded on the landing page was that contenox beam is the point: a person, their own machine, their own terminal, no account, nothing dialling out.

Two costs decided it as much as taste did. A hosted half is a pager: a standing service with uptime expectations, a data-protection surface, and a browser client to keep alive. And it moved the product’s centre of gravity away from the part that is actually uncommon — a declaration compiled into a chain and a policy, enforced under one binary on your own machine — toward a control plane that plenty of other people already run.

What remains in the tree

The code is not deleted: contenox serve, the pairing flow, the relay protocol and the app’s client all still exist and still work. Nothing on this site describes them as a way to use contenox, because they are not one.

  • contenox acp still serves the agent to an editor, which is a local transport and stays a front door.
  • The licence and the metered model proxy remain part of the service, which is what “start free” refers to: a small hosted allowance, not a hosted harness.
  • The relay’s own job narrowed to what a local harness actually needs from somewhere else — licences, hosted models, and accounts.

What it taught

  • A second half needs a second owner. Every hosted surface acquired operational obligations the local harness never has.
  • Distribution is not the same as reach. Reaching a running session from a phone did not bring anyone new to the tool; it only changed where an existing user could look at it.
  • The uncommon part was already local. A policy file, a compiled chain, a gate at the tool boundary, a run that survives a wait — all of it works with no server involved at all, which is why removing the hosted half cost the product nothing it needed.

Esc to close