Azure Blob Storage

Upload-Here uses your storage account name and access key to create short-lived, write-only SAS URLs for each upload. The SAS given to your customer's browser can only create and write the one blob being uploaded.

Recommendation: an Azure access key grants full access to the storage account. Use a dedicated storage account for customer uploads so the key can't reach any other data.

1. Create a storage account and container

  1. In the Azure portal create a Storage account (Standard, StorageV2).
  2. Open it → Data storage → Containers → + Container, e.g. uploads. Keep access level Private.

2. Copy the access key

Open Security + networking → Access keys and copy the Storage account name and key1.

3. Configure CORS

Open Settings → Resource sharing (CORS) → Blob service and add a rule:

Allowed origins Allowed methods Allowed headers Exposed headers Max age
https://new.upload-here.com PUT, OPTIONS * * 3600

Or with the Azure CLI:

az storage cors add --services b --methods PUT OPTIONS \
  --origins https://new.upload-here.com --allowed-headers '*' --exposed-headers '*' \
  --max-age 3600 --account-name YOUR-ACCOUNT --account-key YOUR-KEY

4. Add the credentials to Upload-Here

Go to Dashboard → Storage → Azure, enter the account name and key, enter your container name under Test container and click Test & save.

When creating an upload link, use the container name as the bucket.