Share CRHQ artifacts publicly via stable links — with rich link previews, in-place updates, password protection, and lifetime visit tracking.
HTML, React, and image artifacts can be shared publicly via a unique URL. This is useful for sharing dashboards, reports, visualizations, and generated content with people who don't have CRHQ access.
Shared artifacts are accessible at:
https://your-instance.crhq.ai/artifact/{shareHash}
The shared page renders the artifact standalone — no CRHQ chrome, just the content.
The same artifact always uses the same share URL — even after the agent edits it, even after you restore an older version, even after multiple updates over the course of a session. Re-sharing the same artifact is idempotent: it returns the existing URL rather than minting a new one.
This means you can paste a share link into Slack on Monday, the agent updates the artifact on Tuesday, and the same link continues to work and reflects the latest content.
When you paste a share URL into WhatsApp, Slack, iMessage, Discord, Twitter, LinkedIn, or any other platform that unfurls links, the preview now shows the artifact's real title and a plain-text snippet of the content — populated server-side from the artifact data. No more "Shared Artifact" placeholder.
Description extraction is type-aware:
| Type | Description source |
|---|---|
| HTML | Plain text after stripping tags + <style> + <script> (~180 chars, cut at word boundary) |
| Markdown | First non-empty paragraph with markdown markers stripped |
| React app | String literals pulled from the JSX, joined with · |
| Image | "Shared image — <title>" |
For password-protected shares, only the generic title is exposed in the link preview — never the artifact's real title or content (until the password is entered).
Add a password to protect shared artifacts:
Until they enter the correct password, the page returns no artifact data — just the generic share landing.
Each share displays a lifetime visit count that persists across revoke + recreate cycles. If you revoke a share and create a new one for the same artifact later, the visit count picks up where it left off — it's an aggregate across all share rows ever attached to that artifact.
The Share modal also shows the timestamp of the last visit so you know when the link was last opened.
When the agent edits an artifact while someone else has the share URL open, the public viewer auto-refreshes. There's also a manual Refresh now button visible on the public page in case the auto-poll is delayed.
You can revoke a share at any time from the Share modal. Revoking:
410 Gone to anyone who tries to load the URL afterward| Type | Shareable? |
|---|---|
| HTML | ✓ |
| React app | ✓ |
| Image | ✓ |
| Markdown / document | not yet (use session sharing instead) |
| Code / file content | not yet |
| Diff | not yet |