Use cases
One primitive, seven shapes.
A file between two machines is the plain case. The same put, code, get covers a team, a workflow, and an application carrying its own state to the user's next device.
01Files
Machines, people, pipelines.
The CLI straight to the bucket when every participant is a machine you control, and one route on your server when it is not.
@s3nd/cli
A file between two machines
A laptop, a desktop, a code. No server, no account, through the bucket you already have.
s3nd · @s3nd/cli
A drop box for your team
One route on your own domain, a token per person, and a code instead of a chat upload.
@s3nd/cli
Backups from CI
A nightly archive to your bucket from a workflow, with secrets from the runner and no file to check in.
02App state
A local-first app, on their other device.
The browser holds the data, your server holds the keys, and your bucket holds a snapshot for as long as it needs to. No account required.
s3nd · @s3nd/react
Move an app to a new device
A local-first app with no accounts. A code on the old phone, typed into the new one, and the whole database follows.
s3nd
Continuous backup
One snapshot per account, rewritten as the local database changes, with conditional writes so two devices cannot silently clobber each other.
@s3nd/protocol · s3nd
End-to-end encrypted
Encrypt in the browser with a passphrase. Your server and your bucket store bytes they cannot read.
s3nd
Attachments beside the data
The blobs an app holds, carried across as objects, with the records that point at them in the snapshot.
Put a file. Hand over the code.
Point it at the bucket you already pay for. Nothing to deploy, nothing to sign up for, nothing in the middle.
npm install -g @s3nd/clis3nd init --provider r2 --bucket drops3nd put ./anything.zip