Secure File Sharing Links
Secure File Sharing Links for Clients, Teams, and Downloads
Send clients an expiring download link that stops working on its own — or a permanent CDN URL when the file should stay reachable. Fast CDN delivery, no recipient account, prepaid credits keep spend predictable.
Secure file sharing
Secure file sharing is really two problems: get the file to the right person fast, and make sure it isn't left open to everyone else afterward. Consumer tools force a trade-off on the second half. WeTransfer links live for a few days whether you want that or not and there's no API to control the lifecycle. Dropbox and Google Drive links are tied to accounts, so a recipient hits a login wall or a 'request access' prompt instead of the file. file.io self-destructs after a single download, which is protection by accident, not by choice. cdn22.net gives you deliberate control on both halves: upload once, then hand out either a permanent CDN link that resolves straight to the file or a private link that carries a cryptographically signed, time-limited token — your choice, per file, with no recipient account required either way.
The two link types cover the whole range of client file sharing. A public file gets a permanent, edge-served CDN URL the moment you confirm the upload — durable enough to bake into a delivered document, a press kit, or a paid-product download page and trust it won't rot (see file to link and permanent file links).
A private file is never given a public URL at all; instead your backend mints a signed link on demand (GET /v1/files/signed/{id}) that defaults to a 10-minute window and can stretch to 7 days with expiresIn, then stops working when the clock runs out. That's the pattern for a client deliverable or an internal review — a link that works now and quietly dies later, so a forwarded email or a stale bookmark doesn't leave the file open.
The temporary file hosting page goes deeper on the expiring-link mechanics.
A note on the search people actually type: password-protected file sharing. cdn22.net does not gate downloads behind a shared password, and that's on purpose — a reusable password gets forwarded, screenshotted, and never rotated. The stronger primitive is a signed, expiring URL plus an unguessable link that isn't listed or crawlable anywhere. To revoke access you stop issuing new signed links, or delete the file to kill every outstanding link at once; there's no password to leak in the meantime.
If you need one stable address that keeps signed protection underneath, a permalink re-signs on every hit, so the URL you hand out never changes while the actual download token rotates each time. For genuinely sensitive material, pair a short expiry with an end-to-end encrypted channel rather than trusting any single link as a vault.
The use cases are commercial by design: client deliverables and proofs, private customer downloads, software and media asset distribution, press kits, paid digital products, and developer-generated links minted straight from your app. Every share is the same three-call REST upload — POST /v1/files/{folderId} for a presigned URL and id, PUT the bytes, POST /v1/files/confirm-upload — so a backend can turn a finished render or an invoice PDF into a secure link in one workflow step (the upload a file guide walks it end to end, and file storage with CDN covers the delivery side).
Pricing is prepaid credits with no subscription: you pay only for the storage and bandwidth you actually use, credits sit on your account until you spend them, and there's no per-seat plan or monthly floor to reconcile. That keeps a secure file transfer workflow predictable — a busy delivery month costs more, a quiet one costs less, and nothing auto-renews.
How to create an expiring download link, step by step. Upload the file into a project folder and keep it private, so it never gets a public URL at all. Open the file in the dashboard, pick how long the link should live — 10 minutes, 1 hour, 24 hours, or 7 days — hit Generate Temporary URL, and send the link however you already talk to that client. The file itself stays in storage; only the link expires, so re-issuing access next week is one click rather than a re-upload.
From your own backend the same thing is a single call, GET /v1/files/signed/{id}?expiresIn=<seconds>, authenticated with your raw API key. expiresIn accepts anything from 60 seconds to 604800 seconds — 7 days is the hard ceiling AWS signature v4 allows — and defaults to 600 seconds when you leave it off:
# Mint a 24-hour expiring download link for a private file
curl -s -H "Authorization: $CDN22_API_KEY" \
"https://api.cdn22.net/v1/files/signed/$FILE_ID?expiresIn=86400"
# => {"success":true,"url":"https://...","expiresIn":86400}Permanent CDN URL or time-limited link — how to choose. Use a permanent link when the file is meant to stay reachable and isn't sensitive: a paid product download, a press kit, documentation assets, a receipt link you don't want breaking in six months. Use a time-limited link when access should end on its own — that is the client delivery half of the job: contracts and signed agreements out for review, design assets and brand packages handed over at delivery, video and photo cuts sent for media review, support files pulled for a single troubleshooting session, invoices and finance exports that shouldn't sit on a durable URL.
A blunt test: if you'd wince to find the link still working a year from now, make it expire. You never have to pick once — the same stored file can go out as a permanent CDN URL for one audience and a one-hour signed link for another.
What an expiring link is, and what it isn't. The deadline is carried in the signature, so a recipient can't widen the window by editing the URL — past the expiry the download fails instead of returning the file. But anyone holding an unexpired link can use or forward it: this is time-boxed access, not per-person access, so keep the window as tight as the workflow tolerates.
There is no shared-password gate and no download-count cap today. To cut access before the clock runs out, delete the file — that kills every outstanding link at once — or delete the permalink to retire a permanent URL. Files are encrypted at rest and every transfer runs over HTTPS. We don't advertise HIPAA, SOC 2, or similar attestations, so if your delivery is bound by a compliance regime, treat this as ordinary encrypted storage and layer your own controls on top rather than assuming a certification we haven't claimed.
When you're ready, create an account and upload your first file — one upload backs both link types, so you can decide permanent or expiring per file, later.
Benefits With No Complexity
Global CDN delivery
Edge-cached worldwide
Signed-URL security
What You Get
Unlimited files
Unlimited storage
Public + Private storage
CDN ready links
Prepaid credits
More coming soon
How cdn22.net Works
1. Upload
2. Copy
3. Use Anywhere
Why Developers Choose cdn22.net
A Better Way to Store & Deliver Files
| Dropbox | WeTransfer | file.io | cdn22.net | |
|---|---|---|---|---|
| Permanent links and expiring signed links | ||||
| Recipient needs no account | ||||
| Global CDN delivery | ||||
| Revoke a shared link after sending | ||||
| REST API for generated links | ||||
| No subscription (prepaid, usage-based) | ||||
| No ads on the download page |
Calculate Your Needs
Storage
Egress
CDN Bandwidth
Need storage, egress, and request fees broken out — and compared against AWS list price for the same bytes? Use the CDN & storage cost calculator.
Share a File Securely
- Global CDN delivery
- Edge-cached worldwide
- Signed-URL security
- Unlimited files
- Unlimited storage
- Public + Private storage
- No subscription — prepaid credits keep spend predictable