Xenon

Informativa sulla privacy

L'app Xenon gira sul tuo PC e tiene lì i suoi dati. Questo sito è un'altra cosa, con regole diverse. Questa pagina tiene separate le due parti e spiega cosa invia e cosa conserva ciascuna.

Ultimo aggiornamento: 27 settembre 2026

Riepilogo

  • L'app Xenon non tiene traccia di come la usi. Non c'è un account, non c'è un profilo e nessun registro d'uso lascia il tuo PC. Esistono due contatori. Uno viene inviato quando l'app controlla gli aggiornamenti e descrive l'installazione in sé: la versione, il sistema e, più o meno, da quanto esiste. L'altro aggiunge 1 al conteggio delle installazioni di una creazione quando la installi dallo Store. Nessuno dei due dice nulla su quali widget apri, cosa cerchi o cosa fai con la dashboard. Su una nuova installazione partono entrambi accesi, e puoi spegnere l'uno o l'altro in Impostazioni → Generale → Aggiornamenti; se usavi già Xenon prima della versione che ne ha aggiunto uno, per te è rimasto spento. Nessuno dei due contiene un identificativo, quindi nessuno può essere ricondotto a te o incrociato con l'altro.
  • L'app non è del tutto offline. Controlla gli aggiornamenti e scarica da sola un breve elenco di annunci; il meteo, le copertine degli album e i servizi che colleghi vengono contattati solo dalle funzioni che li usano. Queste connessioni sono elencate più sotto.
  • Questo sito usa Google Analytics per vedere quali pagine e quali download raggiungono i visitatori. Nel SEE, nel Regno Unito e in Svizzera non viene salvato nulla finché non accetti il banner.
  • Conta anche le visite con Cloudflare Web Analytics, che non imposta cookie e non crea profili. Mi dice solo quante persone hanno raggiunto una pagina.
  • Premere un pulsante di download aggiunge 1 a un contatore sul mio server, senza cookie e senza identificativo. Il link di download punta comunque direttamente a GitHub, quindi quel contatore non può mai mettersi tra te e il file.

Titolare del trattamento e contatti

Xenon è un progetto personale di un solo sviluppatore, Marcello Mastroeni, con il codice sorgente su GitHub sotto una licenza propria non commerciale, e sono io il titolare del trattamento per questo sito. Per qualsiasi cosa riguardi questa pagina, come una domanda, una correzione o una richiesta sui tuoi dati, scrivi a marcellomastroeni4@gmail.com o apri una issue su GitHub.

Questo sito (xenon-app.com)

Il sito usa Google Analytics 4 (ID di misurazione G-LQ8Y8WZPQF) per capire quali pagine vengono lette, quali download vengono cliccati e da dove arrivano i visitatori. Sono statistiche aggregate sul sito. Non sono collegate alla tua copia dell'app, e non ho alcun modo di associare una visita qui a un'installazione sul tuo PC.

Cosa riceve Analytics

Cloudflare Web Analytics

Oltre ad Analytics il sito carica Cloudflare Web Analytics, un contatore di visite senza cookie. Non imposta cookie, non salva identificativi e non può seguirti tra siti diversi né tra una visita e l'altra; riporta in forma aggregata l'URL della pagina, la provenienza, il paese, il tipo di dispositivo e i tempi di caricamento. Siccome non identifica nessuno, funziona senza il banner del consenso, ed è elencato qui perché tu sappia che c'è. Perché entrambi: Analytics conta solo chi accetta il banner, quindi questo dà il totale completo con cui confrontare quei numeri.

Il contatore dei download

Quando premi un pulsante di download su questo sito, la pagina invia anche una nota di una riga al mio server (lo stesso hub dei supporter con cui parla l'app) per dire che è stato premuto un pulsante di download, e quale (hero, footer e così via). Il messaggio è tutto qui: niente cookie, niente identificativo, nessun IP conservato e niente che si possa incrociare con altro. Aggiunge 1 a un contatore per (giorno, pulsante) e la richiesta viene scartata.

Esiste perché quel singolo passaggio per me era invisibile. Cloudflare sa che la pagina è stata vista e GitHub sa che un download è terminato, ma nessuno dei due vede il clic che sta in mezzo, che è l'unica cosa che dice se una pagina di download funziona davvero. Google Analytics potrebbe registrarlo, ma conta solo chi ha accettato il banner e una buona parte di questo pubblico lo blocca del tutto, quindi il numero sarebbe sbagliato in una direzione che non potrei misurare.

Il link di download in sé non passa dal mio server. Punta direttamente a GitHub, esattamente come prima; il contatore è una nota separata che la pagina invia senza aspettare risposta. Se il mio server è giù, o lo blocchi, il download funziona normalmente e il clic semplicemente non viene contato.

Consenso ai cookie

Il sito usa Google Consent Mode. Se ti trovi nel SEE, nel Regno Unito o in Svizzera, ogni segnale di archiviazione e di pubblicità parte come negato: finché non premi Accetta, non viene scritto alcun cookie e Analytics riceve solo ping senza cookie che non identificano nessuno. Fuori da quelle regioni il valore predefinito è concesso, e premere Rifiuta lo spegne. Rifiutare è un clic, nello stesso punto e con la stessa dimensione di accettare.

Puoi cambiare idea quando vuoi. Questo pulsante cancella la scelta salvata e mostra di nuovo il banner:

La tua scelta viene ricordata nella memoria locale del browser, sotto xenon.site.consent. Quel valore non lascia mai il tuo dispositivo. Cancellando i dati del browser si azzera.

Hosting e font

Il sito è servito da GitHub Pages, che elabora la richiesta e il tuo indirizzo IP per consegnare la pagina e conserva log di sicurezza di breve durata. È tecnicamente necessario e avviene prima di qualsiasi scelta sul consenso. L'intestazione della pagina chiede anche all'API di GitHub il numero di stelle del progetto, una volta per sessione del browser, quindi GitHub vede anche quella richiesta. I font del sito sono serviti dal sito stesso (/fonts/), quindi caricarli non contatta nessun altro. L'unica eccezione è la demo dal vivo, che esegue la pagina della dashboard dell'app e carica i suoi font da Google Fonts, che quindi vede la richiesta. Gli screenshot della community sono serviti da Cloudflare R2 (assets.xenon-app.com).

L'app Xenon

L'app salva i tuoi dati sul tuo PC. Impostazioni, note, attività, eventi, deck, memoria dell'AI e sfondi caricati stanno tutti in server/data/. L'app non carica quella cartella da nessuna parte, e non contiene SDK di analisi, sistemi di segnalazione dei crash né tracciamento del comportamento. I due contatori anonimi descritti più sotto sono le uniche cose che l'app comunica su se stessa, e nessuno dei due contiene un identificativo di alcun tipo: quello che il server conserva sono contatori, mai righe su una macchina.

La ricerca locale dei file e il widget dello spazio su disco girano sul tuo PC: le frasi che cerchi, i nomi dei file, l'indice delle cartelle e i risultati della scansione del disco vengono calcolati lì, e l'elenco dei file che apri dalla ricerca (usato per ordinare meglio i tuoi risultati) sta in server/data/ come tutto il resto. L'eccezione è ciò che affidi a Xenon AI. Con un provider AI nel cloud, la Ricerca intelligente (Ctrl+I) invia a quel provider la frase che scrivi, e chiedere all'AI di trovare un file o di spiegarti il disco le invia i risultati da cui risponde, come nomi di file e dimensioni delle cartelle. L'interruttore Cervello completo per ricerca e pulizia AI (spento di default) invia anche i nomi delle app installate, delle cartelle indicizzate, delle cartelle che usi di più e dei file che hai aperto di recente dalla ricerca, mai il loro contenuto.

Quello che l'app fa è collegarsi alla rete per le funzioni che ne hanno bisogno. Ecco l'elenco, e quando avviene ogni connessione.

Cosa contattaQuandoPerché, e cosa invia
api.github.com Automatico, all'avvio (in cache per 24 ore) Controlla se esiste una versione più recente. Non invia alcun identificativo, ma come per qualsiasi richiesta HTTP, GitHub vede il tuo indirizzo IP. Parte senza che tu debba attivare nulla.
xenon-app.com Quando apri il catalogo della community o lo Store Scarica il catalogo pubblico di temi, widget e pack della community. Sola lettura, nessun identificativo.
xenon-app.com
(annunci)
Automatico, al massimo una volta al giorno Scarica lo stesso breve elenco di annunci che ricevono tutti: una nuova versione, qualcosa di nuovo nello Store, qualche nota occasionale. Sola lettura, nessun identificativo. Alcuni annunci sono pensati per una parte delle persone, per esempio chi usa un certo widget o una certa versione, e quel filtro avviene sul tuo PC: la tua dashboard scarica l'elenco intero e decide da sola quali la riguardano. Non viene mai inviato nulla su ciò che hai installato per decidere cosa mostrarti, quindi non posso né prenderti di mira né sapere chi ha visto cosa. Puoi spegnere gli annunci da uno qualsiasi di essi.
Hub dei supporter
(risposte ai sondaggi)
Solo se tocchi una risposta in un sondaggio mostrato in un annuncio Invia quale opzione hai scelto, e nient'altro: nessun UUID di installazione, nessun IP conservato, nessun account, e nemmeno l'ora. Il server aggiunge 1 al contatore di quell'opzione e scarta la richiesta, quindi nessuno, nemmeno io, può sapere cosa ha risposto un certo PC. Se non tocchi niente non viene inviato niente, e spegnere gli annunci lo ferma del tutto.
Hub dei supporter
(conteggio installazioni)
Quando installi qualcosa dallo Store, e solo se quell'interruttore è acceso Invia l'id della creazione che hai installato, e nient'altro: nessun UUID di installazione, nessun IP conservato, nessun account. Il server aggiunge 1 al contatore di quella creazione e scarta la richiesta. La tua dashboard ricorda sul tuo PC quali ha già contato, quindi segnala ogni creazione al massimo una volta, ed è per questo che non serve inviare nulla di identificativo per evitare doppi conteggi. La conseguenza è che il numero significa “installazioni segnalate”, non “quante persone la possiedono”, ed è indicato così ovunque compaia.
Hub dei supporter
(Cloudflare Worker)
Quando valuti un elemento del catalogo, riscatti un codice supporter o aggiorni qualcosa che hai sbloccato Il tuo PC conserva un UUID casuale (install-id.json) perché un voto conti una volta sola e un codice non si possa riusare all'infinito. Quell'UUID non lascia mai la tua macchina: quello che viene inviato è un suo hash unidirezionale, e valutare qualcosa e riscattare un codice usano hash diversi dello stesso UUID. È voluto: con un unico valore condiviso, un codice supporter (che può essere collegato a un account Discord) e una valutazione a stelle starebbero nel database sotto lo stesso identificativo, e io potrei vedere quali creazioni ha valutato un supporter con nome e cognome. Con due, non c'è niente su cui abbinarli. Nessuno dei due hash è legato al tuo hardware o al tuo nome; cancella il file e viene generato un nuovo UUID. Aggiornare qualcosa che hai sbloccato invia lo stesso hash, l'id della creazione e la versione che hai, e nessun codice: l'hub risponde solo a un PC che già conosce come proprietario.
ipwho.is Solo se la posizione automatica del meteo è attiva Trasforma il tuo IP in una città approssimativa, così il widget meteo sa dove ti trovi. Se imposti la posizione a mano, questa chiamata non avviene mai.
API meteo e della qualità dell'aria
open-meteo, met.no, wttr.in
Solo con un widget meteo nella dashboard Invia le coordinate della previsione. Nessun identificativo.
itunes.apple.com Durante la riproduzione di musica o video Cerca la copertina dell'album a partire dal titolo del brano. Nessun identificativo.
Servizi che colleghi tu
Spotify, Twitch, YouTube, Discord, Home Assistant, OBS, provider AI, feed di borsa, notizie e calcio
Solo dopo aver configurato quell'integrazione Ognuno parla con il proprio provider, secondo l'informativa privacy di quel provider, usando le credenziali che fornisci tu. Restano inattivi finché non li configuri.
Il servizio push del telefono
Apple, Google o Mozilla, a seconda del browser del telefono
Solo dopo aver attivato le notifiche su un telefono o tablet associato Permette al PC di svegliare un telefono con lo schermo spento per qualcosa che hai impostato e stai aspettando, come la fine di un conto alla rovescia. Il messaggio è cifrato end-to-end per il browser di quel telefono, quindi il servizio push lo trasporta senza poterlo leggere; vede però che un messaggio è andato a quel telefono, e quando. Non si attiva nulla finché non premi il pulsante sul telefono, e rimuovere il dispositivo associato lo interrompe.
Ping anonimo della versione
hub dei supporter
Acceso di default sulle installazioni dalla v4.8.0; spento su quelle precedenti, a meno che tu non l'abbia acceso Versione, sistema, età dell'installazione e un indicatore di prima volta nella settimana, inviati al massimo una volta al giorno allo stesso hub dei supporter delle righe sopra. Nessun identificativo di alcun tipo. L'elenco completo è nella sezione qui sotto.

Le funzioni di AI locale (Ollama, Whisper) girano interamente sulla tua macchina. I provider AI nel cloud no: se scegli Gemini, OpenAI o Anthropic, i tuoi prompt vanno a quel provider secondo i suoi termini. Le risposte parlate funzionano diversamente: con qualsiasi provider che non sia Gemini o OpenAI, che hanno voci proprie, il testo letto ad alta voce viene inviato al servizio vocale online di Microsoft Edge per trasformarlo in parlato. L'app lascia a te la scelta del provider AI, e non invia mai un prompt a un modello nel cloud che non hai scelto.

Il ping della versione

Non ho idea di quante persone usino davvero Xenon. I numeri dei download sono rumore, e preferisco sapere se la gente è rimasta ferma a una versione vecchia piuttosto che tirare a indovinare. Per questo c'è un interruttore in Impostazioni → Generale → Aggiornamenti, chiamato Conta questa installazione, in forma anonima, che invia pochi campi quando l'app controlla gli aggiornamenti, al massimo una volta al giorno. Ecco l'elenco completo:

Questo è tutto il contenuto. Cosa non c'è: nessun UUID di installazione (quell'identificativo resta riservato alle valutazioni e ai codici supporter, e mescolarlo qui mi permetterebbe di collegare le due cose, che è proprio ciò che non voglio poter fare), nessun IP conservato, nessun dettaglio sull'hardware, nessun fuso orario, e niente su quali widget usi, cosa cerchi o cosa apri. Il ping è una piccola richiesta all'hub dei supporter, inviata subito dopo il controllo degli aggiornamenti che l'app fa già.

Conteggi settimanali e mensili

L'unico numero che non potevo ottenere senza identificare le persone è “quante installazioni diverse sono state attive questa settimana”. Di solito serve un id, perché il server distingua due ping dallo stesso PC da due ping da due PC. Qui quel lavoro lo fa il tuo PC: ricorda, sul tuo disco, l'ultima settimana e l'ultimo mese in cui ha segnalato, e dice semplicemente “prima volta questa settimana”, una volta sola. Il server aggiunge 1 e non sa nient'altro. I conteggi settimanali e mensili vengono esatti, e non c'è comunque niente con cui identificarti.

Come vengono salvati i conteggi

Sul server ci sono solo contatori, nessuna riga sulle macchine. E i campi sopra sono contati in tabelle separate, una per campo, mai insieme in una riga. È questa la parte che conta. Una sola riga con versione e sistema e età e mese di nascita e lingua potrebbe facilmente descrivere una sola persona; e siccome quasi tutti quei dati restano uguali da un giorno all'altro, i giorni consecutivi si potrebbero unire nella storia di una macchina: un identificativo costruito con i dati, dopo essersi presi la briga di non inviarne uno. Contare ogni campo da solo significa che quella combinazione nel database semplicemente non esiste: non è nascosta, non è protetta da permessi, è assente. Quello che posso leggere è “N installazioni hanno usato la 4.11.0 oggi”, “N sono nate a luglio” e “N hanno più di 90 giorni”, mai quali siano quelle N e mai la sovrapposizione.

Due punti salvano una coppia di valori affiancati, perché lì la coppia è la domanda: quante installazioni sono passate da una versione a un'altra, e quante di un certo mese di nascita erano ancora attive in un mese successivo. Nessuno dei due contiene altro, e qualsiasi combinazione vista meno di cinque volte finisce in “altro”, anche nella console che vedo solo io.

Tutto viene cancellato dopo 400 giorni. Non vengono conservate righe per singola richiesta, quindi non esiste un insieme di dati che si possa consegnare, richiedere per via giudiziaria o far trapelare.

Modifiche nella v4.11.0

L'interruttore non ha cambiato stato per nessuno: se era spento è rimasto spento, se era acceso è rimasto acceso. È cambiato ciò che invia il ping quando è acceso, ed è per questo che questa pagina è cambiata nella stessa versione.

Un limite: le installazioni che esistevano già prima di questa versione segnalano età e mese di nascita come unknown, e continueranno a farlo per sempre. L'app non ha mai registrato quando sono partite la prima volta, e preferisco un vuoto visibile a un numero inventato. Il punto cieco viene contato e mostrato come gruppo a sé, così posso sempre vedere quanta parte del quadro manca.

Modifiche nella v4.8.0

Fino alla v4.7.1 questo interruttore era spento finché non lo accendevi. Dalla v4.8.0 è acceso di default sulle nuove installazioni, perché quasi nessuno accende un interruttore del genere e quindi il conteggio non serviva. Puoi spegnerlo quando vuoi in Impostazioni, e lo spegnimento ha effetto subito.

Se avevi già Xenon installato, per te non è cambiato niente. Il nuovo valore predefinito viene letto solo quando non esiste ancora un file di impostazioni, cioè su una nuova installazione. Se hai installato prima della v4.8.0 e non hai toccato l'interruttore, resta spento: ti era stato detto che era spento a meno che non scegliessi diversamente, e un aggiornamento non è il posto per rimetterlo in discussione di nascosto. Se l'avevi acceso, resta acceso. In ogni caso l'app mantiene quello che dicono già le tue impostazioni.

I tuoi diritti

In base al GDPR puoi chiedere l'accesso, la rettifica o la cancellazione dei tuoi dati personali, e puoi opporti al trattamento. Per questo sito, le strade pratiche sono: premere Rifiuta (o il pulsante qui sopra) per fermare Analytics, usare il componente aggiuntivo di disattivazione di Google, oppure cancellare i dati del browser. Per l'app, disinstallarla ferma tutte le connessioni descritte sopra, e cancellare server/data/ rimuove tutto ciò che l'app ha salvato, compreso l'UUID di installazione.

Hai anche il diritto di presentare un reclamo a un'autorità di controllo; in Italia è il Garante per la protezione dei dati personali.

Modifiche a questa pagina

Se l'app inizia a fare una connessione di rete che non è nella tabella qui sopra, la tabella viene aggiornata nella stessa versione e le note di rilascio lo dicono. La data in alto indica quando questa pagina è cambiata l'ultima volta.