VAC è presentata come servizio di fitness e benessere, non come servizio medico. Tuttavia metriche e inferenze su cuore, sonno, composizione corporea, infortuni e andamento fisico possono rivelare lo stato fisico o mentale e sono trattate come dati relativi alla salute e categorie particolari quando applicabile.
L'autorizzazione HealthKit consente di leggere i tipi scelti e non autorizza il loro invio ai nostri sistemi. Con il consenso «health-local-receipt-v1-2026-07-20», la versione 1.0 legge soltanto e non scrive mai su Apple Salute. Segnali Health grezzi o dettagliati e relative serie corporee, nutrizionali e fino a sei mesi di trend sono elaborati e conservati sul dispositivo. Le ricevute minimizzate descritte sotto sono proiezioni separate e non contengono i campi Health grezzi.
Il modello dati applicativo B2 conserva soltanto sul dispositivo: obiettivi principali e focus; sesso, altezza e peso corrente usati per l'allenamento locale; peso target e obiettivi di grasso e massa muscolare; giorni di allenamento, intensità ed esperienza; misure corporee manuali e serie inserite localmente; campioni e identificatori grezzi di Apple Salute; record di allenamento manuale con identificatore stabile, giorno e data, tipo, durata, carico e calorie opzionali e provenienza manuale esplicita; target nutrizionali di macro, idratazione, micronutrienti e target fissati; record pasto con identificatore stabile, giorno, nome e ora di registrazione, valori calorici, macro, acqua e per nutriente, sorgente, collegamento opzionale alla ricetta e provenienza, confidenza e copertura per nutriente, oltre a correzioni giornaliere con giorno, valori calorici, macro e acqua e ora di correzione; ricette personalizzate e preferiti di pasti e ricette con il loro ordine; obiettivi a lungo termine; note, fatti e contesto di coaching privati scritti dall'Utente; foto dei progressi protette con metadati locali minimi; e lo stato locale scritto dall'Utente usato dal coach deterministico.
Per le competizioni, dal dispositivo può lasciare soltanto una ricevuta «vac.workout-receipt.v1»: identificatore pseudonimo non reversibile, sport, giorno civile Europe/Rome, durata arrotondata per difetto a blocchi di 5 minuti e, se disponibili, distanza a blocchi di 250 metri ed energia a blocchi di 25 kcal. La ricevuta non contiene UUID Health, orario esatto, battito, potenza, cadenza, zone o sorgente. App Attest autentica l'app, il dispositivo e la richiesta e limita replay, ma non certifica la provenienza HealthKit né che la prestazione sia reale. Gli allenamenti manuali restano sul dispositivo, non vengono inviati all'API workout e non assegnano punti IC o GAIN. L'avversario vede soltanto i valori competitivi necessari o un risultato aggregato; non usiamo HealthKit per pubblicità o tracking.
Per gli IC derivati dalla durata del sonno, può lasciare il dispositivo soltanto una busta con le due chiavi «receiptSchema» uguale a «vac.sleep-receipt.v1» e «receipts». L'array contiene da uno a cinque record, al massimo uno per giorno di risveglio Europe/Rome negli ultimi cinque giorni; ogni record contiene esclusivamente «wakeDay» e «durationMinutes15», cioè una durata tra 4 e 14 ore arrotondata per difetto a blocchi di 15 minuti. Il server assegna da 0 a 53 IC dalla sola durata. La ricevuta non contiene UUID, sorgente, orari esatti, fasi, efficienza, punto medio, qualità, regolarità o altri dati Health. VAC non la conserva come Metric, snapshot o dossier: mantiene soltanto la voce contabile CoinEntry necessaria agli IC, con importo, causale, riferimento sonno/giorno, attribuzione ad account, squadra e settimana e data di creazione. App Attest è obbligatorio, è legato al corpo della richiesta tramite header dedicati e limita richieste non autentiche e replay, ma non certifica provenienza HealthKit, sonno reale o qualità del sonno.
Il dispositivo conserva l'archivio locale descritto sopra con protezione completa dei file e marcatura per l'esclusione dai backup di sistema iOS. Le foto dei progressi seguono la stessa protezione locale. I dati solo locali non si trasferiscono automaticamente su un nuovo dispositivo e possono andare persi con disinstallazione, reinstallazione o sostituzione del dispositivo. Le sole proiezioni Health correnti che raggiungono il backend sono le ricevute minimizzate di allenamento e sonno descritte sopra. I backup creati prima di questa protezione a livello di sistema iOS possono contenere copie storiche; revoca o cancellazione non le rimuovono retroattivamente.
Il file «.vacbackup» è l'artefatto cifrato di backup e ripristino VAC, non un'esportazione dati generica. Dopo l'autenticazione dell'archivio e un dry-run completo, soltanto il segmento localRestorable può essere ripristinato per lo stesso soggetto opaco del backup; il segmento serverViewOnly resta in sola lettura nell'esportazione server e non entra mai in un'API di mutazione.
Alla prima migrazione B12 autenticata, il client copia automaticamente su questo dispositivo soltanto lo snapshot B2 localRestorable: profilo, obiettivi principali e focus, dati e target corporei, preferenze di allenamento, target nutrizionali, pasti e correzioni, ricette e preferiti, obiettivi a lungo termine e contesto privato non derivato da Health — nota del profilo, record UserNote e record PinnedFact. Il client valida lo snapshot completo e lo committa localmente prima di confermare la migrazione; soltanto la conferma legata al digest dello snapshot consente il purge della sorgente remota corrispondente, e uno snapshot non valido o oltre limite viene rifiutato invece di essere troncato silenziosamente. Dopo la creazione di questa ricevuta, un altro dispositivo non può scaricare di nuovo lo snapshot server e necessita di un backup «.vacbackup» autenticato, cifrato e legato allo stesso soggetto per ricevere quello stato locale. I dati legacy derivati da Health e gli allenamenti o le misure corporee manuali legacy fuori dal payload di migrazione non diventano autorità locale e seguono un percorso separato di conservazione o cancellazione.