Flitterby

Setup

Connecting an account

Flitterby never asks for a password. Google Drive and Dropbox are connected through their own sign-in screens, and S3-compatible storage through keys you issue yourself and can revoke without involving us.

Google Drive

Source or destination

What to do

Choose Google Drive when adding an account. Google's own sign-in screen opens, you pick the account, and you land back here. There is nothing to configure and nothing to paste.

The permission looks broad, because it is

Google offers full Drive access and narrower per-file permissions. Flitterby's current folder migration uses full access to browse existing trees and create copies where you choose. That permission also allows changing and deleting files; Flitterby preserves source originals and only cleans up its own failed destination copies. Google also lets you untick it on that screen: if you do, the connection is refused rather than saved half-working, because a connection that cannot read is not a connection.

You may see an "unverified app" warning

Public Google access is not yet verified for launch. Private testing may be limited to invited accounts. If Google blocks your connection or shows a warning, stop and contact support@flitterby.com; do not treat a warning as proof that the app has been approved.

Testing connections may expire

Google authorizations in Testing can expire after seven days. If the app asks you to reconnect, use Reconnect for the same account, then check the job's status and Resume if needed. Existing progress is retained. Publishing status alone does not establish verified public access or guarantee that a connection will never need renewal.

Dropbox

Source or destination

What to do

Choose Dropbox when adding an account and approve it on Dropbox's screen. As with Google, there is nothing to paste.

What we ask for

files.metadata.read files.content.read files.content.write account_info.read sharing.read

These scopes allow reading metadata and contents, and writing or deleting files. Flitterby reads what you choose and creates the copies you request. Same-name copies use Dropbox's automatic rename rather than replacing existing files. A failed copy created by Flitterby may be deleted after verification fails; source originals are preserved.

Team accounts

A Dropbox Business connection can act as any member, so after connecting you pick which member's files to work with. A personal account is only ever itself and the choice does not appear.

S3-compatible storage

Keys, not a sign-in

This one is a form rather than a sign-in, because these providers issue keys instead of using OAuth. Your keys are checked against the live bucket before anything is saved, so a typo is reported immediately rather than at the start of a transfer.

What the form asks for

Name is yours, for telling connections apart. Endpoint is the bucket's S3 URL without the bucket name in it. Bucket is the bucket name on its own. Region can be left as auto where the provider ignores it. Folder prefix is optional and confines Flitterby to one part of the bucket. Then the access key ID and secret access key.

Endpoints and where keys come from

Confirm the endpoint in your provider's own console, since it varies with the region the bucket was created in.

Amazon S3. https://s3.<region>.amazonaws.com, region required. Keys from IAM, under a user's security credentials.

Cloudflare R2. https://<account-id>.r2.cloudflarestorage.com, region auto. Keys from R2, Manage API Tokens, with Object Read and Write.

Backblaze B2. https://s3.<region>.backblazeb2.com, for example s3.us-west-002.backblazeb2.com. Region is the one in the endpoint. Keys from Application Keys.

Wasabi. https://s3.<region>.wasabisys.com. Keys from Access Keys.

DigitalOcean Spaces. https://<region>.digitaloceanspaces.com, for example sfo3.digitaloceanspaces.com. Keys from API, Spaces Keys.

MinIO or self-hosted. Your own URL, and usually us-east-1 unless you set otherwise.

What the key needs to be allowed to do

To read: list the bucket and get objects. To write: put objects, and create, upload and complete multipart uploads for anything large. The endpoint must honour create-only writes for both small and multipart uploads. Flitterby checks this before using customer filenames; a connection that cannot safely preserve existing objects is available only as a source.

If an object already exists under the destination name, Flitterby leaves it alone and reports a conflict. Choose a different destination folder or rename the source before making a new copy. It never falls back to an overwrite, even if another writer arrives mid-copy.

Connection checks use a uniquely named marker, never a fixed key. Delete permission lets Flitterby clean up that marker and abandon its own multipart uploads. It only removes a failed completed copy when the upload returned a specific version and the endpoint honours conditional deletion. Otherwise the failed copy stays for you to inspect and remove. Keys without delete can still transfer; small check markers may remain in the bucket.

Your provider may charge for the transfer

Flitterby does not charge for bandwidth, but object storage providers often do, and it is usually billed on the way out, meaning the account you are copying from. Some also charge per request, which scales with how many files you have rather than how large they are, and a few add minimum retention rules. Rates differ by provider and change, so check your provider's pricing before starting a large transfer. See the declaration for the shape of it.

Scoping the key

Every provider here can issue a key limited to one bucket, and most can limit it to a prefix. Doing that is a better protection than anything we can promise you, because it does not depend on us behaving.

When a connection stops working

What it looks like and what to do

Waiting for you to reconnect

The stored authorization stopped being accepted: it expired, or it was revoked, or the account's permissions changed. Use the Reconnect link on the account and resume the copy. It picks up from where it stopped rather than starting over.

Revoking access yourself

Removing a connection here requests cleanup of its stored credential and is refused while unfinished copies rely on it. You can also revoke Flitterby in Google's or Dropbox's security settings, or revoke the S3 key. Further authorized requests fail once the provider applies the change; a request already in flight may finish.

Still stuck

What helps us answer quickly

Write to support@flitterby.com with the provider, the step it failed at, and the exact message. For S3, the endpoint and bucket as you entered them helps most, and never send the secret key.