---
title: Use your own S3 Bucket | Paperform Help Center | Paperform
description: "Use your own custom S3 bucket to store: uploaded files from image and file questions; custom PDFs; and submission exports that exceed the threshold for immediate download."
url: "https://paperform.com/help/articles/use-your-own-s3-bucket"
type: static
generatedAt: "2026-10-12T00:05:10.654Z"
---

Can I bring my own own S3 Bucket?
### Configuring Behavior

## What is BYO S3 and why would I want it?

Files uploaded to Paperform forms are stored privately by default and accessed through secure, signed URLs. Once generated, these URLs can be opened by anyone with the link for 7 days. After 7 days, only logged-in users in your Paperform team with access to the file can open or download it, unless the team owner has enabled public file access.

BYO S3 lets you store uploaded files in your own Amazon S3 bucket instead of Paperform’s storage. This is useful if your organisation has specific security, compliance, data storage, or infrastructure requirements. However, using a private S3 bucket may impact the expected behavior of other features like accessing files via email, submission exports or integrations with third parties.

## Setup bucket

> This feature is exclusively available with selected [pricing plans](https://paperform.com/pricing/).

 1. Login to AWS and setup a new S3 bucket.
 2. Configure your public access settings to allow public access. If you would like objects created in your bucket to be private we can configure that when we enable your bucket.

![Public access requirements for S3 bucket](https://img.paperform.co/fetch/f_auto,w_1400/https://d3gw2uv1ch7vdq.cloudfront.net/img/public-access-aws-block-options.png)
Public access requirements for S3 bucket
 3. Configure your ACL settings as shown below.

![ACL requirements for S3 bucket](https://img.paperform.co/fetch/f_auto,w_1400/https://d3gw2uv1ch7vdq.cloudfront.net/img/acl-requirements-for-s3-bucket.png)
ACL requirements for S3 bucket
 4. Under **Permissions → CORS Configuration**, click Edit and add the following:

```
[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "PUT",
            "POST",
            "GET"
        ],
        "AllowedOrigins": [
            "https://*.paperform.co"
        ],
        "ExposeHeaders": [
            "ETag"
        ]
    }
]
```

**Additional step for custom domains**

If you use custom domains on Paperform then you will need to add additional `AllowedOrigins` to give your custom domain permission to upload files to your S3 bucket.

For example, if you had a custom domain **forms.mysite.com** then your allowed origins should be:

```
[
  "https://*.paperform.co",
  "https://forms.mysite.com"
]
```

## Setup IAM User with permissions

 1. Go to IAM in AWS.
 2. Create a new user with "programmatic access".
 3. Under "Set Permissions" select **Attach existing policies directly → Create policy**.
 4. In the policy creator, select the "JSON" tab and paste the below policy.

```json
{
"Version": "2012-10-17",
"Statement": [
    {
    "Effect": "Allow",
    "Action": ["s3:ListBucket"],
    "Resource": ["arn:aws:s3:::BUCKETNAME"]
    },
    {
    "Sid": "Stmt1466908203000",
    "Effect": "Allow",
    "Action": [
        "s3:AbortMultipartUpload",
        "s3:GetBucketAcl",
        "s3:GetBucketCORS",
        "s3:GetObject",
        "s3:GetObjectAcl",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:ListMultipartUploadParts",
        "s3:PutObject",
        "s3:PutObjectAcl",
        "s3:PutObjectVersionAcl"
    ],
    "Resource": ["arn:aws:s3:::BUCKETNAME/*"]
    }
]
}
```

**Note that you should replace the `BUCKETNAME` with the name you choose for your S3 bucket.**
 5. Save the policy under any name you like.
 6. Go back to the user setup.
 7. Select the newly created policy (you may need to refresh the listing to search for the policy).
 8. Complete user setup and ensure you download **credentials.csv**.

## Give credentials to Paperform for setup

Generate an Access Key for the user you created and fill out [https://byo-s3-setup.paperform.co](https://byo-s3-setup.paperform.co) to give Paperform the relevant information to setup the S3 bucket as the upload location for your forms. Paperform will complete and test the setup and get back to you **within 2 business days**.

### Related Articles
  [Where is my submission data stored?  You can access your form results from the Dashboard or form editor.](/help/articles/where-are-my-submissions/)
[How do I view a submitter's uploaded files?  You can view a submitter's uploaded files through the Submissions section of your dashboard.](/help/articles/how-do-i-view-a-submitters-uploaded-files/)