Connect your own Amazon S3 bucket to Fileflare so files are hosted on your AWS account, not Fileflare’s storage. You control storage costs, bandwidth costs, and retention — Fileflare just acts as the delivery layer between your store and the bucket.
Available on the Growth plan and higher. These are advanced settings — you should be familiar with AWS IAM and S3 buckets before configuring. Cloudflare R2 is generally cheaper and easier; use R2 unless you specifically need AWS.
When you’d use this
- You’re selling large digital files and don’t want to pay Fileflare’s per-GB storage tier.
- Your team already runs in AWS and you want files alongside your other infrastructure.
- You need fine-grained control over bucket versioning, replication, or lifecycle rules.
- You want to upload files directly to S3 (via the AWS console, CLI, or other tooling) and have Fileflare read them.
Set up the AWS side
1. Create the bucket
- In AWS, create a new S3 bucket. Pick any name and region.
- Block all public access (default).

2. Configure CORS on the bucket
Open Fileflare → Settings → Configure custom S3 and copy the CORS config text shown there. In AWS, go to your bucket → Permissions → CORS → Edit, paste the config, and save.

3. Create an IAM user with API access
- In AWS IAM, add a new user with programmatic access.
- Attach a policy that grants read/write/list on the bucket.
AmazonS3FullAccessworks for testing; for production, scope to just your bucket. - Save the Access key ID and Secret access key — you’ll paste them into Fileflare.
Connect Fileflare to the bucket
- In Fileflare, go to Settings → Configure custom S3.
- Paste the Access key ID into Access Key.
- Paste the Secret access key into Secret Key.
- Enter your Bucket name and Region (find these in your bucket’s URL in the AWS console).
- Enter the regional Endpoint URL from AWS’s S3 endpoints page — use the row from the “Amazon S3 regular endpoints” table that matches your region. The URL should start with
s3.. - Click Save.
- Test by uploading an asset from the Assets page. If it succeeds, you’re done.

Connection options
Use path-style endpoint
Legacy compatibility flag for older S3 clients. Path-style puts the bucket in the URL path; virtual-hosted style puts it as a subdomain. Leave off unless your S3-compatible service requires path-style.
Delete files in S3 when removed from the app
When enabled, deleting an asset in Fileflare also removes the file from your bucket. Off by default — leaving the file in your bucket is the safer default.
Rename my files to keep their name unique
When enabled, uploaded files are stored under a UUID4 filename in the bucket (e.g. 3a7b...pdf). The original filename is kept in Fileflare’s database for display and customer delivery. Prevents accidental overwrites if two uploads share a name. UUID4 renames are one-way — they can’t be reverted.
Common issues
- Upload fails with a CORS error — the CORS config wasn’t saved on the bucket, or the bucket is in a different region than what’s set in Fileflare. Re-paste CORS, save, and confirm region matches.
- “Access denied” on upload or read — the IAM user’s permissions don’t include the necessary actions. Confirm the policy attached to the user grants
s3:PutObject,s3:GetObject,s3:ListBucket, and (if you enabled the delete option)s3:DeleteObject. - Endpoint URL doesn’t work — make sure you’re using the regional endpoint from the “Amazon S3 regular endpoints” table, starting with
s3.— not the virtual-hosted-style URL with the bucket name. - I disconnected S3 and my files disappeared — if you had Delete files in S3 when removed from the app enabled, removing assets in Fileflare also wiped them from S3. The setting is destructive — leave off unless you specifically want sync-delete behavior.
FAQ
Can I switch the connected S3 bucket later?
Yes. Add the new bucket connection and mark it primary. Existing files stay on the old bucket; new uploads go to the new one. To migrate old files, use Replace asset on each — the file gets re-uploaded to the new bucket.
Can I use multiple S3-compatible buckets?
Yes — Cloudflare R2, Backblaze B2, DigitalOcean Spaces, Wasabi, and others all work via the same custom-S3 connection.