# s3nd vs Firefox Send

> A Firefox Send alternative that needs nothing deployed. What Firefox Send is, where the two overlap, where they differ, and when to pick each.

Canonical: https://www.s3nd.sh/alternatives/firefox-send · Markdown: https://www.s3nd.sh/alternatives/firefox-send.md · Français: https://www.s3nd.sh/fr/alternatives/firefox-send

Short-lived transfers that expire on their own, no account, open source, and a design that assumes the server should not be trusted with the contents.

## What Firefox Send is
Mozilla’s end-to-end encrypted file-sharing service: upload, get a link, and the file expired after a number of downloads or a period of time. Mozilla shut the service down in 2020. The code was open source, and community forks, notably timvisee’s Send, keep it alive as something you host yourself.

Website: https://github.com/timvisee/send

## Where they part ways.
| | s3nd | Firefox Send |
| --- | --- | --- |
| What it is | A CLI, a library and React hooks over your own S3 bucket | End-to-end encrypted file sharing by link; discontinued, forks are self-hostable |
| Where the data lives | Your bucket: S3, R2, MinIO, Scaleway, Wasabi | The Send server’s storage; forks can use S3 |
| Both ends online at once | No. The code is redeemed later, until it expires | No |
| From inside your web app | Yes, through one route on your server | Its own web app |
| Accounts | None. The code is the whole handshake | None |
| Hosting | Your bucket, plus your server when a browser takes part | Self-hosted forks only |
| Price | Free. You pay your storage provider for a few objects that expire | Free |
| License | MIT | MPL-2.0 |

## What actually changes.
- **A web app to deploy versus a route to mount** — A Send fork is a whole application: a Node server, a Redis, a storage backend, a front end. s3nd is a library you call from your own API, or a CLI that talks to the bucket with nothing running at all.
- **Encryption built in versus encryption you add** — Send encrypts in the browser and puts the key in the URL fragment. s3nd stores whatever bytes you hand it, so the same design is a few lines of WebCrypto on your side, documented in the encrypted sync guide.
- **Files for people versus state for apps** — Send moves a file to a person with a link. s3nd also moves a database to another device with a code, with schema versions and expiry enforced on read.

## Pick the one that fits.
### Pick Firefox Send when
- You want a shareable-link web page for people, self-hosted.
- End-to-end encryption in the browser, out of the box.

### Pick s3nd when
- No application to run: a bucket and, at most, one route in the app you already have.
- Moving app state, not only files.
- The CLI to a bucket, with nothing deployed anywhere.
