Cloud and Local File Storage
File storage requirements vary by organization. Some teams need files in a specific cloud provider for compliance or integration reasons. Others run their own infrastructure and need files on local disk. Some need different storage for different types of files. A good platform shouldn't force a single answer.
Swifty supports configurable file storage — local disk, cloud object storage, or a combination — with the same upload and access experience regardless of where files live.
How File Fields Work
File fields on data objects allow attaching one or more files to a record. In forms, file fields render as upload areas — drag a file in or click to select from the file browser. Uploaded files are attached to the record and stored in the configured storage backend.
In list and detail views, attached files appear as downloadable links with file type icons. Clicking downloads the file directly or opens it in a new tab, depending on the file type.
Storage Configuration
The storage backend is configured at the workspace level. Options include:
Local disk: Files stored on the server's filesystem. Simple to configure, appropriate for development and smaller deployments.
Cloud object storage: Files stored in a cloud bucket. The workspace is configured with the bucket credentials. File uploads go directly to the bucket; download URLs are generated with appropriate access controls.
Per-field override: Individual file fields can use a different storage backend from the workspace default. A "contract documents" field might use a specific secure bucket; an "avatar images" field might use a different bucket optimized for public access.
Access Control
Files stored in cloud buckets use signed URLs for access. A link to a file generates a time-limited URL that authenticates the download request. Users who don't have access to the record can't access the file even if they have the link — the URL expires.
Local disk files are served through the application, applying the same permission checks as any other data access.
File Size and Type Limits
File field configurations include size limits and allowed file type lists. An "invoice PDF" field might only accept PDF files up to 10MB. A "product images" field might only accept image formats. Uploads that don't meet these constraints are rejected with a clear error message at upload time.
A Consistent Upload Experience
Regardless of the configured storage backend, the upload experience in the builder and for end users is identical. Storage is an infrastructure decision; the product experience stays consistent.