Public + private file buckets with CDN delivery and signed URLs.
Every project has a public bucket (permanent URLs, use for images/logos/videos displayed in the app) and a private bucket (signed URLs that expire, use for user uploads, documents, internal files). Files are namespaced by project automatically.
Private bucket files return temporary signed URLs (default 1 hour). NEVER hardcode signed URLs into source code, they expire. When referencing a stored file in code, pass the bucket + filePath; the build agent and platform runtime resolve URLs at render time.
Upload files and images from the Storage page, or by attaching them in a chat with Insight. Choose whether each file is public (for things shown in your app) or private (for documents), and DontCode handles secure storage and fast delivery worldwide.