Topics in this section
Token-bucket limiters, per-tenant byte quotas, and S3 POST policy size ceilings that make upload capacity a budget an attacker cannot overspend.
Explore topic →Turn uploaded originals into the derivatives your app serves — storage event triggers, idempotent queue workers, FFmpeg and Sharp, and honest failure handling.
Explore topic →How browsers preflight direct-to-bucket uploads, how S3 matches CORS rules, and the AllowedHeaders, ExposeHeaders and Max-Age settings that make PUTs work.
Explore topic →How S3, GCS and Azure lifecycle engines evaluate rules, what a storage-class transition really costs, and how to expire objects without deleting live data.
Explore topic →Integrate automated malware detection into upload pipelines using event-driven scanning, quarantine workflows, and dead-letter queues.
Explore topic →Getting file metadata from an ObjectCreated event into rows Postgres can search in milliseconds — probe budgets, JSONB modelling, idempotent guarded upserts.
Explore topic →How a presigned S3 PUT is derived, scoped and expired — SigV4 anatomy, the signing endpoint contract, ETag verification, and the exact 403s you will hit.
Explore topic →Route upload bytes from the browser straight to object storage — the control-plane split, scoped credentials, multipart signing and event-driven reconciliation.
Explore topic →Sniff magic bytes, parse structure and rewrite the key before an upload becomes visible — a streaming validation gate with a policy table and error taxonomy.
Explore topic →