Straight from you to them.
download.fyi connects two browsers and streams the file between them. Here is what happens when you share a link, and what we can and can't see.
Nothing waits on a server
When you drop a file on download.fyi, it stays on your computer. You get a link made of three words. When someone opens it, their browser asks yours for the file, and your browser sends it to them while they download.
That's why a free link only works while your tab is open. Close the tab and there's nothing left to download.
Your browsers talk directly
The two browsers connect with WebRTC, the same technology video calls use. To find a way through home routers and firewalls, each browser asks a public STUN server run by Google or Cloudflare for its own public address. Those servers see your IP address and nothing else.
If that fails, we pass it along
Some networks, like strict office or mobile networks, block direct connections. Then the file goes through our server instead. It's still encrypted end to end, so we pass along bytes we can't read and don't keep them.
A new key for every transfer
Before anything is sent, the two browsers agree on a fresh encryption key that only they know, and check it against the link so nobody in the middle can swap it. Every piece of the file is encrypted with that key (AES-256-GCM). When the transfer ends, the key is gone.
Why three words are enough
A link like download.fyi/tulip-otter-mango is one of about 1.3 billion possible codes. Three words are easy to read out loud and quick to type on a phone.
The words are not the encryption key. They tell our server which two browsers to introduce, and the key is made fresh for each transfer.
Anyone with the link can download, so treat it like a key. Guessing one isn't practical: our server limits how many codes anyone can try, and a free link only exists while the sender's tab is open. For kept files, unlocking with the link goes through a deliberately slow step, so each guess costs time.
Keeping a file for longer
If you buy a pass, your browser encrypts every file before it uploads, with a random key. That key is locked with your link, so only someone who has the link can open the files.
We store the encrypted files with Backblaze B2 in the EU (eu-central-003). To find them again we keep a one-way fingerprint of the link, never the link itself, so we can't open your files.
When the pass ends, the link stops working and the files are deleted within about an hour.
What our server sees
What it sees
- Your IP address, held in memory to stop abuse and to group devices on the same network for Nearby
- The three-word code, to introduce the two browsers. We don't log it.
- The connection details browsers swap to find a route
- How many encrypted bytes it relayed
What it never sees
- File names, sizes or types
- What's inside your files
- The keys that unlock them
We keep one anonymous daily count of how many files were delivered and how many bytes moved. That's the only tally.