How to configure your own S3 bucket for PDF form submissions

Profile picture of Benjamin André-Micolon

Note: Using Azure Blob Storage? Check out our Azure Blob Storage configuration guide. Using SharePoint? Check out our SharePoint configuration guide.



When your customers edit and fill a document using SimplePDF in your portal or the embed editor connected to your portal, the document as well as the submissions are securely saved on SimplePDF storage (S3 bucket).

However for various reasons, such as compliance to specific rules in your country or industry, you may wish this document to be saved in your own storage.

How the upload works

Feel free to jump to the next section to see how to configure your S3 bucket

Let's quickly review the flow of the upload. This applies to all storage providers (S3, Azure Blob Storage, and SharePoint):

  ( User Device )        ( SimplePDF )          ( Cloud Storage )        ( Customer Server )
┌─────────────┐        ┌─────────────┐        ┌─────────────────┐       ┌──────────────────┐
│             │        │             │        │                 │       │                  │
│   Browser   │        │  SimplePDF  │        │ Customer Storage│       │ Customer Backend │
│  (Editor)   │        │   Server    │        │ S3/Azure/SharePt│       │   (webhook)      │
│             │        │             │        │                 │       │                  │
└──────┬──────┘        └──────┬──────┘        └────────┬────────┘       └────────┬─────────┘
       │                      │                        │                         │
       │  1. Request URL      │                        │                         │
       │ ───────────────────> │                        │                         │
       │                      │                        │                         │
       │  2. URL / session    │                        │                         │
       │ <─────────────────── │                        │                         │
       │                      │                        │                         │
       │  3. Direct upload (no data touches SimplePDF) │                         │
       │ ────────────────────────────────────────────> │                         │
       │                      │                        │                         │
       │  4. Upload confirmed │                        │                         │
       │ ───────────────────> │                        │                         │
       │                      │                        │                         │
       │                      │  5. Webhook (optional) │                         │
       │                      │ ─────────────────────────────────────────────── >│
       │                      │                        │                         │

  ───────────>  API call (metadata only, no document data)
  ────────────────────────────────────>  Direct file transfer (bypasses SimplePDF)

As security and privacy is paramount to us, we want to emphasize a couple of things about the upload flow:

  • The SimplePDF server never sees the document: the upload (step 3) goes directly from the browser to your storage.
  • Upload and download URLs are short-lived and pre-signed using your own storage credentials.

How to configure your own S3 bucket

Configuring your own S3 bucket is available with the PRO plan

In SimplePDF

  1. Log in to your account
  2. Navigate to the account settings view:

Custom S3 configuration in the account view

  1. Click Update configuration

  2. Enter your S3 bucket details:

Specify https://s3.amazonaws.com for the endpoint if you use Virtual-hosted-style requests

Custom S3 configuration: configuration details

  1. Click Update

CORS configuration in your S3 bucket

  1. Allow the following headers:
  • x-amz-acl
  • Content-Type
  1. Allow the following methods:
  • GET
  • PUT
  1. Allow the following origin:
  • *

You can narrow it down to your own company portal if you do not want to grant access to all origins (*): https://your_identifier.simplepdf.com.

Permissions required on your S3 bucket

  • s3:GetObject: to display the documents and submissions in the interface and when sending webhooks
  • s3:PutObject: to upload the documents and submissions
  • s3:DeleteObject: to delete the uploaded documents and submissions

That's it! Your documents and submissions are now automatically stored in your own S3 bucket!

If you have any questions, feel free to reach out to support@simplepdf.com