ZeroTransfer
Veiligheid

Zo min mogelijk weten, zo kort mogelijk bewaren.

Het ontwerp gaat ervan uit dat links lekken, mailboxen worden meegelezen en servers ooit worden gestolen. Elke laag beperkt de schade als een andere laag faalt.

Transport en opslag

  • Alle verkeer loopt over TLS 1.2+ met HSTS; HTTP wordt geweigerd.
  • Bestanden staan in Cloudflare R2 met EU-jurisdictie: opslag en verwerking blijven binnen de Europese Unie.
  • Data at rest is versleuteld (AES-256, door de opslaglaag beheerde sleutels).
  • Downloads worden rechtstreeks vanuit opslag gestreamd; er wordt niets gecachet aan de edge (Cache-Control: no-store).

Pincode

  • De pincode wordt nooit opgeslagen. We bewaren alleen een PBKDF2-SHA256-hash (100.000 iteraties) met een unieke 128-bit salt per bestand.
  • Vergelijking gebeurt in constante tijd.
  • Na 8 foute pogingen wordt het bestand én de metadata vernietigd. Daarnaast geldt rate limiting per IP op de pincode-controle.
  • De bestandsnaam wordt pas vrijgegeven na een correcte pincode; de link zelf verraadt alleen grootte en vervaldatum.

Precies één download

  • Een correcte pincode levert een eenmalig token op. Het uitgeven van dat token is een atomaire databasewijziging: twee gelijktijdige pogingen kunnen nooit allebei slagen.
  • Bij de eerste byte van de download wordt het token ongeldig gemaakt — nog vóór het bestand wordt verzonden.
  • Het object blijft daarna maximaal 3 uur beschikbaar voor de lopende stream en wordt dan definitief verwijderd. Een tweede verzoek met dezelfde link krijgt altijd 410.

Bewaartermijn en opruimen

  • Niet-opgehaalde bestanden verlopen na 72 uur. Een geplande taak verwijdert elke 15 minuten alles wat verlopen is.
  • Als vangnet dwingt de opslaglaag zelf een maximale levensduur van 4 dagen af en breekt ze onvoltooide uploads na 1 dag af.

Links en identifiers

  • Bestands-ID's zijn 14 willekeurige tekens (≈ 82 bits) uit een CSPRNG; raden is niet realistisch.
  • Download-tokens zijn 256 bits en eenmalig.
  • Pagina's sturen geen Referer mee en zijn uitgesloten van zoekmachines.

Wat ZeroTransfer niet is

  • Geen end-to-end-versleuteling: de opslaglaag kan het bestand technisch lezen. Wie dat niet wil, versleutelt het bestand vooraf (bijv. een met wachtwoord beveiligde 7z/zip of age/GPG) en gebruikt ZeroTransfer als transportlaag.
  • Geen archief: alles wat ouder is dan 3 dagen bestaat niet meer, ook niet voor ons.

Kwetsbaarheid melden

Mail security@zerotransfer.org. We reageren binnen 72 uur en noemen je, als je wilt, in de credits.