The argument is about titles, not taste.
Talorys appeared on Hacker News today as "a self-hosted personal AI agent on Cloudflare's free tier." Its repository says the app deploys into the user's Cloudflare account. It uses a Pages app, a private Worker, a Durable Object with SQLite storage, Workers AI, and alarms for scheduled work.[1]
The thread immediately split over the word "self-hosted." Some readers reserve that term for software they can run on hardware or a virtual server of their choice. Others care more about who owns the cloud account and data plane.[5] Both camps are trying to ask a concrete question with one overloaded label.
Replace the hosting label with a title record.
An account is real control.
The public repository is specific about placement. The browser talks to a Pages Function. That function reaches a Worker through a service binding. The configuration disables a public Worker URL. Authentication runs in the Worker. The project's own architecture notes say tasks, notes, memories, reminders, and settings sit in SQLite-backed Durable Object storage.[1]
That is different from a vendor account inside somebody else's application. The operator can inspect the source, choose the Cloudflare account, deploy a named Worker and Pages project, and remove those resources. Call that account-hosted control. It is useful even if it is not portable hosting.
The provider still owns the floor.
Cloudflare describes its Agents platform as a durable runtime with local SQL storage, scheduled work, recoverable execution, routing, and real-time connections.[3] Durable Objects are a Cloudflare service. On the free plan, SQLite-backed objects have a 5 GB account storage limit. A single object has a 10 GB limit, and the default CPU allowance is 30 seconds per request.[3]
Workers AI is another provider layer. Cloudflare currently documents 10,000 Neurons per day at no charge. Usage over that allocation needs a paid Workers plan, and some models require billing or prepaid credits.[4] "Free tier" describes a current allowance. It does not describe a permanent price, a portable model, or a hard local budget.
The installer exists. The deployment was not run.
The create-talorys package exists on npm at version 0.1.2. Its help lists install, update, status, doctor, and reset-password commands. It accepts a directory, account ID, deployment name, non-interactive confirmation, owner password environment variable, and Cloudflare API token.[2]
We ran only the isolated help command. We did not launch the installer, sign into Cloudflare, create resources, submit a token, or test the app. The package archive was fetched and inspected as text. This proves the package and command surface exist. It does not prove a successful deployment, isolation, deletion, backup, or restoration.
Make exit part of ownership.
A useful title record names five owners. Who controls the account? Who can read and export state? Who operates inference? Who can change limits and prices? Who can restore the app somewhere else?
For Talorys at the inspected revision, the first answer is the operator's Cloudflare account. The runtime and default model path remain Cloudflare services. The repository documents backup and restore commands, but this dispatch did not exercise them. Keep that last title open until a real export, clean deployment, and restore replay succeed.