The WeTransfer alternative for people who live in a terminal
WeTransfer is fine at what it's for: a person emailing a big file to another person, through a browser. If that's your whole use case, it works. Developers keep looking for an alternative for two different reasons – trust and tooling – and it's worth being precise about both.
The trust question
In 2025, WeTransfer updated its terms of service with language suggesting uploaded files could be used to improve machine-learning models. After public backlash, the company walked the change back and clarified that user files aren't used to train AI. Take them at their word – the episode still demonstrated the structural point: *when a service can read your files, its policy is the only thing between your data and any future use.* Policies change; architecture doesn't.
End-to-end encryption changes the category of the question. YAFL encrypts every file in your browser or CLI before upload; the app server never handles the file bytes, storage only ever holds ciphertext, and the decryption key travels exclusively in the URL's #fragment, which browsers never transmit. Your files can't be scanned, read, or trained on by the operator – not because a policy promises it, but because the server has nothing readable to look at.
The tooling question
The other reason developers leave: WeTransfer has no surface for how they work.
| WeTransfer | YAFL | |
|---|---|---|
| Send from a terminal | – | yafl put report.pdf – returns a link + a ready-to-run yafl get command |
| Scriptable | – | --json output, stable exit codes |
| AI-agent surface | – | MCP tools incl. login (npx -y @yafldev/mcp) – upload, download, status, list, delete, email a link |
| Encryption | In transit / at rest, provider-readable | End-to-end – app server never handles the bytes, storage holds ciphertext only |
| Expiry | Days (plan-dependent) | 24 hours, hard – or one-time links that burn on first download |
| Recipient experience | Browser link | Browser link (nothing to install) – or an agent redeems it |
| Free tier | Yes | Yes – 100 MB, full MCP + CLI |
When WeTransfer is still the right call
Multi-gigabyte video handoffs to non-technical clients, longer link lifetimes, and team features are WeTransfer's home turf – YAFL's free tier caps at 100 MB and links live 24 hours by design (bounded liability is a feature). YAFL wins when the sender or receiver is a terminal, a script, or an AI agent, and when "the operator cannot read this file" needs to be architecturally true. Need a same-room, no-account option instead of either? See LocalSend vs YAFL.
FAQ
Why are people stopping using WeTransfer? Two clusters: a 2025 terms-of-service change (later reversed) that raised AI-training concerns and made the provider-can-read-your-files architecture visible, and the lack of developer tooling – no CLI, no API surface for scripts or agents.
Is there a WeTransfer that works from the command line? Yes – yafl put <file> uploads end-to-end encrypted and prints a share link anyone can open in a browser, plus a retrieval command for the other terminal. Free for files up to 100 MB.
Install: npx -y @yafldev/mcp with
YAFL_API_KEY set, or the one-liner
curl -fsSL https://yafl.dev/install.sh | sh.