Privacy Policy
1. Titolare del Trattamento
Il titolare del trattamento dei dati personali raccolti tramite Calorino è:
Per qualsiasi richiesta inerente al trattamento dei tuoi dati personali puoi contattarci all'indirizzo email indicato sopra.
2. Dati Personali Raccolti
2.1 — Dati di Account
Quando crei un account raccogliamo:
- Nome e cognome
- Indirizzo email
- Password — conservata esclusivamente in forma cifrata (hash) tramite Supabase Auth; non abbiamo mai accesso alla password in chiaro
- Se utilizzi Google Sign-In o Sign in with Apple: nome ed email forniti da tali servizi
2.2 — Dati di Salute e Nutrizione
Questi dati rientrano nella categoria dei dati relativi alla salute ai sensi dell'Art. 9 GDPR. Il loro trattamento avviene su tuo consenso esplicito (Art. 9(2)(a) GDPR).
- Dati fisici dell'onboarding: altezza (cm), età, genere, livello di attività fisica e tipo di obiettivo dietetico (es. perdita di peso, mantenimento), forniti volontariamente durante la configurazione iniziale dell'app
- Peso corporeo e storico delle misurazioni
- Obiettivi calorici e macro-nutrienti giornalieri (calorie, proteine, carboidrati, grassi)
- Pasti registrati con relativi alimenti, porzioni e valori nutrizionali
- Diete personalizzate e piani alimentari importati
- Dati di aderenza alla dieta, streak giornaliero e progressi nel tempo
- Consumo di acqua giornaliero e configurazione dei promemoria idratazione
- Contatori di utilizzo AI giornaliero (numero di chiamate effettuate)
- Cronologia degli accessi a funzionalità sbloccate tramite pubblicità
2.3 — Immagini dei Pasti e File delle Diete
Se utilizzi la fotocamera per analizzare un pasto, l'immagine viene inviata in modo sicuro ai server di Supabase (Edge Functions) che la inoltrano a Google Gemini AI per il riconoscimento degli alimenti. Le immagini dei pasti non vengono conservate dopo il completamento dell'analisi.
Se importi un piano dietetico tramite file PDF, DOCX o immagine, il file viene caricato e conservato su Supabase Storage in modo permanente per consentire la visualizzazione della dieta nell'app. Il file può essere eliminato in qualsiasi momento dalla sezione "Diete" dell'app; l'eliminazione dell'account rimuove tutti i file caricati entro 30 giorni.
La fotocamera è utilizzata anche per la scansione di codici a barre (vedi sezione 2.5): in questo caso non viene salvata alcuna immagine, viene letto solo il codice numerico.
2.4 — Dati Vocali
Se utilizzi la funzione di input vocale per descrivere un pasto, il tuo audio viene elaborato tramite il servizio di riconoscimento vocale del sistema operativo (Apple SFSpeechRecognizer su iOS). A partire da iOS 16, le clip audio brevi (tipicamente inferiori al minuto) possono essere trascritte direttamente sul dispositivo, senza trasmissione a server esterni. Per clip più lunghe o su dispositivi meno recenti, l'audio può essere trasmesso ai server Apple per la trascrizione. La scelta della modalità di elaborazione è determinata da Apple e non è controllabile dal Fornitore. Il testo trascritto viene poi inviato a Gemini AI tramite le Supabase Edge Functions per il calcolo dei valori nutrizionali.
L'utilizzo della funzione vocale richiede il consenso all'accesso al microfono e al servizio di riconoscimento vocale del dispositivo. Puoi revocare questi permessi in qualsiasi momento da Impostazioni → Privacy e sicurezza → Microfono / Riconoscimento vocale.
2.5 — Dati di Scansione Codici a Barre
Quando scansioni un codice a barre, il numero EAN/UPC del prodotto viene inviato in sequenza a uno o più dei seguenti servizi esterni per recuperare le informazioni nutrizionali del prodotto:
- Open Food Facts (database aperto di prodotti alimentari)
- UPCitemdb (database prodotti commerciali, fallback)
- Google Gemini AI tramite Supabase Edge Functions (stima nutrizionale, secondo fallback)
I risultati delle scansioni recenti sono memorizzati in una cache locale non cifrata sul dispositivo (massimo 50 prodotti) per evitare chiamate ripetute alla rete. La cache contiene esclusivamente nomi e valori nutrizionali di prodotti pubblici, non dati personali dell'utente.
2.6 — Dati Tecnici e di Utilizzo
- Date e orari di accesso e utilizzo
- Preferenze dell'app (tema grafico, stato notifiche)
- Log di errori e crash: in caso di crash dell'app, Firebase Crashlytics raccoglie automaticamente informazioni tecniche (modello dispositivo, versione iOS, versione app, stack trace dell'errore) per consentirci di individuare e correggere i bug. I dati sono anonimi e non contengono informazioni personali identificabili.
2.7 — Dati Pubblicitari
Nella versione gratuita vengono mostrati due tipi di annunci tramite Google AdMob:
- Banner pubblicitari: visualizzati nella parte inferiore di alcune schermate
- Annunci con premio (Rewarded Ads): video pubblicitari opzionali che l'utente può scegliere di guardare per ottenere chiamate AI aggiuntive o sbloccare temporaneamente funzionalità avanzate (streak recovery, report estesi)
AdMob può raccogliere un identificatore pubblicitario del dispositivo (IDFA su iOS) per mostrare annunci pertinenti. Puoi gestire le preferenze pubblicitarie da Impostazioni → Privacy e sicurezza → Pubblicità Apple.
2.8 — Dati Conservati Localmente sul Dispositivo
Parte dei tuoi dati viene conservata direttamente sul dispositivo, al di fuori dei server Supabase:
- Database SQLite offline: i pasti registrati in assenza di connessione internet vengono salvati localmente e sincronizzati con Supabase non appena la connessione è ripristinata
- iOS Keychain (archiviazione sicura): obiettivo calorico, target macro-nutrienti, valore dello streak giornaliero e dati di cache del peso sono conservati nel Keychain cifrato di iOS. Questi dati sopravvivono alla disinstallazione dell'app e vengono eliminati solo all'eliminazione dell'account o su richiesta esplicita
- Cache barcode: ultimi 50 prodotti scansionati (vedi sezione 2.5), conservati in SharedPreferences locali (non cifrate, poiché contengono solo nomi e valori nutrizionali di prodotti pubblici)
- Preferenze app: impostazioni notifiche, tema e preferenze UI, in SharedPreferences locali
3. Finalità e Base Giuridica del Trattamento
- Fornitura del servizio — Art. 6(1)(b) GDPR (esecuzione del contratto): gestione account, calcolo nutrienti, salvataggio pasti, tracking peso e aderenza alla dieta.
- Dati di salute — Art. 9(2)(a) GDPR (consenso esplicito): trattamento di dati relativi alla salute (peso, obiettivi nutrizionali, pasti) espressamente forniti dall'utente per ottenere il servizio di tracking.
- Analisi AI (testo, voce, immagine) — Art. 6(1)(a) e 9(2)(a) GDPR (consenso): elaborazione di testi, trascrizioni vocali e immagini tramite Gemini AI di Google, attivata su richiesta esplicita dell'utente per ciascuna analisi.
- Comunicazioni di servizio — Art. 6(1)(b) GDPR: email di conferma account, reset password, notifiche push di promemoria idratazione.
- Diagnostica e stabilità — Art. 6(1)(f) GDPR (legittimo interesse): raccolta anonima di crash report tramite Firebase Crashlytics per garantire il corretto funzionamento dell'app.
- Sicurezza — Art. 6(1)(f) GDPR (legittimo interesse): monitoraggio di accessi anomali e protezione dell'integrità del servizio.
- Pubblicità — Art. 6(1)(a) GDPR (consenso): visualizzazione di annunci tramite AdMob nella versione gratuita, soggetta alle preferenze ATT del dispositivo.
4. Fornitori di Servizi Terzi (Sub-Responsabili del Trattamento)
Per erogare Calorino ci avvaliamo dei seguenti fornitori esterni. Ciascuno tratta i dati secondo accordi conformi al GDPR:
Ruolo: Infrastruttura cloud principale — database, autenticazione, Edge Functions (intermediario per le chiamate a Gemini AI)
Dati trattati: Account, profilo nutrizionale, pasti, peso, diete, quote AI, accessi rewarded, preferenze
Nota: Le Edge Functions di Supabase fungono da proxy sicuro verso Google Gemini AI: i tuoi dati (testo, immagini) passano attraverso l'infrastruttura Supabase prima di raggiungere Google
Sede: USA — trasferimento con Standard Contractual Clauses (SCC, Art. 46 GDPR)
Privacy Policy: supabase.com/privacy
Ruolo: Motore di intelligenza artificiale per il calcolo dei valori nutrizionali da testo, voce e immagini
Dati trattati: Testo descrittivo degli alimenti, trascrizioni vocali dei pasti, immagini dei pasti e delle diete (ricevuti tramite Supabase Edge Functions)
Nota — Web Grounding: Per prodotti alimentari branded (es. "Barilla Fusilli 500g"), Gemini AI può attivare una ricerca sul web tramite Google Search per recuperare i valori nutrizionali ufficiali del prodotto. In tal caso, il nome del prodotto viene inviato anche al motore di ricerca Google, soggetto alla medesima Privacy Policy di Google LLC.
Sede: USA — trasferimento con Standard Contractual Clauses (SCC)
Privacy Policy: policies.google.com/privacy
Ruolo: Raccolta automatica di crash report e log di errori per la diagnostica dell'app
Dati trattati: Modello del dispositivo, versione iOS, versione dell'app Calorino, stack trace degli errori, timestamp degli eventi. I dati sono anonimi e non includono dati personali dell'utente
Conservazione: 90 giorni sui server Firebase
Sede: USA — trasferimento con Standard Contractual Clauses (SCC)
Privacy Policy: firebase.google.com/support/privacy
Ruolo: Erogazione di annunci pubblicitari banner e rewarded nella versione gratuita
Dati trattati: Identificatore pubblicitario del dispositivo (IDFA, anonimizzato), dati di interazione con gli annunci
Sede: USA — trasferimento con Standard Contractual Clauses (SCC)
Privacy Policy: policies.google.com/privacy
Ruolo: Autenticazione tramite account Google
Dati trattati: Email e nome forniti dall'account Google
Sede: USA — trasferimento con Standard Contractual Clauses (SCC)
Privacy Policy: policies.google.com/privacy
Ruolo: Fornitura del font tipografico Poppins utilizzato nell'interfaccia dell'app
Dati trattati: Al primo avvio dell'app, il font viene scaricato dai server Google (fonts.gstatic.com), operazione che comporta la trasmissione dell'indirizzo IP del dispositivo a Google. Il font viene poi salvato nella cache locale del dispositivo: i successivi avvii non generano ulteriori richieste di rete.
Sede: USA — trasferimento con Standard Contractual Clauses (SCC)
Privacy Policy: policies.google.com/privacy
Ruolo (a): Sign in with Apple — autenticazione tramite Apple ID
Ruolo (b): SFSpeechRecognizer — riconoscimento vocale per l'input dei pasti (on-device su iOS 16+ per clip brevi; su server Apple per clip più lunghe o dispositivi meno recenti)
Ruolo (c): App Store — distribuzione e gestione acquisti in-app
Dati trattati: (a) Email (opzionalmente anonimizzata) e nome; (b) Audio per trascrizione vocale; (c) Dati di acquisto
Sede: USA — trasferimento con Standard Contractual Clauses (SCC)
Privacy Policy: apple.com/legal/privacy
Ruolo: Database aperto di prodotti alimentari — primo servizio di lookup per i codici a barre
Dati trattati: Codice a barre (EAN/UPC) scansionato dall'utente; nessun dato personale viene inviato
Sede: Francia (UE) — nessun trasferimento extra-UE
Privacy Policy: world.openfoodfacts.org/privacy
Ruolo: Database prodotti commerciali — secondo servizio di lookup barcode (usato solo se Open Food Facts non trova il prodotto)
Dati trattati: Codice a barre (EAN/UPC); nessun dato personale viene inviato
Sede: USA — trasferimento con garanzie adeguate
Privacy Policy: upcitemdb.com/privacy
5. Trasferimento dei Dati verso Paesi Terzi
Diversi fornitori indicati nella sezione precedente hanno sede negli Stati Uniti d'America (Supabase, Google, Apple, UPCitemdb). Il trasferimento dei dati personali avviene nel rispetto dell'Art. 46 GDPR, tramite Clausole Contrattuali Standard (Standard Contractual Clauses — SCC) approvate dalla Commissione Europea, che garantiscono un livello di protezione equivalente a quello dell'Unione Europea.
Open Food Facts ha sede in Francia ed è soggetto direttamente al GDPR: non è richiesto alcun meccanismo di trasferimento aggiuntivo.
6. Conservazione dei Dati
6.1 — Dati sui server Supabase
I dati dell'account e tutti i dati nutrizionali sono conservati per l'intera durata dell'account attivo. Quando elimini l'account (Impostazioni → Zona Pericolosa → Elimina account), tutti i dati vengono cancellati permanentemente entro 30 giorni.
6.2 — Dati locali sul dispositivo
I dati conservati nel Keychain iOS sopravvivono alla disinstallazione dell'app. Per eliminarli completamente è necessario eliminare l'account prima di disinstallare, oppure contattarci per la cancellazione manuale.
Il database SQLite offline e la cache barcode vengono eliminati automaticamente alla disinstallazione dell'app.
6.3 — Crash report (Firebase Crashlytics)
I log di crash anonimi sono conservati per 90 giorni sui server Firebase, dopodiché vengono eliminati automaticamente.
6.4 — Obblighi legali
In presenza di obblighi normativi specifici (es. adempimenti fiscali per abbonamenti premium), alcuni dati potranno essere conservati per i periodi previsti dalla legge applicabile.
7. I Tuoi Diritti (GDPR)
In qualità di interessato hai i seguenti diritti, esercitabili contattandoci all'indirizzo indicato nella sezione 15:
Risponderemo entro 30 giorni dal ricevimento. In caso di richieste complesse, il termine può essere esteso di ulteriori 60 giorni, previa comunicazione.
8. Reclamo al Garante per la Protezione dei Dati Personali
Hai il diritto di presentare reclamo all'autorità di controllo competente. In Italia:
9. Decisioni Automatizzate e Profilazione
Calorino non adotta alcun processo decisionale automatizzato nei confronti degli utenti, inclusa la profilazione ai sensi dell'Art. 22 GDPR. Nessuna decisione con effetti giuridici o di analoga rilevanza viene presa in modo esclusivamente automatizzato sulla base dei dati personali trattati.
I calcoli nutrizionali effettuati dall'intelligenza artificiale (Gemini AI) sono strumenti di supporto per l'utente e non producono effetti giuridici né decisioni vincolanti nei suoi confronti.
10. Minori
Calorino non è destinato a utenti di età inferiore ai 16 anni. Non raccogliamo consapevolmente dati di minori al di sotto di tale soglia. Se sei genitore o tutore e ritieni che tuo figlio abbia creato un account, contattaci immediatamente: provvederemo alla cancellazione.
11. Permessi del Dispositivo Richiesti
Calorino richiede i seguenti permessi di sistema iOS, con le relative finalità:
- Fotocamera: scatto di foto per analisi nutrizionale di pasti e import diete tramite AI; scansione di codici a barre di prodotti alimentari
- Galleria foto (lettura): selezione di immagini esistenti per l'analisi nutrizionale o l'import di diete
- Galleria foto (scrittura): salvataggio di screenshot del piano dietetico sul rullino fotografico, su richiesta esplicita dell'utente
- Microfono: registrazione audio per l'input vocale dei pasti
- Riconoscimento vocale: trascrizione dell'audio in testo tramite il servizio Apple SFSpeechRecognizer
- Face ID / Touch ID: autenticazione biometrica per l'accesso sicuro all'app tramite il sistema operativo iOS (le credenziali biometriche non lasciano mai il dispositivo)
- Notifiche: invio di promemoria locali per i pasti (colazione, pranzo, merenda, cena) e per l'idratazione giornaliera, configurabili dall'utente
- Accesso ai file: apertura di file PDF e DOCX dal dispositivo per l'import di piani alimentari
- Tracciamento pubblicità (ATT): utilizzo dell'IDFA per annunci personalizzati tramite AdMob (solo con consenso esplicito tramite il prompt ATT di Apple)
Puoi revocare qualsiasi permesso in qualsiasi momento da Impostazioni → Calorino sul tuo dispositivo iOS.
12. Cookie e Tecnologie di Tracciamento
Calorino è un'app mobile nativa e non utilizza cookie. La sessione è gestita tramite token cifrati di Supabase Auth. Nella versione gratuita, AdMob può utilizzare l'IDFA del dispositivo per annunci personalizzati, soggetto al consenso ATT.
13. Sicurezza dei Dati
- Tutte le comunicazioni avvengono tramite TLS/HTTPS
- Le password sono conservate esclusivamente come hash crittografico
- I dati sensibili locali (obiettivi, streak) sono conservati nel Keychain cifrato iOS
- Le chiavi API (Gemini, Supabase) non sono mai esposte nel codice dell'app: le chiamate AI passano attraverso Supabase Edge Functions che fungono da proxy sicuro
- L'infrastruttura Supabase è certificata SOC 2 Type 2
In caso di violazione dei dati che ponga a rischio i tuoi diritti, ti notificheremo tempestivamente nei modi previsti dal GDPR (entro 72 ore alle autorità, senza ingiustificato ritardo agli interessati).
14. Modifiche alla Privacy Policy
In caso di modifiche sostanziali, ti informeremo tramite notifica in-app o via email prima dell'entrata in vigore. La data dell'ultimo aggiornamento è sempre indicata in cima al documento. L'uso continuato dell'app dopo le modifiche costituisce accettazione della nuova informativa.
15. Intelligenza Artificiale — Conformità al Reg. UE 2024/1689 (AI Act)
15.1 — Ruolo del Titolare
Calorino agisce come deployer di sistemi AI ai sensi dell'Art. 3(4) del Regolamento UE 2024/1689 (AI Act). Il Titolare non sviluppa modelli AI propri, ma integra sistemi di terze parti (Google Gemini AI) per erogare le funzionalità dell'app.
15.2 — Sistemi AI utilizzati
Google Gemini AI (Google LLC, USA) è il sistema AI impiegato per: analisi nutrizionale di testi, immagini e audio; import e interpretazione di piani alimentari; calcolo del fabbisogno calorico e dei macronutrienti. I dati trasmessi a Gemini AI transitano attraverso Supabase Edge Functions (proxy sicuro) e non vengono conservati dopo l'analisi.
15.3 — Trasparenza verso gli Utenti (Art. 50 AI Act)
In conformità all'Art. 50 del Reg. UE 2024/1689, il Titolare informa gli utenti che:
- le analisi nutrizionali, le stime caloriche e le elaborazioni vocali sono generate da un sistema di intelligenza artificiale;
- i contenuti prodotti dall'AI sono stime indicative e non costituiscono consulenza medica o nutrizionale professionale;
- l'app segnala il coinvolgimento dell'AI tramite indicatori visivi nelle schermate pertinenti.
15.4 — Classificazione del rischio
I sistemi AI impiegati in Calorino sono classificati come a basso rischio ai sensi dell'AI Act: non rientrano nelle categorie ad alto rischio dell'Allegato III in quanto non producono decisioni con effetti giuridici sull'utente, non sono destinati a uso medico o diagnostico, e forniscono esclusivamente stime di supporto all'autogestione alimentare volontaria.
Non vengono adottate pratiche AI vietate ai sensi dell'Art. 5 del Reg. 2024/1689 (manipolazione subliminale, sfruttamento di vulnerabilità, social scoring, ecc.).
15.5 — Monitoraggio e conformità
Il Titolare monitora l'utilizzo dei sistemi AI per garantire la conformità normativa continuativa. Eventuali aggiornamenti rilevanti alla classificazione del rischio o alle modalità di utilizzo dell'AI saranno riflessi in questa sezione.
16. Contatti
Alessio Rongione — Titolare del Trattamento
Email: alessiorongione0598@gmail.com
Risposta garantita entro 30 giorni dalla ricezione.