Core Tool

Upload a file, get a link to share

Core tool walkthrough · Updated May 2026

Drop a file, get a link, paste it anywhere. The link itself is the access credential.

  • Direct download link, no preview wall, no signup gate
  • 25 GB per file, free
  • The link is a bearer token, treat it like a password
  • Auto-expires in 7 days unless you revoke from the email sooner
SEND A FILE NOW →

You have a 400 MB video, a 1.2 GB design file, or a folder of tax returns you zipped up at 2 GB. You want a URL you can paste into Slack or iMessage so the other person can grab it. That's the whole job. sto.care does it in three clicks, free, with no account on either end. Below is exactly what happens when you upload, what the link looks like, and what the recipient sees.

The FlowHow upload-and-share works on sto.care

The full path from drag-and-drop to copy-link is three steps, and each one writes a different thing to the backend. That separation is the reason the link can't be guessed and the file can't leak in transit.

Step 1: pick the file. Drag it onto the upload zone on the homepage or click to open a file picker. The browser reads the file name, size, and MIME type locally and sends those metadata bits (not the file itself) to our API. We check the size against the 25 GB ceiling, reject blocked extensions like .exe and .bat, and check the rate limiter (100 uploads per IP per hour). If anything fails, you get the error before any bytes move.

Step 2: the presigned upload. Our API returns a presigned URL for Cloudflare R2 (S3-compatible object storage), which is a short-lived signed URL that authorizes the browser to PUT a single object directly into our storage bucket. The file goes browser to R2 over TLS. Our API never sees the bytes. For files over a few hundred MB the browser uses multipart upload, so a flaky connection only retries the affected chunk instead of the whole file.

Step 3: confirm and write the metadata. Once the upload finishes, the browser pings our confirm endpoint with the upload ID and the recipient email. We write a single DynamoDB record with the file ID, size, recipient, an expiry timestamp seven days out, and a revoke token. SES then sends two emails: the recipient gets the download link, and you get a confirmation that includes a one-click revoke link.

The LinkWhat the link looks like

The download URL has the form https://sto.care/f/<id>#<key>, where the ID is a random 8-character slug and the key is a random 128-bit secret, both generated server-side and never derived from the file name or the sender. The full link is only ever sent to your inbox, never shown on screen, and the key after the # is never sent with the page request, so it stays out of page analytics. There's nothing identifying in the URL. No email address, no filename, no upload timestamp. If someone screenshots the link in a meeting, the URL gives away nothing about who sent what to whom.

The trade-off, and we'd rather say it than gloss over it: possession of the link is the authentication. Anyone who has the URL can download until it expires or is revoked. That's the same model as a Dropbox public link or a WeTransfer download URL. The Mozilla developer docs have a good primer on transport security for why the URL itself shouldn't be your only line of defense. Send links over channels you already trust, and revoke them the moment they're not needed.

The Recipient ViewWhat the person on the other end sees

The recipient clicks the link and lands on a single page. File name. File size. A download button. That's it. No banner ads, no "upgrade to Pro" modal, no email-gate before the download. Compare that to the current WeTransfer free download experience, which routes through a full-page sponsored background and an interstitial before the file starts. SendGB and Filemail are similar. We don't take ad money and we don't upsell, so the page is just the file.

The download itself is served through our Cloudflare Worker at trystocare.com using a signed, expiring link. We increment a download counter on the upload record so you can see whether the file's been picked up, but we don't keep a readable IP address or the user agent.

Expiry & RevokeHow the link dies

Two ways. The first is the seven-day timer. Every upload has an expiry set to seven days from upload, and an automated expiry deletes the file. After that, the link returns a 404. No copy of the file lingers in cold storage; nothing gets archived for "legal hold". We keep only anonymous upload details (file name, type, size, timing, download count, a one-way hashed network identifier and a short generic description of the kind of file), never the contents, your email or a readable IP address.

The second is the revoke link in your confirmation email. Click it and the upload is marked revoked, the file is deleted, and the URL goes 404 within seconds. This is the part competitors don't do cleanly without a paid account: a free WeTransfer transfer sent without signing up runs its full retention period with no per-link revoke surface. If you sent the wrong file or the wrong recipient anonymously, you wait it out. With sto.care it's one click from the confirmation email, no account needed.

What Can Go WrongThe failure modes

The link is a public-ish URL. If the recipient forwards it, the next person can download. If they paste it into a Slack channel with 200 people, all 200 can download. The unguessable ID stops someone scraping for active links, but it doesn't stop a recipient from sharing. This is the same trade-off every link-share tool ships with. The OWASP cheat sheet has a useful note on tokens in URLs if you want the formal version.

The mitigation is the revoke. The moment you're not sure the link is going to the right place, kill it. We don't support password protection right now, and we'd rather not pretend we do. If you genuinely need a password gate, we point readers at WeTransfer for that one feature, even though they fall short on revoke.

ComparedOther upload-and-link tools, briefly

  • Google Drive link: account-walled. The sender always needs a Google account, and the file lives in your 15 GB shared quota until you delete it manually.
  • Dropbox link: Dropbox account required for the sender. Free tier caps file size at 2 GB and the file stays in your 2 GB total storage forever.
  • WeTransfer: no sender account on the free tier, but transfers expire after three days, and anonymous free transfers can't be revoked early.
  • sto.care: no account either side, 25 GB per upload, seven-day auto-expiry, one-click revoke from the confirmation email.

FAQCommon questions

How do I upload a file and get a shareable link?

Open sto.care, drag the file onto the upload zone (or click to pick one), type the recipient's email, and hit send. The browser uploads straight to Cloudflare R2 over a presigned URL, and you get the download link back on the same page. The whole thing usually takes under 30 seconds for files in the megabyte range.

What does the download link look like?

It's a URL of the form https://sto.care/f/<id>#<key>, where <id> is a random 8-character slug and <key> is a random secret. The full link only ever exists in the email we send you; it is never shown on screen. There's no sender info in the URL, no email address, no filename. Anyone you give the link to can download the file until it expires or you revoke it. That's the whole authentication model: possession of the link.

How long does the link stay live?

Seven days by default, then the file is deleted automatically and the link returns a 404. You can also kill the link earlier from the confirmation email we send the sender. One click revokes it instantly. There's no setting to extend past seven days; if you need it longer, re-upload.

Does the recipient need an account to download?

No. They click the link, see the file name and size, and hit download. No signup, no email verification, no app to install. The page has no ads and no upsell, which is the main reason people switch from WeTransfer or SendGB.

Is the link private?

It's unguessable but not authenticated. If you forward the link to someone who shouldn't have it, they can download. If a recipient forwards it, the next person can download too. Treat it the way you'd treat any unauthenticated URL: send it through a channel you trust, and revoke it the moment you don't need it. We don't support password-protecting links right now.

Can I upload more than one file at a time?

One file per upload, up to 25 GB. If you need to send multiple files, zip them first and upload the archive, or do separate uploads (rate limit is 100 per IP per hour). The single-file design keeps the link semantics clean: one URL, one file, one expiry clock.

Drag a file. Get a link. Take it back any time.

UPLOAD A FILE →

Want the lifecycle deep-dive instead? Read temporary file sharing. Or compare the alternatives: sto.care vs WeTransfer and sto.care vs Google Drive.