Última actualización: abril 2026
DucodeApp es una aplicación personal de salud y nutrición que combina datos de Whoop, Apple Health y un asistente conversacional. Toda la inteligencia (planes, chat, recomendaciones) corre on-device con Apple Intelligence (Foundation Models). No hay servidores propios. No se envían datos a terceros para procesamiento de IA. No hay analytics ni rastreo.
La generación de planes nutricionales y las respuestas del Coach se ejecutan completamente en tu iPhone usando Foundation Models de Apple. Tus datos no salen del dispositivo durante la inferencia. No hay llamadas a OpenAI, Anthropic, Google, ni cualquier otro proveedor de IA.
Detalles técnicos en ./INTEGRATIONS.md.
La app solicita permisos read-only a las siguientes categorías. iOS te muestra una pantalla nativa para que elijas exactamente qué compartir.
| Categoría | Tipos |
|---|---|
| Composición corporal | Peso, IMC, % grasa corporal, masa magra, altura |
| Actividad | Pasos, distancia, kcal activas, kcal basales, pisos subidos, minutos de ejercicio, horas de pie, VO2max |
| Vitales | Frecuencia cardíaca, FC en reposo, HRV (SDNN), SpO2, frecuencia respiratoria |
| Nutrición | Energía consumida, proteína, carbohidratos, grasa, agua |
| Sueño | Análisis de sueño (in-bed, awake, asleep core/deep/REM) |
| Workouts | Sesiones de entrenamiento de los últimos 7 días |
| Mindfulness | Sesiones de mindfulness del día |
Estos datos se leen para construir un HealthSummary en memoria que se inyecta al prompt del LLM on-device y se muestra en la card "Salud 360" del Dashboard. No se replican a ninguna otra base de datos.
Cuando autorizas la conexión OAuth con Whoop, la app accede a:
- Recovery score, HRV (RMSSD), frecuencia cardíaca en reposo, SpO2, temperatura de piel
- Strain del día, kilojoules quemados, frecuencia cardíaca promedio y máxima
- Datos de sueño: duración, performance, eficiencia, etapas (light/deep/REM), deuda de sueño
- Workouts: tipo de deporte, duración, strain, kilojoules, distancia, zonas cardíacas
- Perfil básico: nombre, email
Los datos de Whoop se guardan localmente como WhoopDailySnapshot (SwiftData) para histórico de 7 días.
- Objetivo: tipo (pérdida/mantenimiento/ganancia), peso actual, peso meta, altura, edad, nivel de actividad
- Preferencias: cocinas favoritas, restricciones dietéticas, alergias, dislikes, notas extra
- Inventario: alimentos con macros y cantidades disponibles
- Mensajes del chat con el Coach
- Comidas registradas
| Tipo de dato | Dónde se guarda | Notas |
|---|---|---|
| Modelos de la app (objetivo, preferencias, inventario, snapshots Whoop, chat) | SwiftData local en tu iPhone | Se borran al desinstalar la app |
| Tokens OAuth de Whoop | Keychain de iOS | Cifrado a nivel de sistema operativo |
| Flags de UI (intro vista, onboarding, autorización HealthKit) | UserDefaults | Datos no sensibles |
No usamos iCloud sync. No exportamos a ningún backend. No hacemos backup remoto.
La app solo realiza llamadas de red a:
https://api.prod.whoop.com/...— para OAuth y para descargar los datos de tu Whoop.https://api.prod.whoop.com/oauth/oauth2/auth— pantalla de autorización en Safari.
Toda la comunicación va sobre HTTPS. No hay tracking pixels, no hay CDN propio, no hay analytics SDKs, no hay crash reporting de terceros.
- No vendemos información personal.
- No compartimos tu data con terceros para marketing.
- No almacenamos tu data en servidores externos.
- No rastreamos tu ubicación.
- No registramos eventos en herramientas de analytics (no hay Firebase, Amplitude, Mixpanel, etc).
- No enviamos tu información a proveedores de IA externos.
Puedes en cualquier momento:
- Desconectar Whoop: tap en el botón "Logout" del Dashboard (esquina superior izquierda). Los tokens se borran del Keychain inmediatamente.
- Revocar HealthKit: ve a Ajustes → Privacidad y seguridad → Salud → Ducode → desactiva las categorías que no quieras.
- Revocar permisos en el lado de Whoop: entra a whoop.com → Settings → Apps and Connections → revoca DucodeApp.
- Borrar todos los datos locales: desinstala la app. Toda la información persistida (SwiftData, UserDefaults, Keychain) se elimina con la app.
- Borrar la conversación con el Coach: tap en el botón reset (ícono
arrow.counterclockwise) en la esquina superior derecha de la pestaña Coach.
- Tokens OAuth en Keychain de iOS (cifrado por el sistema operativo).
- Comunicaciones sobre HTTPS / TLS.
- No se loguean tokens completos (solo se imprimen prefijos truncados en consola para debugging).
- La inferencia de IA es on-device: tu data nutricional, médica y conversacional no transita por ningún servidor durante el procesamiento.
DucodeApp es una aplicación personal, construida por Alejandro Duque para uso propio y de un grupo cerrado de amigos vía TestFlight Internal Testing. No es un producto comercial. No reemplaza el consejo de un profesional de la salud, nutricionista o entrenador certificado. Las recomendaciones son orientativas.
Cualquier cambio se reflejará en la fecha "Última actualización". Como la app no tiene servidores ni cuentas de usuario, no hay un mecanismo de notificación remota: el archivo se actualiza junto con cada release.
Para preguntas sobre esta política o sobre tu data:
- Email: alejoduquec@gmail.com
Esta app es para uso personal y no se publica en el App Store. Distribución limitada vía TestFlight a un grupo cerrado de testers.