A short-lived link reads as a feature for one-off reviews and a bug for permanent references. The shape of the engagement decides which one the file needs.
You send the client a link to the deliverable on Friday — created in seconds, visible only to who you sent it to. They open it Monday, send notes, you revise. Tuesday the next-version link goes out. By next month the original link is gone; that's correct — it was a draft, the conversation moved on, the work product lives in the next link.
Same flow, different file: you send a VC the pitch deck Friday before the partner meeting. They re-open it Tuesday, then again three weeks later when running it past a second partner, then a month after that when introducing you to a follow-on fund. By month two the link is dead. The deck wasn't a draft; it was a reference.
Same shape of object, different shape of engagement. The expiry choice maps to the second one, not the first.
Storage on the anonymous tier of a private-link service is a shared resource. If every one-off upload lived forever, the storage bill would compound across millions of test runs, abandoned drafts, and "I'll come back to this" links that nobody comes back to. A self-destruct default cleans the table without anyone having to remember.
For the typical one-off case — drop a file, send the link, the receiver looks once, the engagement ends in the same week — 7 days is genuinely the right shape. The link stays alive across the obvious review windows (weekend, next business day, the meeting it's referenced in) and clears before it becomes archived clutter.
It's the design that matches the use, not a limitation imposed on the use.
Some links are made to outlive the moment they're sent. The pattern is roughly:
In each of these, the value of the link is its stability over time. An expiry default in this shape isn't a clean-up; it's a broken link in someone else's workflow.
There's also a middle case where neither default fits: the link should outlive the moment it's sent, but only by a known window. A few patterns:
For these, a configurable expiry — pick the date, the link dies that day — is the shape that fits. Neither "7 days" nor "forever" is the answer; the engagement's natural end date is.
Most private-link tools structure their plan ladders around this exact question, even when the marketing copy doesn't say it directly.
For an AI artifact sent to one client for review, the Free tier's 7-day default usually fits — the deliverable cycle is bounded, the link is a single delivery moment, the file going away is correct after sign-off.
For a finished agency preview that becomes part of the case-study archive, permanent is the right shape — the link lives at the studio's URL bar from then on, referenced from the next pitch deck and the next portfolio update.
Solo plan ($4.99/mo) makes the link permanent (no self-destruct) and removes the footer. Studio ($14.99/mo) adds custom domain and lifts searchable to unlimited (the per-document opt-in starts at one page free, five on Solo). Privacy and password protection are always free; paid tiers are about persistence and ownership of the URL.
Not every file should live forever, even if the engagement supports it. Two cases where an expiry — even on a paid plan — is the right call:
Permanent is the right default for most paid use cases. It's not the right default for every paid use case; the option to override per link is the part that matters.
Two questions, in order:
Will anyone open this link more than a week after I send it?
If permanent, does the file include numbers that go stale?
That's the decision. Most one-off review cycles answer "no, no" and ship on the default. Most reference material answers "yes, no" and goes permanent. Most time-sensitive analysis answers "yes, yes" and gets a custom expiry that maps to the data's shelf life.
If question 1 is the one you can't answer confidently, the link's own numbers usually can — reading a private link's access log covers how to tell one person re-opening a page from several people finding it, which is exactly the signal that decides whether the window should stay open.
And if the reason you're reaching for an expiry is that the contents are sensitive, expiry is the weaker of the two tools available. What password protection on a link actually does — and the meaningful difference between a real server-side gate and a prompt drawn after the file already arrived — is worth understanding before you rely on either.
Anthropic's docs are explicit: on Free, Pro and Max, publishing makes an artifact publicly available to anyone with the link. Org-only sharing is a Team and Enterprise feature. Here's what that means if you're an individual sending work to one named client.
Two ways to put a password on a static page without running a backend — client-side encryption you set up yourself, or a hosted gate you don't. What each actually protects, and which fits a page you're handing to one person.
Most expiry windows get set by guess — 7 days because that's the default, 'never' because that's reversible. The actual fit comes from matching the window to what the content references.
miinideck turns a single HTML file into an unguessable link with optional password and expiry. Default-private, never indexed.