Privacy di Flit: verificala tu stesso
Affermazione: il tuo audio e il tuo testo non lasciano mai il tuo Mac. Mai.
Flit registra la tua voce, la trascrive e la ripulisce interamente sul dispositivo:
| Fase | Cosa viene eseguito | Dove |
|---|---|---|
| Da voce a testo | I modelli vocali locali di Flit, o il riconoscimento vocale integrato di Apple | Il tuo Mac |
| Formattazione intelligente | Un modello di formattazione locale, o il modello sul dispositivo di Apple dove macOS ne offre uno | Il tuo Mac |
| Cronologia | Un database locale, più file audio solo se lo attivi | ~/Library/Application Support/Flit |
Non c’è nessun account, nessuna telemetria, nessuna raccolta di statistiche e nessuno strumento per segnalare i crash, e nessun server vede mai la tua voce o il tuo testo. Il progetto limita tutte le connessioni di rete a tre punti ben definiti, elencati per intero qui sotto.
Le uniche connessioni di rete che Flit effettua
- I download dei modelli che avvii tu esplicitamente: facendo clic su Scarica in Impostazioni, Flit scarica
i file del modello da
huggingface.co. Le risorse vocali e di formattazione di Apple le scarica macOS stesso. - L’attivazione della licenza, una volta per Mac: quando incolli la chiave di licenza, Flit invia
a
apps.fore.studiola chiave, un hash SHA-256 dell’UUID di piattaforma di questo Mac (mai l’UUID stesso), il nome del Mac e le versioni di macOS e di Flit, e riceve un file di licenza firmato che poi verifica offline a ogni avvio. Finché la licenza è attiva, riconferma la chiave e l’hash al massimo una volta ogni 7 giorni e scarica un elenco firmato delle licenze revocate. Niente di ciò che detti fa parte di tutto questo, e la prova non effettua alcuna connessione di rete. - Il controllo degli aggiornamenti: al primo avvio, Sparkle chiede se Flit può controllare gli
aggiornamenti. Se rispondi sì, scarica periodicamente
statics.fore.studio/flit/updates/appcast.xml, inviando la versione installata e la versione di macOS per poter scegliere la build giusta. Se rispondi no, non controlla mai, a meno che non sia tu a scegliere Controlla aggiornamenti… dal menu.
Questa è la lista completa.
Modalità sviluppatore
Quando detti in un editor di codice o in un terminale, Flit legge il percorso del documento della finestra attiva tramite l’API Accessibility di macOS (lo stesso permesso che usa già per incollare), trova la cartella principale del progetto e indicizza i nomi di file e cartelle del progetto, così gli identificatori pronunciati vengono scritti correttamente. L’indice esiste solo in memoria: non viene mai scritto su disco, mai incluso nella cronologia e mai inviato da nessuna parte. Il contenuto dei file non viene letto. Puoi disattivarla in Impostazioni → Formattazione.
Formattazione in base al contesto
Disattivata per impostazione predefinita. Quando la attivi (Impostazioni → Formattazione), Flit legge, tramite l’API Accessibility di macOS, il campo di testo attivo dell’app in cui stai dettando e il testo visibile nella sua finestra. È lo stesso permesso che usa già per incollare. Così la formattazione può scrivere i nomi come li scrive la conversazione e continuare in modo naturale una frase non finita. Questa acquisizione resta in memoria per una sola dettatura: alimenta solo il modello di formattazione locale, non viene mai scritta su disco né nella cronologia e non viene mai inviata da nessuna parte. Nei campi password o protetti l’acquisizione viene interrotta del tutto.
Modifica la selezione a voce
Anche questa funzione legge lo schermo, quindi rientra nello stesso elenco. Disattivata per impostazione predefinita. Quando attivi «Modifica la selezione a voce» (Impostazioni → Formattazione), una dettatura che si trova sopra una selezione e suona come un’istruzione («make this shorter») invia quel testo selezionato al modello di formattazione locale perché venga riscritto sul posto. La selezione viene letta tramite l’API Accessibility, usata per quell’unica riscrittura e poi scartata. Non viene mai scritta su disco né nella cronologia e non lascia mai il Mac. Se non c’è una selezione non viene letto nulla, e una dettatura che non sembra un’istruzione viene inserita come testo normale. Puoi disattivarla in Impostazioni → Formattazione.
Entrambe sono disattivate quando installi Flit: di serie, quindi, non legge alcun testo dal tuo schermo. L’unica cosa che guarda in ogni caso è il ruolo dell’elemento attivo, quanto basta per distinguere un campo di ricerca da un documento, così una ricerca dettata arriva come termini di ricerca invece che come frase. Questo controllo non legge alcun testo, e non c’è nessuna impostazione da disattivare perché non c’è niente da rifiutare.
Imparare dalle tue correzioni
Qualche secondo dopo aver incollato, e solo se sei ancora nella stessa app, Flit legge il campo attivo una volta tramite l’API Accessibility e lo confronta con ciò che ha inserito. Il confronto avviene in memoria e il testo del campo viene scartato subito. Cosa viene conservato, in locale: le correzioni di parole ripetute (la grafia scritta e quella corretta) e contatori di stile per app (per esempio «punto finale tolto in WhatsApp, 3 volte»: un ID bundle, una categoria e un numero; mai il tuo testo). Entrambi diventano sempre e solo suggerimenti in Impostazioni, con i pulsanti Aggiungi/Ignora. Flit non cambia mai il tuo dizionario o i tuoi stili per app di sua iniziativa. I campi password o protetti non sono mai leggibili in questo modo.
Verificalo con un monitor di rete
Con Little Snitch, LuLu o Proxyman:
- Installa prima i tuoi modelli (Impostazioni → Modelli / Formattazione → Scarica).
- Avvia il monitor di rete e filtra per il processo
Flit. - Detta qualsiasi cosa, ovunque, quanto vuoi.
- Connessioni osservate durante la dettatura: nessuna. In un’intera giornata vedrai
al massimo le tre cose elencate sopra: i download che hai avviato con un clic, una conferma della licenza
verso
apps.fore.studio(al massimo una volta a settimana, mai durante una dettatura) e il controllo degli aggiornamenti versostatics.fore.studio, se l’hai consentito.
Flit.app si può anche ispezionare in modo statico: il binario non collega alcun SDK di statistiche
(otool -L Flit.app/Contents/MacOS/Flit mostra i framework di sistema di Apple più
Sparkle, il programma di aggiornamento open source).
Dati locali sotto il tuo controllo
- Cronologia trascrizioni: facoltativa, con un limite, si cancella tutto in Impostazioni → Cronologia.
- Cronologia audio: disattivata per impostazione predefinita; si attiva solo per tua scelta esplicita, con regole di eliminazione automatica.
- Igiene degli appunti: il testo dettato è contrassegnato come transitorio
(
org.nspasteboard.TransientType), così i gestori degli appunti non lo archiviano.
Domande, o una falla in questa affermazione? Apri una issue: trattiamo le segnalazioni sulla privacy come P0.