VAC se presenta como un servicio de fitness y bienestar, no como un servicio médico. Aun así, las métricas e inferencias sobre corazón, sueño, composición corporal, lesiones y evolución física pueden revelar el estado físico o mental y se tratan, cuando corresponde, como datos de salud y categorías especiales de datos.
La autorización HealthKit permite leer tipos elegidos y no autoriza enviarlos. Con el consentimiento «health-local-receipt-v1-2026-07-20», la versión 1.0 solo lee y nunca escribe en Salud. Señales de Salud brutas o detalladas y series corporales, nutricionales y tendencias de hasta seis meses relacionadas se tratan en el dispositivo. Los recibos minimizados descritos abajo son proyecciones separadas y no contienen los campos brutos de Salud.
El modelo de datos de aplicación B2 conserva únicamente en el dispositivo: objetivos principales y focos; sexo, altura y peso actual usados para el entrenamiento local; peso objetivo y objetivos de grasa corporal y masa muscular; días de entrenamiento, intensidad y experiencia; medidas corporales manuales y series introducidas localmente; muestras e identificadores brutos de Salud de Apple; filas de entrenamiento manual con identificador estable, día y fecha, tipo, duración, carga y calorías opcionales y procedencia manual explícita; objetivos nutricionales de macros, hidratación, micronutrientes y objetivos fijados; filas de comida con identificador estable, día, nombre y hora de registro, valores de calorías, macros, agua y por nutriente, fuente, vínculo opcional con receta y procedencia, confianza y cobertura por nutriente, además de correcciones diarias con día, valores de calorías, macros y agua y hora de corrección; recetas personalizadas y favoritos de comidas y recetas con su orden; objetivos a largo plazo; notas, hechos y contexto de coaching privados redactados por el Usuario; fotos de progreso protegidas con metadatos locales mínimos; y el estado local redactado por el Usuario que consume el coach determinista.
Para competir, solo puede salir un recibo «vac.workout-receipt.v1»: identificador seudónimo unidireccional, deporte, día civil Europe/Rome, duración redondeada hacia abajo en bloques de 5 minutos y, si están disponibles, distancia en bloques de 250 metros y energía en bloques de 25 kcal. No contiene UUID de Salud, hora exacta, pulso, potencia, cadencia, zonas ni fuente. App Attest autentica app, dispositivo y solicitud y limita repeticiones, pero no certifica procedencia HealthKit ni rendimiento real. Los entrenamientos introducidos manualmente permanecen en el dispositivo, no se envían a la API de entrenamiento y no otorgan puntos IC ni GAIN. El rival solo ve valores necesarios o un agregado. HealthKit no se usa para publicidad ni seguimiento.
Para los IC derivados de la duración del sueño, solo puede salir un objeto con las dos claves «receiptSchema» igual a «vac.sleep-receipt.v1» y «receipts». El array contiene de uno a cinco recibos y como máximo uno por día de despertar Europe/Rome en los últimos cinco días. Cada recibo contiene exclusivamente «wakeDay» y «durationMinutes15»: entre 4 y 14 horas redondeadas hacia abajo en bloques de 15 minutos. El servidor asigna de 0 a 53 IC solo por duración. El recibo no contiene UUID, fuente, horas exactas, fases, eficiencia, punto medio, calidad, regularidad ni otros datos de Salud. VAC no lo conserva como Metric, snapshot ni dossier; solo queda el asiento CoinEntry necesario para IC, con importe, motivo, referencia sueño/día, atribución a cuenta/equipo/semana y fecha de creación. App Attest es obligatorio, queda ligado al cuerpo mediante cabeceras dedicadas y limita solicitudes no auténticas y repeticiones, pero no certifica procedencia HealthKit, sueño real ni calidad del sueño.
El dispositivo conserva el archivo local descrito arriba con protección completa y exclusión de las copias de seguridad del sistema iOS. Las fotos de progreso siguen la misma protección. Los datos locales no se transfieren automáticamente a un dispositivo nuevo y pueden perderse al desinstalar, reinstalar o sustituir el dispositivo. Las únicas proyecciones actuales de Salud que llegan al backend son los recibos minimizados de entrenamiento y sueño descritos arriba. Copias de seguridad anteriores del sistema iOS pueden contener versiones históricas; retirar o eliminar no las borra retroactivamente.
El archivo «.vacbackup» es el artefacto cifrado de copia de seguridad y restauración de VAC, no una exportación de datos genérica. Tras autenticar el archivo y completar un dry-run, solo el segmento localRestorable puede restaurarse para el mismo sujeto opaco de la copia; el segmento serverViewOnly permanece de solo lectura en la exportación del servidor y nunca entra en una API de mutación.
En la primera migración B12 autenticada, el cliente copia automáticamente a este dispositivo solo el snapshot B2 localRestorable: perfil, objetivos principales y focos, datos y objetivos corporales, preferencias de entrenamiento, objetivos nutricionales, comidas y correcciones, recetas y favoritos, objetivos a largo plazo y contexto privado no derivado de Salud — nota de perfil, registros UserNote y registros PinnedFact. El cliente valida el snapshot completo y lo confirma localmente antes de acusar recibo de la migración; solo el acuse vinculado al digest del snapshot permite purgar la fuente remota coincidente, y un snapshot inválido o por encima del límite se rechaza en vez de truncarse silenciosamente. Una vez que existe ese recibo, otro dispositivo no puede volver a obtener el snapshot del servidor y necesita una copia «.vacbackup» autenticada, cifrada y vinculada al mismo sujeto para recibir ese estado local. Los datos heredados derivados de Salud y los entrenamientos o medidas corporales manuales heredados fuera del payload de migración no se convierten en autoridad local y siguen una vía separada de conservación o supresión.