// about
how scatter works.
file sharing that doesn't trust a company — including us.
the problem
when you upload a file to dropbox, google drive, or wetransfer, you're trusting that company with your data. they can read it, scan it, lose it, or hand it over to whoever asks.
scatter was built on a simple idea: what if the service couldn't read your files, even if it wanted to?
the approach
- 1
encrypt
your file is locked with a random key, right in your browser. the key never leaves your device.
- 2
shard
the encrypted file is split into 14 pieces using reed-solomon erasure coding. any 10 pieces can rebuild the whole thing — so if some pieces go missing, your file is still safe.
- 3
scatter
pieces go to different computers contributed by people running our node app. no single machine has enough to read anything.
- 4
share
you get a link like
scatter.tools/f/abc123#key. the part after the#— the decryption key — is never sent to our server. browsers don't send it.
what we can see
honest list of what our servers know:
- that someone uploaded a file of a certain size
- which nodes are holding which encrypted pieces
- when the file was created
things we can't see:
- the contents of the file
- the original filename (it's encrypted with everything else)
- who downloaded it
the catch
nothing is free. scatter runs because people volunteer their unused storage. to keep it sustainable:
- guest uploads are capped at 100 mb and expire after 24 hours
- free accounts can upload up to 1 gb, kept until you delete them
- run a node and share spare storage to earn credits toward bigger uploads
who's behind this
open source
the whole stack is open source under AGPL-3.0. see the code on github. you can self-host your own scatter instance for your team or community.