Storage
File uploads with access control and CDN delivery
Upload and serve files from Cloud storage. Files are organized into buckets with configurable access control.

Adding uploads to your app
Tell the agent what you need:
Add a profile picture upload to the settings page with
drag-and-drop, preview, and a 5MB size limit.It creates the upload component, configures the bucket, and handles access control.
Public vs. private buckets
Public buckets serve files directly via URL — good for product images, avatars, and anything meant to be shared.
Private buckets require authentication to access. Use signed URLs to grant temporary access to specific files:
const { data } = await supabase.storage
.from('documents')
.createSignedUrl('report.pdf', 3600); // expires in 1 hour