Overview
Every Yboard project includes cloud storage powered by AWS S3. Files are organized into buckets with configurable access policies.Technology Stack
Bucket Configuration
Bucket Types
Upload Strategies
Direct Upload to S3
Files are uploaded through the Yboard API which proxies to S3:Presigned URL Upload (Recommended)
For larger files, use presigned URLs to upload directly to S3:- Request a presigned URL from the API
- Upload the file directly to S3 using the URL
- Confirm the upload with Yboard
File Operations
Upload Flow
- Client requests upload (direct or presigned)
- File is stored in the bucket
- Metadata is saved to the
storage.objectstable - A URL is returned for accessing the file
Download Flow
- Client requests a file by bucket and key
- For private buckets, authentication is verified
- A presigned download URL is generated
- File is served via S3/CloudFront
Security Features
- Presigned URLs with configurable expiration
- Bucket-level access control (public vs private)
- Authentication required for private bucket operations
- Content type validation on uploads
- File size limits per project plan
Performance Optimizations
- CloudFront CDN for edge-cached delivery
- Presigned URLs bypass the API for large uploads/downloads
- Automatic compression for supported content types
- Multi-part uploads for files over 5MB
Best Practices
- Use presigned URLs for files larger than 1MB
- Set appropriate content types to ensure correct browser handling
- Use private buckets for user-generated content
- Organize with key prefixes like
user-{id}/for easy management - Set file size limits appropriate to your use case