Non si invia niente, e si può verificare
Klarword non vi chiede di credergli. L'elaborazione avviene nel vostro browser, il browser vieta alla pagina di collegarsi altrove, e potete constatarlo in trenta secondi.
Verificare da soli
- Staccate la rete. Caricate un modello, poi disattivate il Wi-Fi o scollegate il cavo. Trascinate un file e trascrivete: tutto funziona. Ricaricate anche la pagina: torna.
- Aprite la scheda Rete. Negli strumenti per sviluppatori (F12), scheda «Rete», trascinate un file e avviate la trascrizione. Durante il lavoro non parte alcuna richiesta; la prima volta arrivano soltanto i file del modello, da questo sito.
- Leggete la politica di sicurezza dei contenuti. Si trova nell'intestazione di ogni pagina ed è riprodotta qui sotto. La riga connect-src 'self' vieta al browser qualsiasi collegamento verso un altro dominio. È il browser ad applicarla, non noi.
- Confrontate le impronte. Ogni file di modello ha un'impronta SHA-256, pubblicata nella pagina delle impronte. Lo strumento la verifica prima di usarlo, e potete ricalcolarla voi stessi sul file scaricato.
L'architettura
Il sito è un insieme di file statici: pagine, codice, un motore di calcolo e dei modelli. Il server li serve e non fa nient'altro. Non c'è un'applicazione lato server, non c'è una base di dati, non c'è un account, e non c'è alcun indirizzo a cui inviare una registrazione.
Un'architettura invece di una promessa
Un servizio online può promettere di cancellare la vostra registrazione; non avete alcun modo di constatarlo. Un'architettura, invece, si constata.
| Un servizio di trascrizione online | Klarword | |
|---|---|---|
| Dove viene elaborato l'audio | Sui server del fornitore, o presso il suo fornitore di modelli | Nel vostro browser, sul vostro computer |
| Che cosa dovete credere | La sua politica di conservazione e le sue condizioni | Niente: staccate la rete e guardate |
| Responsabili del trattamento | Hosting, fornitore di modelli, a volte fuori dall'Unione europea | Nessuno: non c'è alcun trattamento da affidare |
| Periodo di conservazione | Quello delle sue condizioni, da negoziare | Non pertinente: non si riceve niente |
| Riutilizzo per addestrare un modello | Secondo le sue condizioni | Impossibile: non riceviamo niente |
| Dipendenza | Dal servizio, dai suoi prezzi, dal diritto del suo paese | Nessuna: il pacchetto per intranet gira sulla vostra rete, senza connessione |
| Account, cookie | Spesso obbligatori | Nessuno |
Che cosa si scarica, e da dove
All'apertura dello strumento, il browser scarica la pagina, il suo codice e il suo foglio di stile. Al primo avvio di un modello, scarica il motore di calcolo e poi i file del modello scelto. Quando li chiedete, scarica anche l'esempio (una registrazione di un minuto e il suo testo) e i font dei sottotitoli impressi. Tutto viene da questo sito, e non si chiede nient'altro: nessun font da un servizio di terzi, nessuno script di terzi, nessuna misurazione del pubblico.
La libreria che fa girare il modello (transformers.js) sa andare a prendere i suoi file da Hugging Face e il suo motore da una rete di distribuzione dei contenuti. In Klarword non ne ha il diritto: la sua funzione di scaricamento è sostituita da una funzione che rifiuta, e legge soltanto i file verificati conservati sul vostro computer. Una richiesta imprevista fallisce con un messaggio, invece di partire.
Che cosa cambia per il GDPR
Non riceviamo alcuna registrazione, quindi non trattiamo nessuno dei dati che contiene. In concreto, per un'organizzazione:
- Nessun trasferimento di dati verso terzi: la registrazione non lascia il computer della persona che trascrive. La questione del trasferimento fuori dall'Unione europea non si pone, perché non c'è trasferimento.
- Nessun responsabile del trattamento da qualificare per il contenuto delle registrazioni, quindi nessun accordo sul trattamento dei dati da firmare per la trascrizione stessa.
- Nessun periodo di conservazione da fissare né cancellazione da chiedere: non esiste una copia altrove. Ciò che resta sul computer, un lavoro che avete chiesto di conservare, si elimina con un clic.
- Nessun fornitore di intelligenza artificiale vede passare i vostri colloqui: i modelli sono pubblicati con licenza libera (MIT, Apache 2.0), fissati a una revisione, verificati e serviti da questo sito, poi girano sul vostro computer.
- Nessun cookie, nessun tracciante, nessun terzo: nessun banner di consenso, perché non c'è niente a cui consentire. L'unica misurazione del sito è il contatore descritto più sotto.
- Il sito è ospitato in Francia, da OVH, e serve soltanto dei file. Per non dipendere da nessuno, il pacchetto per intranet gira sulla vostra rete interna, senza accesso a internet.
Che cosa resta a vostro carico
Klarword non fa due cose al posto vostro: informare le persone registrate e, secondo il contesto, raccoglierne il consenso; iscrivere la trascrizione nel vostro registro dei trattamenti. Le condizioni d'uso lo ricordano.
Che cosa non viene mai inviato
Né l'audio, né il video, né il testo trascritto o tradotto, né il resoconto, né le vostre correzioni, né il nome dei vostri file. Nessuna misurazione del pubblico, nessun cookie, nessuna telemetria.
Il server di questo sito non tiene un registro degli accessi. Il fornitore di hosting conserva i propri registri tecnici a livello della macchina, secondo le sue regole di sicurezza.
L'unica cosa che parte: un contatore
Quando una trascrizione termina, il vostro browser invia a questo sito una richiesta, e una sola: POST /compte?m=precis&d=10-60. Dice quale modello è stato usato e in quale fascia cade la durata della registrazione (meno di 10 minuti, da 10 a 60, più di un'ora). Nient'altro: non una parola del testo, non un nome di file, non un identificativo.
Il server scrive una sola riga: la data, il modello, la fascia. Nessun indirizzo IP, nessun browser, nessuna pagina di provenienza: due trascrizioni della stessa persona non si distinguono da due trascrizioni di sconosciuti. Il totale è pubblicato così com'è nella pagina delle statistiche.
Un browser che chiede di non essere tracciato (Do Not Track, Global Privacy Control) non invia niente. Offline non parte niente, e niente viene tenuto da parte per dopo: la richiesta non viene mai ripetuta. Il pacchetto per intranet è costruito senza contatore. In ogni caso, lo strumento funziona allo stesso modo.
Diciamolo senza giri di parole: registriamo il numero di trascrizioni terminate, con il modello usato e una fascia di durata. Sappiamo quindi, giorno per giorno, quante trascrizioni sono state fatte con ciascun modello, ed è esattamente ciò che mostra la pagina delle statistiche. Niente in quelle righe dice chi le ha fatte, né da dove, né che cosa contenevano.
Che cosa viene conservato sul vostro computer
I modelli e il motore vengono conservati nello spazio privato che il browser riserva a questo sito (Origin Private File System), dopo la verifica della loro impronta. È ciò che evita di riscaricarli, e ciò che permette di lavorare offline. La schermata «Su questo computer» dello strumento li elenca e permette di eliminarli.
La vostra registrazione non vi viene conservata, a meno che non lo chiediate. Per impostazione predefinita viene letta in memoria, nella scheda, e dimenticata alla sua chiusura; la trascrizione anche. Per questo lo strumento vi chiede di salvarla.
Se selezionate «Conserva questo lavoro su questo computer», la registrazione e la sua trascrizione vengono conservate in questo stesso spazio privato, su questo disco, e aggiornate a ogni correzione, perché le ritroviate alla visita successiva. Non vengono inviate da nessuna parte, e si eliminano con un clic, dalla schermata iniziale o da «Su questo computer». Senza la casella, non si conserva nulla.
Due impostazioni restano da una visita all'altra, nella memoria locale del browser, su questo computer: il glossario che avete scritto e lo stile scelto per i sottotitoli impressi. Non lasciano il computer; siete voi a esportare il glossario come file di testo per condividerlo.
La registrazione dal microfono
Lo strumento può registrare direttamente dal microfono del computer. Il browser chiede prima il vostro consenso; il suono viene poi tenuto in memoria nella scheda, esattamente come un file che avreste trascinato, e trascritto allo stesso modo. Non viene inviato da nessuna parte. Se volete conservarlo, lo strumento propone di salvarlo sul vostro computer; altrimenti, scompare alla chiusura della scheda.
L'intestazione Permissions-Policy del sito autorizza il microfono soltanto per il sito stesso, e vieta la fotocamera, la geolocalizzazione e il resto.
Il trasferimento da un telefono
Per passare una registrazione dal telefono al computer, lo strumento mostra un codice QR. Il file va poi direttamente da un dispositivo all'altro, attraverso un canale WebRTC cifrato, sulla vostra rete locale: non passa da alcun server, né dal nostro né da un altro.
Perché i due dispositivi si trovino, il server del sito fa loro da cassetta delle lettere, per qualche secondo: ciascuno vi deposita una descrizione di connessione (i suoi indirizzi sulla rete locale e l'impronta della sua chiave di cifratura), l'altro la legge. Queste descrizioni sono firmate con un segreto che solo il codice QR porta, nella parte dell'indirizzo che il browser non invia mai a un server: il relè non può quindi spacciarsi per uno dei due. Le tiene in memoria dieci minuti al massimo, senza registro, e rifiuta qualsiasi messaggio oltre i 16 KB.
Non si usa alcun server STUN o TURN: uno STUN pubblico sarebbe una richiesta verso un terzo, un TURN un server da cui il file finirebbe per passare. La contropartita è scritta sullo schermo: i due dispositivi devono vedersi sulla stessa rete.
Staccato dalla rete, lo strumento funziona ancora
Un service worker conserva una copia delle pagine e del codice dello strumento, perché si ricarichi a rete staccata; i modelli, invece, sono conservati a parte, dopo la verifica della loro impronta. È la dimostrazione che un servizio che carica i file non può copiare: gli serve il suo server per lavorare.
Un service worker è un programma che si installa fra la pagina e la rete: esattamente il punto da cui si tirerebbero fuori le vostre registrazioni. Ecco che cosa fa il nostro, e che cosa non fa.
- Non apre nessuna connessione. Il suo lavoro è rispondere con quello che ha già. Non parla con nessun altro dominio: la politica di sicurezza dei contenuti glielo vieterebbe comunque.
- Nessuna registrazione gli passa attraverso. Il vostro file va dal vostro disco alla memoria della scheda; quello che conserva sono le pagine e il codice di questo sito, nient'altro.
- Non tocca il contatore, e non lo rigioca mai. Un service worker sa trattenere un invio e rifarlo quando la rete torna: vorrebbe dire conservare una traccia del vostro lavoro in attesa di mandarcela. Offline il contatore non conta.
- Si svuota a ogni nuova versione del sito, e le pagine passano prima dalla rete quando c'è: leggete sempre la politica di sicurezza in vigore.
- Si può leggere. È il file /sw.js, alla radice del dominio, commentato, che si apre in una scheda.
Per toglierlo, se preferite: strumenti per sviluppatori (F12), scheda Application, Service workers, Unregister. Lo strumento funzionerà come prima, online.
Il correttore ortografico
Il correttore del browser è disattivato per impostazione predefinita nell'editor. Quello di base, in Chrome, Edge e Firefox, lavora sul computer; ma il «controllo ortografico avanzato» di Chrome invia a Google il testo digitato. Se lo attivate in Klarword, verificate prima l'impostazione del vostro browser.
Che cosa questa architettura non garantisce
- Un'estensione installata nel vostro browser può leggere la pagina e fare le proprie richieste. Per un lavoro delicato, usate un profilo senza estensioni.
- Un computer compromesso resta compromesso: Klarword non protegge da un programma spia installato sulla macchina.
- Il browser stesso invia informazioni al suo editore (aggiornamenti, rapporti sugli arresti anomali) secondo le proprie impostazioni.
- L'elenco delle richieste mostrato nello strumento è tenuto dalla pagina. La scheda Rete del browser è la verifica che fa fede.
Possederlo per intero
Il sito è una cartella di file statici, modelli compresi. Non c'è né applicazione, né banca dati, né servizio in esecuzione. Si può quindi mettere altrove:
- sulla intranet della vostra organizzazione, senza accesso a internet;
- su un server web della vostra rete, per piccolo che sia;
- sul vostro hosting, se preferite non dipendere da nessuno.
È il secondo senso della parola «sovrano»: non dipendere da un dominio, da un abbonamento, da un fornitore di modelli né dalla salute economica di un fornitore di servizi. Se questo sito sparisse domani, una copia installata da voi continuerebbe a funzionare allo stesso modo. Il pacchetto per intranet è questa cartella, con le sue impronte.
Come è fatto, in tre frasi
La registrazione viene decodificata dal vostro browser, poi trascritta da un modello Whisper che gira nella scheda, sulla scheda grafica quando c'è (WebGPU), altrimenti sul processore (WebAssembly). I parlanti, il resoconto e la traduzione sono fatti allo stesso modo, da altri modelli aperti, sullo stesso computer. Tutto ciò che il browser scarica viene da questo sito, è fissato a una versione precisa e verificato con la sua impronta prima di essere usato.
Una verifica indipendente
Il codice servito è leggibile nel browser, e il pacchetto per intranet è identico a quello del sito, con la sua impronta. Un'organizzazione può quindi farlo verificare dal fornitore che sceglie, o chiedere al proprio responsabile della sicurezza di rileggerlo prima di autorizzarlo. Scriveteci per ricevere il pacchetto da verificare.
La politica di sicurezza dei contenuti
Inviata dal server con ogni pagina, e ripetuta nella pagina stessa per il caso in cui venga messa su un altro server:
default-src 'self'; script-src 'self' 'wasm-unsafe-eval' blob:; worker-src 'self' blob:; style-src 'self' 'unsafe-inline'; img-src 'self' blob: data:; media-src 'self' blob:; font-src 'self'; connect-src 'self' blob:; object-src 'none'; frame-src 'none'; base-uri 'none'; form-action 'none'
Le impronte dei file
Ogni file che lo strumento può scaricare, il motore come i modelli, ha la sua dimensione e la sua impronta SHA-256 pubblicate in una pagina a parte: le impronte dei file.