How to pick object storage for browser direct uploads with presigned URLs in Node.js

TL;DR AI
2 min readKey summary
Use short-lived presigned URLs so browsers upload directly to private object storage instead of proxying files through Node.js.
Have the Node.js API create and track the object key, while choosing the right bucket per tenant and region for US/EU data residency.
If uploads need inspection, send them first to a quarantine bucket and promote them to a durable bucket after validation.
This pattern is simpler, faster, and more scalable for tenant uploads, especially with S3-compatible storage and lifecycle rules.
