Back to Blog
guidecloudfeature

How to Set Up Cloud Storage in Snapzy

Snapzy Team
How to Set Up Cloud Storage in Snapzy

How to Set Up Cloud Storage in Snapzy ☁️

Snapzy's cloud storage feature lets you automatically upload screenshots to your own cloud bucket and instantly copy a shareable link to your clipboard. No third-party image hosting — you own your data.

This guide walks you through configuring either AWS S3 or Cloudflare R2 as your cloud provider.

How Snapzy cloud upload works

Prerequisites

Before you start, make sure you have:

  • Snapzy v1.4.0+ installed on your Mac
  • An AWS account (for S3) or a Cloudflare account (for R2)
  • A bucket created with public read access (or a custom domain) so uploaded files are accessible via URL

Option A: AWS S3 Setup

Step 1 — Create an S3 Bucket

  1. Sign in to the AWS Management Console
  2. Click Create bucket
  3. Enter a bucket name (e.g., my-snapzy-uploads)
  4. Choose a region (e.g., us-east-1)
  5. Uncheck "Block all public access" — you need public read access for shareable links
  6. Click Create bucket

Tip: If you prefer not to make the entire bucket public, you can use a CloudFront distribution or signed URLs with a custom domain instead.

Step 2 — Set a Bucket Policy

Add this bucket policy to allow public read access on the snapzy/ prefix:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PublicReadSnapzy",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/snapzy/*"
    }
  ]
}

Replace YOUR_BUCKET_NAME with your actual bucket name.

Step 3 — Create IAM Credentials

  1. Go to the IAM Console
  2. Create a new IAM user or use an existing one
  3. Attach a policy with the following permissions:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject",
        "s3:GetBucketLifecycleConfiguration",
        "s3:PutBucketLifecycleConfiguration",
        "s3:DeleteBucketLifecycleConfiguration",
        "s3:HeadBucket"
      ],
      "Resource": [
        "arn:aws:s3:::YOUR_BUCKET_NAME",
        "arn:aws:s3:::YOUR_BUCKET_NAME/*"
      ]
    }
  ]
}
  1. Generate an Access Key ID and Secret Access Key — save these securely

Step 4 — Configure in Snapzy

Open Snapzy → PreferencesCloud tab and fill in the form:

AWS S3 configuration in Snapzy

FieldValue
ProviderAWS S3
Access Key IDYour IAM access key
Secret Access KeyYour IAM secret key
Bucket NameYour S3 bucket name
RegionThe region you chose (e.g., us-east-1)
EndpointLeave empty for standard S3 (or enter a custom endpoint for S3-compatible services)
Custom Domain(Optional) Your CloudFront or custom domain

Click Save & Test — Snapzy will validate your credentials and set up a lifecycle rule for auto-expiration.


Option B: Cloudflare R2 Setup

Step 1 — Create an R2 Bucket

  1. Sign in to the Cloudflare Dashboard
  2. Go to R2 Object Storage in the sidebar
  3. Click Create bucket
  4. Enter a bucket name (e.g., snapzy-uploads)
  5. Click Create bucket

Step 2 — Enable Public Access

To make uploaded files accessible via URL, you need to set up either:

  • R2.dev subdomain — In the bucket settings, enable the r2.dev public URL (quick and easy)
  • Custom domain — Connect your own domain under Settings → Public access → Custom Domains

Note: For production, a custom domain is recommended. The r2.dev subdomain has rate limits.

Step 3 — Generate API Tokens

  1. In the Cloudflare Dashboard, go to R2 Object Storage → Overview
  2. Click Manage R2 API Tokens
  3. Click Create API token
  4. Set permissions to Object Read & Write for your bucket
  5. Copy the Access Key ID and Secret Access Key
  6. Note your Account ID — you'll need it for the endpoint URL

Your R2 endpoint format is:

https://<ACCOUNT_ID>.r2.cloudflarestorage.com

Step 4 — Configure in Snapzy

Open Snapzy → PreferencesCloud tab and fill in the form:

Cloudflare R2 configuration in Snapzy

FieldValue
ProviderCloudflare R2
Access Key IDYour R2 API token access key
Secret Access KeyYour R2 API token secret key
Bucket NameYour R2 bucket name
Endpointhttps://<ACCOUNT_ID>.r2.cloudflarestorage.com
Custom DomainYour public access domain (e.g., cdn.example.com)

Click Save & Test — Snapzy will validate the connection and configure lifecycle rules.


Configure File Expiration

Snapzy supports automatic file expiration using S3/R2 lifecycle rules. You can choose from:

DurationDescription
1 dayFiles are deleted after 24 hours
3 daysGood for temporary sharing
7 daysDefault — balanced retention
14 daysTwo-week window
30 daysOne-month retention
60 / 90 daysExtended retention
PermanentFiles persist until manually deleted

Important: After changing the expiration setting, Snapzy updates the lifecycle rule on your bucket automatically. Cloud providers may take up to 24 hours to process deletions after the expiry period.


This guide took hours to write

If it saved you from digging through AWS docs or debugging bucket policies, a small sponsorship helps us keep creating detailed guides like this.


Enable Auto-Upload

Once cloud storage is configured, enable automatic uploading:

  1. Open PreferencesAfter Capture
  2. Toggle Upload to Cloud under the Screenshot column

After Capture settings with Upload to Cloud enabled

Now, every time you take a screenshot, Snapzy will:

  1. ✅ Upload to your cloud bucket
  2. 📋 Copy the public link to your clipboard
  3. 🔗 Show the link in the Quick Access card

You can also manually upload from the Quick Access card or Annotate editor.


Upload History

To open the Cloud Uploads window:

  1. Click the Snapzy icon in your menu bar
  2. Select Cloud Uploads (shortcut: ⌘⇧L)

You can also configure a custom keyboard shortcut for this action in Preferences → Shortcuts.

The Cloud Uploads window gives you a full overview of everything you've uploaded. You can switch between list view and grid view using the toggle in the toolbar. The window also includes:

  • Search — find uploads by file name or URL
  • Filters — filter by status (active/expired), provider, expire time, or sort order
  • Copy link — hover over any upload and click the copy icon to grab the public URL
  • Open in browser — preview any upload directly in Safari
  • Delete — remove individual files from cloud storage, or bulk-delete everything
  • Stats — see the total number of uploads at a glance

Secure Your Credentials

Snapzy stores your cloud credentials in the macOS Keychain (not in plain text). For extra security, you can set a protection password:

  • You'll be prompted to set a password when first configuring cloud
  • The password is required to view or edit your cloud credentials
  • If you forget the password, you can reset the entire configuration

We strongly recommend setting a protection password if your Mac is shared with others.


Reference Documentation

AWS S3

Cloudflare R2


Need help? Open an issue on GitHub — we're happy to help! 🙌

Support the project

Snapzy is free and open source. If you find it useful, consider sponsoring to help keep development alive and accessible to everyone.