Informativa sulla privacy

Ultimo aggiornamento: 2026-10-27

1. Titolare del trattamento e ambito

Titolare del trattamento: Giacomo Cacciatore — e-mail info@turnix.ch. Per le richieste postali scrivi all'e-mail per ricevere l'indirizzo. Rispondiamo alle richieste sulla privacy entro 30 giorni.

Turnix è riservato a chi ha almeno 18 anni. L'app non verifica l'età.

Turnix è utilizzabile nell'Unione Europea (27 Stati), nello Spazio Economico Europeo (Norvegia, Islanda, Liechtenstein), in Svizzera e nel Regno Unito. Questa informativa segue il Regolamento generale sulla protezione dei dati (GDPR, UE 2016/679), lo UK GDPR con il Data Protection Act 2018 e la legge federale svizzera sulla protezione dei dati (nLPD) con la sua ordinanza.

2. Dati che trattiamo

Account (sul server Supabase). Indirizzo e-mail; la password, se ti registri con e-mail e password (il servizio di autenticazione di Supabase non la conserva in chiaro, ma solo come impronta crittografica, da cui non si ricava la password); il nome che scrivi alla registrazione; il nome che scegli nell'elenco del PDF per riconoscere la tua riga; la modalità del calendario (PDF o manuale); lo stato della guida iniziale e della Legenda; la data d'inizio del periodo di prova e se l'hai già usato; se hai ricevuto giorni di Premium con gli inviti, la data fino a cui valgono. Se accedi con Google, Google comunica a Supabase la tua e-mail, il tuo nome, l'identificativo del tuo account Google e l'indirizzo della tua foto del profilo (l'app non mostra la foto); su iPhone, se accedi con Apple, Apple comunica a Supabase la tua e-mail (o l'indirizzo anonimo di Apple, se lo scegli) e un identificativo del tuo account Apple. Sul telefono la sessione d'accesso è conservata nell'archivio sicuro del sistema.

Turni (sul server Supabase). Per ogni giorno: data, codice del turno (letto sul telefono dalla cella del PDF, che l'app salva come etichetta nascosta mostrandoti l'immagine della cella, oppure il tipo che scegli se inserisci i turni a mano), orari, note, stato, un'impronta dell'immagine della cella (pHash, per riconoscere i turni uguali o cambiati) e il percorso del file dell'immagine sul telefono; se la cella cambia, anche il codice, l'impronta e il percorso di prima. Le immagini delle celle restano sul telefono e non vanno sul server. Il PDF che carichi, che contiene anche nomi e turni dei colleghi, resta nell'Archivio PDF del telefono finché non lo cancelli o non carichi un altro PDF dello stesso mese, e non viene caricato sul server. Per trovare la tua riga l'app legge sul telefono i nomi di tutte le persone del PDF (dal testo del PDF o, se serve, con Google ML Kit): i nomi dei colleghi non lasciano il telefono; il tuo, quello che scegli, va sul server (vedi «Account»). Per i dati tecnici che ML Kit manda a Google vedi la sezione 5.

Nomi e orari dei turni. I tipi di turno creati a mano (nome, orari, pausa, colore, icona e descrizione) sono salvati sul server Supabase. I nomi e gli orari che dai ai tipi di turno nella Legenda restano sul telefono, ma per ogni giorno con un nome l'app salva sul server un «turno ricavato» (nome e orari del turno di quel giorno), che serve alla condivisione coi colleghi e, se lo colleghi, a Google Calendar: l'app lo aggiorna a ogni avvio, anche se non condividi i turni con nessuno.

Agenda, sveglie e cose da fare (sul server Supabase). Eventi personali (titolo, note, colore, orari, promemoria), elenchi delle cose da fare (testo, fatto, ordine; il testo non è cifrato dall'app), sveglie, regole delle sveglie e giorni saltati.

Condivisione coi colleghi. Se inviti un collega e lui accetta, vede i tuoi turni ricavati (nome e orari) e il tuo nome, finché non revochi l'invito; il suo telefono riceve anche l'identificativo del tuo account e, se usi Google Calendar, gli identificativi Google di quei turni, che l'app non mostra. Allo stesso modo, se accetti un invito, chi ti ha invitato riceve l'identificativo del tuo account.

Notifiche push. Su Android l'app chiede il permesso per le notifiche e salva sul server il codice del telefono per le notifiche push (Firebase Cloud Messaging), per ogni utente che accede; oggi lo usano solo le notifiche dei team. Il codice si cancella con «Elimina account» (non con «Esci»). Per le notifiche la libreria di Firebase crea anche un identificativo casuale dell'installazione dell'app (Firebase Installation ID), che registra presso Firebase all'avvio dell'app e che, secondo Google, non identifica né te né il telefono.

Registri dei server. Quando l'app si collega ai server di Turnix (Supabase e il server degli inviti su Google Cloud), i fornitori registrano per sicurezza e funzionamento i dati tecnici della connessione, fra cui l'indirizzo IP e l'ora (vedi la sezione 4 per la durata).

Inviti. Nella sezione «Invita amici» il server di Turnix su Google Cloud ti assegna un codice personale. Quando usi il codice di un amico, l'app lo manda al server con la tua sessione, insieme all'indicazione se l'hai inserito a mano o se è stato letto dal dato d'installazione di Google Play; il server collega chi ha invitato e chi è stato invitato (gli identificativi dei due account), con la data e i giorni di Premium assegnati, e aggiorna i giorni di Premium dei due account. Su Android, una volta per installazione, dopo l'accesso l'app legge il dato d'installazione di Google Play (Install Referrer): se contiene un codice d'invito, lo manda al server allo stesso modo. Chi ti ha invitato vede nell'app quanti amici hanno usato il suo codice e i giorni di Premium ricevuti, non il tuo nome né la tua e-mail; il suo telefono riceve però dal server anche l'identificativo del tuo account e la data in cui hai usato il codice, che l'app non mostra.

Abbonamento (Google Play e RevenueCat). L'abbonamento si compra con Google Play, che gestisce il pagamento: Turnix non riceve i dati del tuo metodo di pagamento. Per mostrarti il prezzo e sapere se hai l'accesso Premium, l'app usa RevenueCat: all'avvio dell'app e a ogni accesso gli comunica l'identificativo del tuo account Turnix (non l'e-mail né il nome), anche se non compri nulla. RevenueCat riceve anche lo storico dei tuoi acquisti di Turnix su Google Play, dati tecnici del telefono (per esempio il tipo di dispositivo e il sistema operativo), la lingua e la valuta.

Google Calendar (solo se lo colleghi; funzione Premium). Con «Connetti Google Calendar» nelle Impostazioni, Google ti chiede di permettere a Turnix di vedere e modificare gli eventi di tutti i tuoi calendari e di vedere l'elenco dei calendari a cui sei iscritto (permessi «calendar.events» e «calendar.calendarlist.readonly»). Da quel momento l'app scrive nel tuo Google Calendar i tuoi eventi di Turnix (titolo, note, data, orari) e i tuoi turni ricavati (nome e orari), con un codice tecnico che serve a riconoscerli. Nei mesi che sincronizza legge gli eventi (titolo, descrizione, data, orari, promemoria) del calendario principale, del calendario Compleanni (i compleanni dei tuoi contatti, anche se l'hai nascosto) e degli altri calendari del tuo elenco, per esempio Festività e i calendari che altre persone condividono con te: non si può escluderne nessuno. Li copia in Turnix come eventi, con il nome del calendario di provenienza nella nota: come gli altri eventi, sono salvati sul server di Turnix (Supabase). Agli eventi del calendario principale che copia, l'app aggiunge su Google un codice tecnico, non visibile nel calendario, per riconoscerli. Le cancellazioni degli eventi del calendario principale e di quelli scritti da Turnix passano da una parte all'altra. La sincronizzazione parte dopo l'apertura dell'app e al ritorno in primo piano, dopo che crei, modifichi o cancelli un evento e quando la chiedi tu; puoi sospenderla nelle Impostazioni. Nessun dato della salute va a Google. Turnix non conserva le chiavi d'accesso a Google, che sono gestite dai servizi Google del telefono; sul telefono l'app conserva l'indirizzo dell'account Google collegato, l'ora dell'ultima sincronizzazione, gli identificativi degli eventi sincronizzati e, per i turni ricavati già scritti, nome e orari; sul server conserva gli identificativi Google dei turni ricavati. «Disconnetti» revoca l'accesso e cancella questi dati dal telefono; gli eventi già copiati restano in Turnix finché non li cancelli e quelli già scritti restano nel tuo Google Calendar. L'uso e il trasferimento ad altre app delle informazioni ricevute dalle API di Google rispettano la Google API Services User Data Policy, compresi i requisiti di uso limitato (Limited Use).

Salute (solo sul telefono). Sonno, Benessere e Promemoria si attivano insieme con l'interruttore «Salute» nelle Impostazioni (o dal Compagno, con lo stesso dialogo). I Promemoria (titolo, nota, orari e, se lo segni, «Fatto» o «Saltato») sono una funzione generica e si attivano senza consenso; Sonno e Benessere solo se, nel dialogo d'attivazione, spunti la casella del consenso esplicito ai dati di sonno e benessere. Il Ciclo si attiva a parte, con l'interruttore «Tracciamento del ciclo» (o dal Compagno) e il suo consenso. Sono tutti spenti finché non li attivi. Vedi la sezione 2.1.

Approfondimenti (solo sul telefono). Se li scegli con un consenso a parte (la seconda casella del dialogo «Salute» o la riga «Approfondimenti» nelle Impostazioni), l'app confronta sul telefono i tuoi turni degli ultimi 90 giorni con i dati di sonno, benessere e ciclo e ti mostra delle medie (per esempio quanto hai dormito in media nei giorni con turno di notte rispetto ai giorni liberi). È una forma di profilazione (art. 4 n. 4 GDPR) che non produce decisioni con effetti giuridici su di te (l'art. 22 GDPR non si applica): i risultati restano in memoria, non sono salvati e non lasciano il telefono. Puoi revocare il consenso in ogni momento dalla riga «Approfondimenti», senza spegnere gli altri moduli.

Diagnosi degli errori (Sentry). Quando l'app si blocca o va in errore, Sentry riceve un rapporto tecnico con questi soli dati: data e ora dell'errore; tipo e testo dell'errore e pila del codice in cui è avvenuto, con gli indirizzi di memoria del codice; versione dell'app e degli strumenti con cui è fatta, se è una versione di test o pubblicata e se era in primo piano; sistema operativo, sua versione e se è modificato (root); modello, marca e caratteristiche tecniche del telefono (dimensioni dello schermo in pixel e orientamento, processore, memoria totale, se la memoria è quasi piena, se c'è rete e di che tipo, se è un emulatore); lingua, fuso orario e formato dell'ora; lo stato, concesso o no, dei permessi che l'app chiede; i nomi delle schermate aperte prima dell'errore, con data e ora; per gli errori di sincronizzazione, la tabella e l'operazione coinvolte (senza dati); codici casuali che distinguono il rapporto e l'apertura dell'app in cui è nato. Ogni altro dato che le librerie aggiungerebbero viene tolto prima dell'invio: nei rapporti non ci sono identificativi tuoi né del telefono, né le impostazioni di accessibilità. Dal testo degli errori l'app toglie gli identificativi dell'account e delle righe dei dati (i codici lunghi nel formato UUID), gli indirizzi e-mail, i valori delle operazioni sul database e le date dei giorni; i testi scritti da te non si possono riconoscere in generale: se il messaggio di un errore contenesse, per esempio, il nome di un turno, resterebbe. Come utente l'app indica un identificativo fisso, uguale per tutti, e un indirizzo IP fittizio, e Sentry è impostato per non conservare gli indirizzi IP. L'app scarta i rapporti in cui il messaggio d'errore, i dettagli dell'errore o i passi registrati prima dell'errore contengono una delle parole di un elenco fisso legato alla salute, in italiano e in inglese (per esempio le parole per ciclo, sonno, benessere e promemoria), e toglie dagli altri i percorsi delle immagini dei turni. Con i simboli della versione dell'app, dalla pila si ricostruiscono i nomi delle parti del codice: un rapporto può quindi mostrare in quale parte dell'app è nato l'errore (per esempio quella del ciclo), senza i dati. I rapporti dei crash del codice nativo Android non passano da questi filtri: contengono anche gli altri dati tecnici che la libreria di Sentry raccoglie (per esempio livello della batteria, memoria e spazio liberi, densità dello schermo, versione del kernel e ora d'avvio dell'app) e possono contenere un identificativo casuale dell'installazione dell'app (creato dalla libreria di Sentry, oppure da Android nel percorso in cui l'app è installata; non è un codice del telefono), l'ora di accensione del telefono e, se il crash avviene nei primi istanti dopo l'avvio dell'app, la città approssimativa ricavata dall'indirizzo IP della connessione. L'app manda inoltre, al più una volta al giorno per ogni account, un rapporto di controllo dell'integrità dei dati: conteggi (solo numeri, nessuna data, nessun nome) con gli stessi dati tecnici dei rapporti degli errori.

Esportazioni. Le immagini (del mese o di un turno), i file CSV e i report PDF che crei vanno solo alle app che scegli tu.

Registro del telefono. Nella versione pubblicata il codice di Turnix non scrive righe nel registro di sistema del telefono; possono comparire righe tecniche di Android, del motore dell'app (Flutter) e di alcune librerie, per esempio all'avvio e durante la lettura dei PDF.

2.1 Dati relativi alla salute (solo su questo telefono)

Sonno, benessere e ciclo sono dati relativi alla salute (categorie particolari di dati, art. 9 GDPR; dati degni di particolare protezione secondo la nLPD). I promemoria sono generici, ma possono contenerne se li scrivi tu nel titolo o nella nota: per questo hanno le stesse protezioni.

Questi dati restano solo sul telefono: non vanno sul server di Turnix né a terzi e non hanno copie nel cloud di Turnix. Sul telefono sono cifrati con AES-256-GCM, con una chiave conservata nell'archivio sicuro del sistema, i contenuti: flusso e note del ciclo, orari e qualità del sonno, umore, sintomi, energia e note del benessere, titolo e nota dei promemoria. Restano non cifrati, nella memoria privata dell'app: le date delle registrazioni (per il ciclo, quindi, i giorni segnati), gli orari dei promemoria e il segno «Fatto» o «Saltato», l'origine di ogni notte di sonno (inserita a mano, stimata o confermata) e le impostazioni. Per far arrivare le notifiche anche dopo un riavvio, il telefono conserva in chiaro, nella memoria privata dell'app, il testo delle notifiche già programmate (per esempio il titolo di un promemoria o un avviso del ciclo), finché non arrivano o non vengono annullate; le notifiche si vedono anche sulla schermata di blocco, se le impostazioni del telefono lo permettono.

Spegnendo l'interruttore «Salute» si cancellano dal telefono i dati di sonno, benessere e promemoria e si revoca il consenso agli Approfondimenti; spegnendo «Tracciamento del ciclo» si cancellano i dati del ciclo.

3. Finalità e basi giuridiche

Per la Svizzera: esecuzione del contratto, interesse legittimo e consenso (art. 31 nLPD).

4. Per quanto tempo conserviamo i dati

5. Fornitori (responsabili del trattamento)

L'acquisto e il pagamento dell'abbonamento li gestisce Google Play, secondo i termini e l'informativa di Google.

Nessun dato viene venduto o usato per pubblicità.

5.1 Cookie e archivi locali

L'app non usa cookie. Sul telefono conserva: il database con i tuoi dati, le immagini delle celle, le immagini dei giorni per il widget e i PDF, l'archivio sicuro con la sessione e la chiave di cifratura, la coda delle modifiche da inviare al server, le preferenze, il testo delle notifiche già programmate, alcuni contatori di diagnosi, i dati che le librerie di Firebase, Sentry e RevenueCat conservano per funzionare e, se colleghi Google Calendar, i dati della sincronizzazione descritti nella sezione 2. Sono necessari al funzionamento.

Il sito turnix.ch non usa strumenti di statistica né cookie di profilazione.

5.2 Responsabile della protezione dei dati e valutazione d'impatto

Turnix non è tenuto a nominare un responsabile della protezione dei dati (art. 37 GDPR). Per i moduli della salute e per gli Approfondimenti è stata svolta una valutazione d'impatto sulla protezione dei dati (DPIA, art. 35 GDPR). Per ogni richiesta sulla protezione dei dati scrivi a info@turnix.ch: rispondiamo entro 30 giorni.

6. Trasferimenti fuori da UE, SEE, Svizzera e Regno Unito

7. I tuoi diritti

Hai diritto di accesso, rettifica, cancellazione, limitazione, portabilità e opposizione e puoi revocare i consensi in ogni momento (artt. 15-22 GDPR e UK GDPR; artt. 25-32 nLPD). Turnix non prende decisioni automatizzate con effetti giuridici su di te (art. 22 GDPR).

Nell'app:

Per il resto scrivi a info@turnix.ch.

8. Autorità di controllo

Hai diritto di presentare reclamo all'autorità di controllo del tuo Paese di residenza o sede abituale. Di seguito l'elenco delle 32 autorità competenti nelle giurisdizioni in cui Turnix è utilizzabile.

European Data Protection Board (EDPB) — lista ufficiale aggiornata di tutte le autorità UE+EEA: edpb.europa.eu/about-edpb/about-edpb/members_en

── Unione Europea (27 stati) ──

── Spazio Economico Europeo (EEA, 3 stati extra-UE) ──

── Svizzera ──

── Regno Unito (UK post-Brexit) ──

9. Sicurezza

Le comunicazioni sono cifrate (HTTPS/TLS). Sul server ogni utente accede solo ai propri dati (Row Level Security di Supabase), tranne i colleghi che hanno accettato un tuo invito, che vedono i tuoi turni ricavati (nome e orari) e il tuo nome. Chi invita e chi è invitato, alla condivisione dei turni o con un codice d'invito, può ricevere anche l'identificativo dell'account dell'altro, che l'app non mostra.

Notifica violazioni dei dati personali (data breach): in caso di violazione di sicurezza dei dati personali che comporti rischio per i diritti e le libertà dell'utente, Turnix notificherà l'autorità di controllo competente del Paese di residenza dell'utente entro 72 ore dalla scoperta della violazione, ai sensi dell'art. 33 GDPR / UK GDPR e dell'art. 24 nLPD. Qualora la violazione sia suscettibile di presentare un rischio elevato per i diritti e le libertà degli utenti interessati (art. 34 GDPR), Turnix comunicherà la violazione direttamente agli utenti senza ingiustificato ritardo, con linguaggio chiaro e semplice, indicando: natura della violazione, dati e categorie interessati, conseguenze probabili, misure adottate o proposte per attenuare gli effetti, punto di contatto info@turnix.ch.

10. Modifiche

Quando questa informativa cambia aggiorniamo la data in testa e, alla prima apertura dopo la modifica, l'app te lo dice con un avviso che porta a questa pagina.