Five channels agencies use for client previews — and what each accidentally reveals about the work in progress. Where private-link delivery sits, and when it's worth the swap.
Client wants to see the homepage before the call tomorrow. You've been iterating with the designer for three weeks; the file is full of internal comments, parked frames, "before / after" stacks, the brief annotated in three colors. The work itself is good. The file is a back-room.
The channel you send the preview through decides which one the client sees.
Figma share link. Designed for collaborative iteration. The whole point of the surface is that anyone with the link can comment, see the version history, and follow the file's structure. For the client meeting tomorrow, the same property means they see the back-and-forth on hover, the parked frames in the sidebar, the comment threads on the rejected direction.
The fix is to duplicate the file, strip the back-room, and share that file. Possible. Adds twenty minutes per round.
Google Drive / shared folder. Designed for handing over working files — multiple documents, versions, comments. The client clicks the link, lands in Drive, sees the folder name (your internal naming convention), the modification dates (every fifteen minutes for the last three days), the file list. The preview opens after they double-click the right file.
Notion publish / public page. Designed for shareable documentation. The published URL includes notion.so or a Notion subdomain — natural for docs, more visible than the studio's own domain when the work is meant to land as the studio's finish.
Loom / video walkthrough. Designed for showing how something works, asynchronously. Right fit for explaining the design rationale; less of a fit when the client wants to click around themselves. They watch your cursor instead of moving their own.
Email attachment of a static PDF. Designed for archive — the final, the print, the leave-behind. Right shape as the formal version after sign-off; lossy for an interactive prototype because the prototype's interactivity is the work.
Self-contained HTML at a private link. Designed for delivering a finished surface. The client opens the link, sees only the work, on a URL the studio chose. No comment sidebar, no folder, no domain mismatch, no walkthrough you have to record.
The first ten seconds of a preview shape the rest of the conversation. If the client lands on the work, the conversation is about the work. If they land on the studio's working environment — the Figma sidebar, the Drive folder, the Notion-stamped URL — the conversation has a frame around it before the work loads.
Studios that have been doing this a while solve the problem by curating the surface. A duplicate Figma file. A clean Drive folder for the share. A separate Notion workspace per client. The work is real; the surfacing is a second layer of work that scales with the number of clients.
A private link compresses the second layer into one step: export, drop, send. The client lands on the work because there's nothing else on the URL.
The studio's brand on the preview URL is a small detail and a real one. A link at previews.studio.com/<random> reads differently from someservice.io/<random>. Same work, framed by a domain that says: this is what the studio ships.
Studio plans on private-link hosting tools support custom domain — point a DNS record, the links live at your domain. The preview keeps its private, unguessable URL; the front of the URL is yours.
Studio plan ($14.99/mo) adds custom domain — the URL the client opens lives at your studio's domain, not ours. Also includes no footer and unlimited searchable pages for the rare case a preview also belongs on the open web (the per-document searchable opt-in is on every tier — one free, five on Solo). (Password protection, like privacy, comes standard on every account.)
Not every preview should hide the work-in-progress. Some clients are paying for the thinking, not just the output — they want to see the iteration, the parked directions, the rejected drafts. For those engagements, the Figma link is the right choice; the back-room is the feature.
The split is roughly:
The channel decides which one happens.
Test the flow without committing — drop one HTML preview, see the link, walk through the client experience yourself. No signup; the file self-destructs after 7 days.
The client opens the link, sees the work, sends notes back through whatever channel was already open for the engagement.
The in-house teams variant covers the same shift from .pptx attachments to HTML links, but for internal review cycles rather than client-facing previews.
The private-link path is for finished, client-facing previews. It isn't a substitute for the studio's working tools — Figma, the project management stack, the asset library — those handle the iteration loop directly. The split is roughly: build in the tools designed for building, hand off in the tool designed for handing off.
For studios already doing both, the swap is small. For studios using the build-tool's share surface as the hand-off, the upgrade is mostly framing — and the framing is what the client reads first.
The sharpest version of that build-tool problem is Figma, because its share link is genuinely good — at collaborating. What a client actually sees when you send a Figma link, versus what a designer sees, is the clearest case of a share surface built for the wrong reader.
Recurring reports break in a way one-off deliverables don't: every send produces another address, and the old ones keep working with old numbers in them. Here's the version where the report has one address for the whole engagement.
The writing got fast. The handover didn't. Here's why the last step of client work — getting the finished thing in front of the client — quietly became the slow part, and what a good version of it looks like.
Figma is designed for collaboration, so the share link shows comments, version history, and the frames you parked. Channel options for a client-facing preview, and where private-link hosting fits.
miinideck turns a single HTML file into an unguessable link with optional password and expiry. Default-private, never indexed.