Come resta privato
Il file non ha nessun posto dove andare.
Dire che un file è “elaborato in locale” non costa niente. Questa pagina mostra il meccanismo, i controlli che puoi fare da solo e il punto esatto in cui la promessa finisce.
Un PerformanceObserver sempre attivo fa salire questo numero se la pagina carica qualcosa da un’altra origine.
Content-Security-Policy: … connect-src 'none'
Questa direttiva sta nell’intestazione HTTP Content-Security-Policy di ogni pagina. Dice al browser di rifiutare le connessioni fetch, XHR, WebSocket e beacon dello strumento.
Cosa succede quando scegli un file
- Il browser dà a questa scheda un riferimento temporaneo al file che hai scelto. Sceglierlo non lo carica.
- I pixel delle immagini vengono decodificati con le funzioni del browser. Gli oggetti PDF vengono letti da una libreria servita da questo stesso dominio.
- Il risultato viene costruito in memoria ed esposto con un indirizzo locale
blob:, che esiste solo in questa sessione del browser. - Scarica scrive i nuovi byte sul tuo dispositivo. Ricaricare la pagina svuota la memoria di lavoro.
Tre modi per verificarlo da solo
| Controllo | Cosa fare | Cosa dovresti vedere |
|---|---|---|
| Pannello Rete | Apri gli strumenti per sviluppatori del browser, scegli Rete e poi elabora un file. | Nessuna richiesta che contenga il file, il suo nome o il risultato. |
| Prova offline | Apri uno strumento una volta, scollegati da internet e poi usalo. | Lo strumento già visitato funziona ancora, dalla cache del service worker. |
| Intestazione di sicurezza | Esamina la risposta del documento negli strumenti per sviluppatori. | connect-src 'none', che blocca le connessioni fetch, XHR, WebSocket e beacon. |
Il confine, detto con precisione
Il sito deve comunque arrivare al tuo browser, quindi Cloudflare serve HTML, script, stili e font e può tenere i normali registri di sicurezza, come indirizzo IP e orario. Il file che scegli, il suo nome, i suoi pixel e il risultato non viaggiano con quelle richieste.
C’è un’eccezione da dichiarare. La cache offline è gestita da un service worker, e un worker segue la politica servita con il proprio script: per questo /sw.js viene servito senza il connect-src del documento e può chiedere a questo dominio le pagine e i file che conserva per l’uso offline. Non tocca mai il file che hai scelto, che la pagina legge dal tuo disco e che non diventa mai una richiesta.
Su questa versione del sito non è attiva nessuna rete pubblicitaria. Nessuna pagina strumento contatta automaticamente un’altra azienda.
Codice di terzi, servito da qui
Il motore PDF usa pdf-lib, e i due convertitori da PDF a immagine disegnano le pagine con pdf.js, la cui licenza Apache 2.0 è pubblicata con il sito. Il convertitore HEIC usa il decoder heic-to, con licenza LGPL-3.0: anche quella licenza è pubblicata con il sito. Questi script vengono copiati nel sito e serviti da NoUpload: aprire uno strumento non chiede mai codice a un CDN di pacchetti o ai loro autori.