Filestack

filestack.com

ALMOST

A weekend of work, and real gaps remain.

File uploads with a picker that reaches into cloud drives, plus transformation, virus scanning and delivery.

Promptfree, for everyone, and the only version there is
Build me the upload and file handling I actually need instead of Filestack.

One rule shapes the whole design: **files never pass through your application server.** Presign, upload direct to storage, verify afterwards.

STACK
- Node 20+ with Fastify, for signing and bookkeeping only
- SQLite through better-sqlite3, WAL mode
- Object storage with presigned multipart uploads
- Uppy in the browser, which also gives you the cloud-drive picker
- sharp and ffmpeg on a worker, ClamAV for scanning
- Caddy in front

THE DATA MODEL
- uploads: id, owner_id, key, filename, declared_type, detected_type, bytes, sha256, status, created_at
- derivatives: id, upload_id, kind, key, bytes
- scans: id, upload_id, verdict, detail, at
- access_grants: id, upload_id, subject, expires_at

THE PICKER, WHICH IS THE HALF WORTH TAKING FROM SOMEBODY ELSE
- Uppy with Companion gives you Drive, Dropbox, OneDrive, a URL importer and a camera, all open source. **Do not implement OAuth against five cloud providers yourself** — it is weeks of work and permanent maintenance
- Companion runs as a small service and streams the remote file straight to your storage without touching the browser

THE UPLOAD
- Presigned multipart with a size cap, a type constraint and a short expiry
- Chunks uploaded during selection, resumable after a dropped connection
- **Verify server-side that the object exists and its size matches before marking it complete.** Never trust the client saying it finished

SAFETY, WHICH IS THE ACTUAL WORK
- **Detect the type from the bytes, not the extension and not the declared content type.** A file that claims to be a PNG and is HTML, served from your own domain, is stored cross-site scripting
- Serve user files from a separate domain, with `Content-Disposition: attachment` by default and a strict content security policy on that domain
- Scan with ClamAV before the file is reachable; quarantine until it passes
- Hard caps on size, dimensions and megapixels. Decompression bombs are real
- Strip metadata from images by default — **holiday photographs carry GPS coordinates**, and republishing them is a privacy incident you caused

DERIVATIVES AND DELIVERY
- Thumbnails, poster frames and PDF first pages on a queue with a concurrency cap
- Deduplicate by hash: the same file twice is one object
- Signed expiring URLs for anything private; a cheap network in front of anything public
- Range requests supported so media seeking works

HOUSEKEEPING
- A sweeper deleting pending uploads that never completed
- Per-owner quotas, and bytes stored and served recorded daily
- Deletion that reaches the object, its derivatives and every row

WHAT MATTERS MOST
Type detection from the bytes, a separate serving domain, and metadata stripping. Those three are the difference between a file service and a vulnerability.

What you lose

  • A picker that imports from Drive, Dropbox and the rest
  • Virus scanning and content classification on ingest
  • Transformation and delivery from one vendor
  • OAuth relationships with every cloud provider, maintained

If you would rather not build

  • A presigned S3 upload, which is the minimum viable version
  • imgproxy for the transformation half

The escape hatch

open source · no votes, no paid placement

Uppy

$0

Upload widget with cloud sources and resumable transfer.

transloadit/uppyfree · open source

ClamAV

$0

Open-source virus scanning for files on the way in.

Cisco-Talos/clamavfree · open source

Why this verdict

our own opinion · changed only by a person

54/100

Verdict kinda at 54: Uppy and Companion remove the hardest part for free. The metadata stripping and separate domain are the details that keep it from harming your users.

History

tracked since 14 Aug 2026 · nothing is ever overwritten

Interest · last 30 days

Nothing recorded yet. This chart fills in once the page has visitors, votes or prompt copies — it will not draw a flat line to look busy.

Questions about Filestack

answered from the record above

Is Filestack free?

No — the plan we track is $69 a month. Start at $69/month with uploads, transformations and delivery included.

Can you replace Filestack by building your own?

ALMOST. A weekend of work, and real gaps remain. Replacement score 54 out of 100, build time a weekend. Read what you lose before you decide.

How much does Filestack cost?

$69 a month on Start — $828 a year. Recorded 14 Aug 2026.

What do you lose by replacing Filestack?

A picker that imports from Drive, Dropbox and the rest; Virus scanning and content classification on ingest; Transformation and delivery from one vendor; OAuth relationships with every cloud provider, maintained. If any of those carry weight for you, keep paying.

Is there an open-source alternative to Filestack?

Yes: Uppy, ClamAV. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 29 in Design & website builders

Not sending yet

Every week, something stops being worth paying for.

New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.

free forever · no tracking pixel · stored here, never passed to anyone

Esc