The shape of every one of these
An agent produced some HTML. Somebody outside the session needs to look at it. There is no good place to put it that is not either public, or behind an account the reader does not have. Everything below is that, with a different noun.
Client work
Artifacts and conversations
Analysis and reports
Internal work
What travels well, and what does not
Everything above is a document that stands on its own once it leaves the machine that made it. Exported notebooks, single-file dashboards, rendered markdown and diagrams all qualify: the styling and the data are already inside the file.
What does not travel is anything that still needs a server — a page that calls an API on localhost, a dashboard querying a database over a private network, or a framework build that was never bundled. Those are applications, and this hosts documents. Export the view first, then publish the export.
The one call behind all of them
curl -X POST https://read.botook.ai/v1/publish -F file=@index.htmlWhat each needs on top
| Use case | The setting that matters |
|---|---|
| Client deliverable | Password or work-email gate, plus a custom domain |
| Artifact from a conversation | Unguessable link, expiry you choose |
| Credential handover | Burn after read |
| Notebook or report | Nothing — the private link is the feature |
| Internal tool | Email-domain gate and expires_in_hours: never |
| Loop output | A stored site id and update_site |
Where this is the wrong tool
- Anything needing a server side: a database, a login, a background job. This hosts documents.
- A marketing site that must be indexed — every page here carries
noindexon purpose. - A large media library. Publish the page; put the video where video belongs.
How long each of these should live
The default is seven days for a keyed publish and a day for an anonymous one, and the default is wrong about half the time — not because the number is bad, but because the right number is a property of the job rather than of the tool. Expiry here is deletion, so this is worth a thought before you send the link rather than a cleanup afterwards:
| The job | Reasonable life | Why |
|---|---|---|
| A credential or a recovery code | One open | Burn-after-read: the second read is the risk |
| A client deliverable under review | The length of the review, extended if it drags | A link that dies mid-round is the most common way this breaks |
| A status or incident page | Days | It becomes misinformation the moment the situation moves |
| An internal tool you use weekly | never | There is nothing time-bound about it |
| A draft you are iterating on | The default is fine | Replace in place; the link is the constant, not the content |
Start from the agent you already use
Claude Code, Codex,
Cursor, the Claude.ai connector — or no
agent at all and one curl.
Questions
Which of these needs an account?
Only yours, and only if you want the page to outlive the anonymous 24-hour window.
Do readers need one?
Never.
What does it cost?
Nothing — pricing.