miinideckmiinideck
PricingUse casesBlog
Sign in
Sharing AI-built apps

How to privately share a Claude or ChatGPT artifact with a client (2026)

Sending a Claude or ChatGPT artifact to one client — how the channels compare, where private-link hosting fits, and the six clicks that get you there.

By miinideck ai research team·May 25, 2026·7 min read
TL;DR
  • Claude and ChatGPT artifacts live inside the chat that made them. Sharing the chat link works for collaborators; it's a different feel when handing off finished work to a client.
  • Email body and attachment both deliver the file, with safety defaults that shape what the client actually sees on the other end.
  • Public hosts (Netlify, Vercel, GitHub Pages, Tiiny.host) are built for reach. Perfect for a launch — less so when you want one specific client to see something specific.
  • Private-link hosting fills the gap: drop a file, get an unguessable URL, send it. No public listing, no chat history attached, and no signup needed just to try it — with an optional password once you're on the free account.

You built something good with Claude or ChatGPT — a live HTML report, an interactive prototype, a dashboard mock. The chat shows it rendered. The client is waiting.

Now you have to actually send the thing. The hard part should be over. Sometimes it isn't.

There are five or six channels people use for this. Each does something well. Here's what fits where.

The channels you've probably tried

Send the chat link. Works if your client wants to read the conversation that produced the artifact. Most don't — they want the polished output, not the prompts. The chat link foregrounds your thinking process, which is great mid-iteration with a collaborator and a different feel when handing off something finished.

Paste the HTML into the email body. Fine for short snippets — the kind of HTML newsletters and signature blocks are made of. Email apps sandbox everything else (JavaScript, external fonts, complex CSS) because that's what keeps Gmail and Outlook trustworthy at scale. The artifact arrives; the interactive parts don't.

Attach the .html file. The file lands on the client's device exactly as you built it. Email providers add a security check on HTML attachments — sensible, a lot of phishing arrives this way — and how the client opens the file depends on their device. Sometimes a preview opens. Sometimes it lands in Downloads first. For one client expecting it, fine. For three or four people on different devices, you end up explaining the same thing three or four times.

Public hosting (Netlify, Vercel, GitHub Pages, Tiiny.host). Built for the moment you want reach — a launch page, a public demo, a portfolio. Whatever you put there is meant to be findable; that's the whole point. For an artifact meant for one specific client, the same property means it'll show up in search results in a few weeks. Sometimes that's a bonus, sometimes a surprise.

Cloud drives (Drive, Dropbox). Made for working documents — multi-file projects, version history, comments. A standalone .html file lives there fine, but most viewers see the drive's UI first and the artifact second; the file opens as a code preview until they manually pick "open in browser".

So what's left

A self-contained HTML file. One client (or a short list). No public discovery. No chat exposure. No "open in Downloads" ritual. Just send a link, they click, they see the work.

That's the gap miinideck sits in. Drop the file, get a random 32-character link, send the link. No listing on the site, no search index, no chat history attached. If the URL leaks, you delete it.

Send one HTML file, see the link in under 60 seconds. No card, no account, the file self-destructs after 7 days — useful for testing the flow before you trust it with real client work.

Try it free (no signup)

The walkthrough — Claude artifact

  1. Open the artifact in Claude. Click the artifact panel at the top-right of the message. The rendered output appears.
  2. Download the HTML. Use the download icon at the top of the artifact panel. Claude exports a single self-contained .html file — all styling, all JavaScript, all imagery inlined.
  3. Drop the file at miinideck.com/try. Free, no account needed. Max file size on the anonymous tier is 3 MB; most Claude artifacts come in well under that.
  4. Copy the link. It looks like https://www.miinideck.com/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6 — 32 random characters, unlisted, not indexed.
  5. Optional: add a password. Two-second tap. Useful when the client forwards links by habit.
  6. Send the link. Slack, email, WhatsApp, SMS — any channel works. The viewer needs nothing but a browser.

Six steps, no account, no public URL.

One case where step 2 needs a decision first: if the artifact reads live data through a Claude connector, downloading it doesn't carry that data with it — the connector calls run on whoever is viewing, so they simply go quiet outside Claude. What you can and can't do with a connector-backed artifact is worth reading before you build one you intend to send.

The walkthrough — ChatGPT canvas / artifact

ChatGPT's canvas renders HTML/JS the same way Claude does. The flow is identical past the export step:

  1. In canvas, switch to the HTML view. If you're on a multi-file canvas, copy the rendered HTML into one file with assets inlined.
  2. Save as .html.
  3. Same as steps 3–6 above.

If your output isn't already self-contained — it references <script src="..."> to a CDN, or <link href="..."> to fonts — ask the model that produced it to "rewrite this as a single self-contained HTML file with all CSS and JavaScript inlined". Both Claude and ChatGPT are good at that. One prompt usually does it.

What the channel says about the work

If you freelance or run a studio, the file you send a client is the work product — it's what they remember about whether you delivered. The channel you pick is part of that.

A chat link says: come read along with how I built this. Great mid-iteration. Different feel when the work is done.

An attachment says: here's the file exactly as I made it. Best when the recipient is expecting it on a device you know.

A public URL says: this is meant to be found. What you want for a launch, not always for one client.

An unguessable private link says: I picked who sees this, and the list stays with me.

Same artifact, four different framings. Pick the one that matches the work.

When to use what

You haveSend via
A short HTML snippet (under 200 lines, no JS)Paste into the email body
A self-contained .html with interactivity, for one clientPrivate miinideck link
Public marketing material (a launch page, a public demo)Netlify / Vercel / Tiiny.host
A long-running app with login, state, a backendProper hosting (Vercel, Render, Fly)
Drafts you don't want anywhere yetLocal file, screen-share session

The private-link path covers the one most freelancers and consultants get stuck on — I have a finished HTML file, intended for one client, and it isn't public material.

Three neighbouring situations have their own answers. If you've already sent the tool's own share URL and the client says it won't load, that failure has a predictable shape per tool. If the work is still moving and you want eyes on it between prompts rather than at the end, sharing mid-iteration is a different discipline with different defaults. And if what you actually need back is comments rather than approval, collecting pinned feedback on the page and feeding it to your AI closes that loop without a round of screenshots.

Free keeps one always-on link that never expires; everything else runs a 7-day self-destruct. Solo makes every link permanent and removes the footer for $4.99/mo. Privacy and password protection are always free; paid tiers are about persistence and ownership.

See pricing

What this is not

miinideck does one thing: takes a single HTML file, gives back a private URL. It's not a Drive replacement, a Notion replacement, a hosting platform, or a CDN — those tools cover other shapes of need (versioning, multi-file structure, custom domains, public reach), and they cover them well.

For sharing a Claude or ChatGPT artifact with one client, narrow is the right fit.

More in Sharing AI-built apps

AI builders: sharing mid-prompt prototypes during iteration (2026)

The iteration loop with Claude / Cursor / Lovable produces a new version every round. Channels that let each round travel cleanly — without exposing the chat, the previous version, or the next reviewer to noise.

June 26, 2026·7 min read

How to collect pinned feedback on a shared HTML page — and send it back to your AI (2026)

A step-by-step: turn on Review for a private link, let anyone pin comments to the exact spot (no account), then export the thread as a prompt to paste into Claude or Codex.

June 22, 2026·4 min read

Hosting was never the job: closing the feedback loop on AI-built pages (2026)

You shared the AI-built page — then what? The real work is the loop: build, show, react, fold the reaction back into the next prompt. Why hosting is only step one, and what actually closes the loop.

June 22, 2026·6 min read

Send your own private link.

miinideck turns a single HTML file into an unguessable link with optional password and expiry. Default-private, never indexed.

Try it free →See pricing
miinideck

HTML files, finally as links — for AI builders, agencies, and consultants. Default-noindex, default-private, default-yours.

Product

  • Pricing
  • Use cases
  • Try it free

Resources

  • Blog
  • Featured on
  • Report abuse

Legal

  • Privacy
  • Terms
© 2026 miinideckMade for people who don't want their work indexed.