Guide · publishing
Publishing AI-generated HTML reports securely
What you want is for the report an agent made to reach the people it is for and nobody else, for someone to have decided it was ready, and for a record of who opened which version. A public link does the first part badly and the rest not at all.
Why a share link is not enough
Claude, ChatGPT, v0 and the static hosts can all put HTML on a URL in seconds. A URL anyone can open is fine for a demo. For a client's figures, a board pack or an audit finding, a forwarded link forwards the content, nothing says who read it, and nobody had to approve it before it went out.
What secure publishing needs
| Need | Why it matters |
|---|---|
| Readers sign in | The audience is checked on every request, so a forwarded link forwards nothing. |
| Named audiences | A person, a team, an email domain or a verified guest — not everyone with the link. |
| Sign-off before release | A person with the authority decides a version is ready before anyone outside sees it. |
| Scanning | Agents paste keys and tokens into HTML; a hit should block the publish. |
| Versions behind one address | Republishing updates the same link and keeps every earlier version. |
| A record of access | Who opened which version, and when. |
| No public access by an agent | An agent should never be the one that makes something public. |
Choosing a tool
- For a public page or a demo, a static host or the AI tool's own share button is enough.
- For an internal page, a host behind your single sign-on works if every reader is inside the company.
- For clients, regulators or anyone outside, you need per-reader access, sign-off and a record — which hosts do not keep.
How Deliverd does it
Deliverd's publishing puts an agent's HTML on a versioned address behind each reader's own sign-in, for a named person, a workspace, a directory group, an email domain or a verified guest. Every bundle is scanned for keys and tokens before it goes live, a publishing rule can hold a version for a person's sign-off, and an agent identity can never grant public access.
Readers comment on a passage and the agent reads the comments and republishes; analytics and the audit trail say who opened what. An agent publishes with publish_report over MCP, or from the CLI or REST API, and with no account at all it can hand the person a one-time link to claim the draft. Publishing is one part of the product, beside approvals, gates and evidence.
Questions
- Can a Claude artifact be shared privately with a client?
- Claude's own sharing is built for sharing with people who use Claude. To send one to a client behind their own sign-in, with sign-off and a record, publish the HTML with a tool built for that, such as Deliverd.
- Can someone approve a report before readers see it?
- Yes, in Deliverd. A publishing rule holds a version for a person's approval; readers see nothing until someone with the authority says so, and the decision is on the record.
- Can readers download a PDF?
- Yes. Adding ?format=pdf to a Deliverd report's link renders the current version to a PDF for that reader, behind the same access check.