Quick answer
You can transfer files through your own S3 compatible storage by connecting a bucket to HeftySend on a paid plan. HeftySend provides the upload and recipient experience; you choose and pay for the storage. You can use a managed provider or run a compatible server yourself.
Updated 25 September 2026. Product details checked against the sources linked below.
You do not have to build a download interface just because you want control over where the files live. The useful separation is straightforward: your storage holds the objects, and HeftySend gives people a convenient way to send and receive them.
Start with a free HeftySend account to explore the app. The storage connection itself requires a paid plan; the free account is not an unlimited storage offer.
Do you need a server, or just a bucket?
| Approach | What you manage | Good fit |
|---|---|---|
| HeftySend included storage | Your transfers and recipients | You want the simplest sending workflow |
| Your own managed bucket | Provider account, keys, capacity and billing | You want your storage account without running hardware |
| Your own compatible server | All of the above plus updates, disks, backups and network availability | You already have the expertise to operate storage |
S3 is an object storage API. A compatible service can expose that interface without being Amazon S3. A bucket is a container for objects; owning an account at a managed provider is different from running a server on your own hardware. Either route still needs enough real capacity for your data.

What does HeftySend’s own storage option include?
HeftySend’s pricing page lists custom S3 storage on Premium, Ultra and Lifetime. Connecting it removes HeftySend’s transfer size and expiry limits in that configuration. Your provider’s object limits, available capacity and network conditions still apply.
Premium is $9 USD per month, Ultra is $39 per month, and Lifetime is $99 once. Lifetime requires your own S3 storage. HeftySend does not charge for bandwidth usage, but a storage account can have separate storage, request, retrieval or outbound traffic charges.
When should you connect a bucket instead of using included storage?
Connect your own bucket when you have a specific storage requirement and someone who can maintain it. Use HeftySend’s included storage when your main need is sending files without managing a separate provider account.
Before choosing, write down who will own three jobs: paying the storage bill, maintaining access credentials and reviewing retention rules. A bucket gives you control, but those jobs do not disappear when HeftySend supplies the delivery page.
For example, a small studio might already keep delivery files in a managed bucket and have someone responsible for that account. Connecting compatible storage can keep that responsibility in one place while HeftySend provides previews and paid custom download pages. A freelancer sending an occasional project may find included storage simpler. This is a decision example, not a claim that we tested either workflow or that existing objects automatically become transfers.
Use our own storage cost guide for a fuller budget. If the confusing part is which address to enter, the endpoint and download link guide separates the configuration address from the link clients receive.
Does a successful connection test prove delivery will work?
No. Treat a successful connection test as one checkpoint, then test the browser upload and recipient download separately. Cloudflare’s CORS guidance explains that a valid signed URL can still fail in a browser when the CORS configuration does not permit the request.
Before a client deadline, use a small disposable file and record whether the upload, preview and original download each work. If one stage fails, investigate that stage rather than assuming the credentials are wrong or making the bucket public. Keep the working configuration recorded without secret keys, and repeat the small delivery check after changing credentials or access policies.
Decision and testing guidance checked on 7 October 2026. Provider specific setup details belong in the current own storage tutorial and its linked provider guides.
How do you connect your storage?
- Create a dedicated bucket. Use a clear name and choose the provider location that fits your work. Keep unrelated production data in separate buckets.
- Create scoped access credentials. Give the integration the permissions required by the provider guide for this bucket. Do not use your main account credentials or publish secret keys in an article, email or shared screenshot.
- Configure browser access. Follow the provider’s CORS instructions so the HeftySend upload origin, methods and headers are permitted. CORS does not replace authentication or make a private object public.
- Connect in HeftySend. Open Settings, then Storage, choose Configure S3 Storage and enter the endpoint, access key, secret key, bucket and region requested by the app.
- Test and save. Use Test Connection, then Save. Next, make a small transfer and open its link as a recipient before sending a large client project.
The HeftySend Cloudflare R2 guide provides the connection flow. For a server you operate yourself, follow the MinIO connection guide and your installed version’s documentation. Use a valid HTTPS endpoint; a local address that only your computer can reach is not enough for remote access.
For R2 specifically, Cloudflare’s CORS documentation explains exact origin matching and exposed response headers. Limit allowed origins to the ones your working integration needs after checking the actual requests. Do not make the bucket public as a shortcut for fixing a CORS error.
What should you test before a real delivery?
- Upload a small file and confirm it appears in the intended bucket.
- Open the transfer page in a browser session without your sender login.
- Preview a supported file, then download it and check that it opens.
- Test your intended password and expiry behaviour using disposable sample content.
- Check what happens when you remove a test transfer, including retained objects or versions in the provider account.
- Confirm that bucket lifecycle rules will not delete files before the promised collection date.
Keep a record of the configuration without putting secrets in it. That makes future key rotation or provider changes easier to check. Your original project files should remain backed up separately.
How much will your own storage cost?
Estimate the amount stored, how long it stays there, the number of requests and the volume downloaded. A 200 GB delivery downloaded five times represents roughly 1 TB of file delivery before overhead. Whether that creates an outbound traffic bill depends on the provider.
For example, Cloudflare R2’s published pricing lists no egress bandwidth charge, but storage and operation charges can still apply. Other providers have different models. Compare the full bill rather than assuming that owning a bucket makes every transfer free.
What do clients see when files use your storage?
They should receive a useful delivery page, not a list of infrastructure settings. With HeftySend’s paid customisation, you can choose a template, use your colours and add instructions. Supported previews help recipients recognise the files before downloading them.

Why might a connection or upload fail?
| Symptom | First checks |
|---|---|
| Connection test fails | Endpoint, region, bucket spelling and scoped permissions |
| Browser upload fails | CORS origin, methods and headers; valid HTTPS |
| Files disappear early | Provider lifecycle rules and transfer expiry settings |
| Downloads are slow | Server reachability, network capacity and recipient connection |
| An unexpected provider bill arrives | Stored volume, requests, retrieval and outbound traffic pricing |
If you only need a temporary direct object link, Amazon S3 presigned URLs are another option. Treat such links as access credentials and keep their validity appropriate to the job. HeftySend is useful when you want a complete recipient page, multiple files and a consistent client experience around that storage.
What is object storage?
This introduction from Amazon Web Services explains S3 and the role of object storage. Watch it for the basic concepts, then follow the HeftySend setup steps above. It is an infrastructure explainer, not a demonstration of HeftySend.
Frequently asked questions
Is own S3 storage available on the free plan?
No. Explore HeftySend with a free account, then choose Premium, Ultra or Lifetime to connect your own storage.
Does Lifetime include storage capacity?
No. The Lifetime plan requires your own S3 storage account. Budget for the storage provider separately.
Can I use a server in my office?
A compatible server can work if it is properly operated and reachable through a valid endpoint. You are responsible for power, connectivity, updates, access controls and backups.
Does unlimited transfer size mean unlimited physical storage?
No. HeftySend removes its transfer size limit in the own storage configuration. Your bucket or server still has actual capacity and provider limits.
Does connecting my bucket make every file public?
It should not require treating all objects as publicly accessible. Follow the supported connection guide and test recipient access without weakening the bucket’s permissions.
Is storage location alone enough for compliance?
No. Access controls, contracts, retention, processing and your organisation’s requirements also matter. Storage configuration is only part of that assessment.
Keep your storage and improve the handover
Use your preferred bucket for the files and HeftySend for the delivery. Start by exploring the app, then compare the paid storage options when you are ready to connect.