Trasferimento client-server

Carichi una sola volta, condivida un link e lasci che il destinatario scarichi quando vuole, anche a scheda chiusa. Ogni file viene cifrato sul dispositivo prima di lasciarlo.

Nella modalità client-server, il modo classico in cui funzionano la maggior parte degli strumenti di trasferimento, i file vengono caricati prima nell’archiviazione di Transferify e poi consegnati al destinatario tramite un link di download. Poiché il file risiede sui nostri server, il trasferimento è asincrono: mittente e destinatario non devono mai essere online nello stesso momento.

È questa la differenza fondamentale rispetto a un trasferimento peer-to-peer in tempo reale. I link ospitati richiedono all’inizio l’attesa del caricamento, ma una volta terminato il link continua a funzionare da solo: il destinatario può scaricare il file dopo pochi minuti o dopo giorni, da qualsiasi dispositivo, molto tempo dopo la chiusura della scheda.

Come funziona un trasferimento ospitato

  1. I file vengono cifrati sul dispositivo con AES-256-GCM prima che un solo byte lo lasci, quindi all’archiviazione arrivano esclusivamente dati cifrati.
  2. I dati cifrati vengono suddivisi in blocchi e inviati direttamente all’archiviazione come caricamento multipart, così un file di grandi dimensioni parte in molte parti indipendenti invece che in un unico flusso fragile. La dimensione dei blocchi viene scelta per ogni file (8 MiB per i trasferimenti di uso comune, in aumento man mano che il file cresce), perciò anche il caricamento più grande rientra nel limite di 10.000 parti.
  3. Ogni parte che fallisce viene ritentata automaticamente, con pause che crescono in modo esponenziale, e il suo URL di caricamento viene firmato di nuovo a ogni tentativo: un breve calo della rete non fa quindi perdere l’intero caricamento.
  4. Terminato il caricamento, il link di condivisione diventa attivo. Il destinatario lo apre e il file arriva blocco dopo blocco, decifrato al volo direttamente nel browser: senza account, senza nulla da installare.

Pensato per file grandi e reti instabili

È la conservazione del file sul server a rendere affidabile questa modalità:

  • Caricamento multipart a blocchi - Un file di grandi dimensioni viene suddiviso in parti e caricato in modo indipendente, così la velocità resta alta e una singola parte persa non fa mai ripartire l’intero trasferimento. La dimensione delle parti cresce con il file, quindi anche il caricamento più grande che accettiamo rientra nello stesso limite di 10.000 parti.
  • Nuovi tentativi automatici - Quando la connessione cade, una parte viene ritentata per un massimo di dieci minuti, con pause che crescono da mezzo secondo a trenta secondi e un URL appena firmato a ogni tentativo. Il tempo trascorso offline non rientra in quei dieci minuti, perciò anche un caricamento di molte ore su un Wi-Fi poco affidabile arriva comunque a termine.
  • File di grandi dimensioni - Si parte gratis, poi si inviano fino a 100 GB con Plus e 1 TB con Premium: le dimensioni le gestisce il motore multipart.
  • Download in streaming, senza pesare sulla memoria - Il browser del destinatario recupera il file un blocco alla volta e lo scrive direttamente su disco, perciò nemmeno i file enormi devono entrare in memoria. Ogni nuovo download viene conteggiato nel limite di download del trasferimento e nella quota mensile del mittente, e viene rifiutato quando uno dei due è esaurito.

Cifrato prima di lasciare il dispositivo

Ospitato non significa esposto. I file vengono cifrati sul dispositivo con AES-256-GCM prima del caricamento, quindi la nostra archiviazione contiene soltanto file cifrati. Ogni blocco è sigillato separatamente e legato alla propria posizione nel file, perciò il download fallisce in modo evidente se anche un solo byte viene manomesso o riordinato.

Per impostazione predefinita conserviamo la chiave del file, protetta da una chiave custodita in AWS KMS, e il nostro server la sblocca per consegnarla a chi apre il link. È ciò che permette al link di funzionare senza contenere la chiave e che rende recuperabile un link smarrito. Attivando la modalità Zero-Knowledge la chiave resta nel link, dopo il «#»: non ci raggiunge mai e non possiamo leggere quei file. Scopra come funziona la crittografia zero-knowledge.

Client-server e peer-to-peer a confronto

Due modi per inviare lo stesso file. Il client-server lo conserva, così può aspettare; il peer-to-peer lo trasmette in tempo reale, da dispositivo a dispositivo, e non conserva nulla.

AspettoModalità client-serverModalità peer-to-peer
Quando funziona il linkAppena termina il caricamentoSubito, prima di qualsiasi caricamento
Percorso del fileDispositivo → server → dispositivoDispositivo → dispositivo, in modo diretto
DestinatarioScarica quando vuole, anche dopo giorniDeve essere online mentre si invia
Quando si chiude la schedaIl link resta onlineIl trasferimento si interrompe
Dove si trova il fileCifrato sui nostri server fino alla scadenzaDa nessuna parte: non viene mai conservato
Dimensione del fileGratis per iniziare · 100 GB Plus · 1 TB PremiumGratis fino a 5 GB · qualsiasi dimensione con un piano a pagamento

Quale scegliere?

Scegliere il client-server quando il destinatario potrebbe essere offline, quando si vuole che il link continui a funzionare dopo la chiusura della scheda, oppure quando servono password, date di scadenza e limiti di download per il file.

Scegliere il trasferimento peer-to-peer quando entrambe le parti sono online e si vuole che il file scorra all’istante, a piena velocità, senza che nulla venga mai conservato su un server.