trak.sh docs

Drops

Share images and PDFs with trackable, expiring download links.

What a Drop is

A Drop is a file stored privately by trak.sh and shared through a capability link such as trak.sh/d/.... Opening that link reserves one tracked download and redirects to a short-lived, signed Cloudflare R2 URL.

Drops support PNG, JPEG, GIF, WebP, and PDF files. The server checks the declared type, file size, extension, and file signature before making a Drop active.

Create a Drop

  1. Sign in and open Drops.
  2. Choose an image or PDF.
  3. Pro users can select an expiry from one day to one year. Free Drops expire after 30 days.
  4. Upload the file and wait for verification.
  5. Copy the /d/... link.

The upload URL writes only to a temporary staging key. After verification, the server copies the exact verified object to a final key that the browser cannot overwrite.

Plan limits

LimitFreePro
Total storage100 MB5 GB
Files20500
Maximum file size10 MB100 MB
Issued-download bandwidth / month1 GB50 GB
Downloads per Drop10010,000
Expiry30 days1, 7, 30, 90, or 365 days

Bandwidth is reserved from the uploader's monthly allowance whenever trak.sh issues a signed download. The signed URL is intentionally short-lived.

Privacy and deletion

Files stay in a private Cloudflare R2 bucket. File metadata, expiry, and download analytics live in Neon Postgres. trak.sh records pseudonymous download analytics for non-bot opens, including a keyed hash of the IP address, country, device/browser details, referrer, timestamp, and file size.

Deleting a Drop removes its R2 object before removing its database record. If storage is temporarily unavailable, deletion returns an error and keeps the record so you can retry without orphaning the file. Expired Drops and abandoned uploads follow the same retry-safe cleanup path.

trak.sh validates file signatures; it does not promise antivirus or malware scanning. Only share files you trust.

On this page