0. Definiciones legales
Para evitar ambigüedades, las siguientes expresiones tienen el sentido que se les atribuye en este documento. Cuando aparezcan en mayúsculas o en cursiva, debe entenderse que se utilizan con ese significado.
- «Fitenome», «nosotros» o «el Servicio»
- La aplicación móvil Fitenome (iOS y Android), su sitio web
fitenome.com, los servicios en la nube asociados y cualquier interfaz que permita acceder a ellos. - «Usuario» o «tú»
- Persona física que descarga, instala o utiliza Fitenome, ya sea en modo invitado, mediante cuenta personal o como parte de una suscripción Premium.
- «Datos personales»
- Toda información sobre una persona física identificada o identificable, en los términos del artículo 4.1 del RGPD.
- «Tratamiento»
- Cualquier operación realizada sobre datos personales: recogida, registro, organización, conservación, consulta, comunicación, supresión, etc.
- «RGPD»
- Reglamento (UE) 2016/679 del Parlamento Europeo y del Consejo, de 27 de abril de 2016, relativo a la protección de las personas físicas en lo que respecta al tratamiento de datos personales.
- «LOPDGDD»
- Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos Personales y garantía de los derechos digitales (España).
- «Modelo de periodización»
- Estructura matemática y didáctica que organiza tu temporada de entrenamiento en macrociclos, mesociclos y microciclos. Fitenome utiliza cuatro modelos: lineal, ondulante diario (DUP), ATR y mantenimiento.
- «Antropometría»
- Mediciones corporales como peso, altura, perímetros, porcentaje de grasa estimado y composición corporal declarada por el usuario.
1. Introducción y alcance
Esta Política describe cómo Fitenome trata los datos personales que el usuario aporta o que el Servicio recopila durante su uso. Forma parte, junto con los Términos y Condiciones y el Contrato de Licencia de Usuario Final (EULA), del marco contractual que rige tu relación con nosotros.
Esta Política aplica a:
- La aplicación móvil Fitenome para iOS y Android, distribuida a través de App Store y Google Play.
- El sitio web
https://fitenome.comy sus subdominios. - Los servicios en la nube (Cloud Functions, Firestore) que soportan la generación de planes, sincronización y verificación de compras.
No aplica a sitios o servicios de terceros que enlacemos desde la app o la web. Cada uno de esos terceros tiene su propia política, que te recomendamos revisar.
europe-west1).
2. Responsable del tratamiento
Salvo que se indique lo contrario, el responsable del tratamiento de tus datos personales es:
| Titular | Iván Rojas Manzano (proyecto Fitenome) |
|---|---|
| Domicilio fiscal | España. Disponible bajo solicitud razonada por canales privados. |
| Correo electrónico | support@meetagape.com |
| Correo del Delegado de Protección de Datos | support@meetagape.com |
| Autoridad de control | Agencia Española de Protección de Datos (AEPD) — aepd.es |
3. Categorías de datos que recopilamos
Fitenome trata exclusivamente los datos imprescindibles para prestarte el servicio. Distinguimos entre datos aportados por ti, datos generados por el uso y datos derivados:
3.1 Datos de cuenta y autenticación
- Email (o alias de Apple Private Relay del tipo
xxxx@privaterelay.appleid.com). - Nombre visible y, si lo facilitaste a tu proveedor de identidad, foto de perfil.
- Proveedor de identidad: Google, Apple o email + contraseña.
- Identificador único (UID) generado por Firebase Authentication.
- Fecha de creación, último inicio de sesión y verificación de email.
- Idioma del dispositivo (códigos ISO como
es,en).
Si te registras con Apple y solicitas ocultar tu email real, Fitenome solo conoce el alias de Apple y lo marca internamente como isEmailRelay: true; el correo real nunca se expone a nuestros sistemas.
3.2 Datos de perfil deportivo y antropometría
- Sexo, edad, altura, peso, porcentaje de grasa estimado (opcional).
- Nivel de actividad y objetivo declarado (hipertrofia, fuerza, recomposición, salud, mantenimiento).
- Macros objetivo calculados (calorías, proteína, carbohidratos, grasas, fibra).
- Histórico de cambios de objetivo, con su fecha efectiva.
3.3 Datos de entrenamiento
- Estructura del plan: macrociclo, mesociclos, microciclos y sesiones planificadas.
- Modelo de periodización elegido por el sistema (lineal, ondulante, ATR o mantenimiento) y la justificación textual asociada.
- Sesiones completadas: fecha, título, tipo, duración, volumen total, RPE, fatiga subjetiva, notas de dolor, áreas anatómicas señaladas, ejercicios planificados y logs reales por serie (reps, peso, RIR).
- Check-ins de readiness: sueño, dolor, ánimo, áreas dolorosas y carga ajustada propuesta para el día.
- PR registrados, sustituciones de ejercicios solicitadas y deload aplicados.
3.4 Datos de nutrición
- Entradas de alimentos por comida (desayuno, pre-entreno, almuerzo, post-entreno, snacks, cena): nombre, marca, gramos, macros calculados, fuente del dato.
- Preferencias dietéticas: alimentos de despensa, gustos, alergias, restricciones (vegano, sin gluten, etc.), notas libres.
- Sugerencias de comidas generadas para ti y cuáles aceptaste o descartaste.
3.5 Datos derivados de tu uso
- Adherencia semanal, racha de días consecutivos con sesión, % de sesiones completadas por microciclo.
- Carga interna estimada (Foster sRPE), tonelaje, distribución por grupo muscular.
- Estado del coach: última fecha de readiness, propuesta de deload pendiente, solicitud de nuevo mesociclo.
3.6 Datos técnicos
- Identificador de invitado (modo sin cuenta): hash truncado SHA-256 de la IP entrante + los primeros 120 caracteres del User-Agent, con el prefijo
guest:. Únicamente se usa para aplicar cuotas mensuales y deduplicar el caché de planes; no permite identificarte directamente y no se cruza con ninguna identidad real. - UID generado por Firebase Authentication para usuarios registrados (28 caracteres alfanuméricos opacos).
- Contadores de cuota en la colección server-only
usage/{uid}, con campos por ventana temporal:generatePlan_2026_05,parseFoodFromImage_2026_05_13,regenerateMicrocycle_2026_W19, etc. - Dirección IP y User-Agent recibidos de forma transitoria por Cloud Functions durante la petición — Google Cloud los conserva en sus logs operativos según su política de retención por defecto (típicamente 30 días para Cloud Logging) y no se almacenan asociados a tu cuenta en nuestras colecciones.
- Versión de la app y del sistema operativo cuando comunicas un fallo.
- Permiso de cámara (iOS): la app solicita acceso solo cuando pulsas el botón de escáner de códigos de barras; el texto exacto que aparece en el diálogo del sistema es «Fitenome usa la cámara para escanear códigos de barras de alimentos». El reconocimiento del código se realiza en el dispositivo mediante Google ML Kit (no enviamos la imagen a ningún servidor).
3.7 Datos que NO recopilamos
android.permission.INTERNET; en iOS, únicamente NSCameraUsageDescription para el escáner. Si en el futuro integramos alguno de los anteriores, te lo solicitaremos con un consentimiento informado y actualizaremos esta Política.
4. Bases legales para el tratamiento (RGPD)
Conforme al artículo 6 del RGPD, las bases que legitiman los distintos tratamientos son:
| Tratamiento | Base legal |
|---|---|
| Crear y mantener tu cuenta, sincronización en la nube, generación del plan de entrenamiento y macros. | Ejecución de un contrato (art. 6.1.b RGPD): los Términos que aceptaste al usar la app. |
| Verificación de compras Premium en App Store y Google Play y atribución de la suscripción. | Ejecución de un contrato (art. 6.1.b RGPD). |
| Conservación de logs operativos, prevención de abuso, enforcement de cuotas, prevención de fraude en suscripciones. | Interés legítimo (art. 6.1.f RGPD): mantener un servicio fiable y proteger nuestros sistemas y a otros usuarios. |
| Atención a tus solicitudes de derechos del interesado y comunicaciones de seguridad. | Obligación legal (art. 6.1.c RGPD). |
| Tratamiento de datos sensibles relativos a salud (peso, dolor declarado, porcentaje de grasa). | Consentimiento explícito (art. 9.2.a RGPD), prestado al introducir voluntariamente esos datos en el formulario de antropometría / readiness. Puedes retirarlo en cualquier momento. |
| Envío de comunicaciones de servicio (reset de contraseña, verificación de email). | Ejecución de un contrato. |
No realizamos perfilados con finalidad publicitaria. No tratamos tus datos para tomar decisiones con efectos jurídicos sobre ti.
5. Finalidades y decisiones automatizadas
Los datos que tratamos se usan para las siguientes finalidades:
- Generar tu plan de entrenamiento: a partir de tu antropometría, experiencia, objetivo y disponibilidad semanal, Fitenome selecciona automáticamente uno de cuatro modelos de periodización y construye tus mesociclos y microciclos.
- Adaptar tu plan a tu fatiga semanal: el check-in de readiness modifica la carga propuesta del día.
- Calcular tus macros y planes de comida: a partir de tu peso, altura, edad, sexo, actividad y objetivo se calculan los targets diarios (modelo de Mifflin-St Jeor con correcciones por composición corporal).
- Mostrar progreso: anillos de adherencia, racha, antropometría histórica, PRs.
- Cumplir obligaciones contractuales y legales.
Algunas de estas decisiones son automatizadas (artículo 22 RGPD):
- La elección del modelo de periodización es automática y se basa en respuestas a una evaluación inicial (nivel, objetivo, días disponibles, picos previstos). Puedes solicitar revisión humana escribiendo a support@meetagape.com.
- El ajuste automático de carga tras un readiness con dolor o fatiga elevados es un cálculo determinista (no IA): aplica reglas publicadas en literatura científica (Foster sRPE, autoregulación por RIR/RPE).
- La propuesta de comidas y la sustitución de ejercicios (Premium) se generan mediante modelos de procesamiento de lenguaje (ver §6). El usuario siempre puede ignorar o sustituir cualquier propuesta sin penalización.
Las funciones de servidor que materializan estas decisiones son: generatePlan, regenerateMicrocycle, suggestSubstitute, parseFood, parseFoodFromImage, suggestMeals, verifyPremiumPurchase y deleteAccount. Todas residen en la región europe-west1 de Google Cloud y se invocan únicamente por la app autenticada o por la app en modo invitado a través de canales firmados por Firebase.
Ninguna decisión automatizada produce efectos jurídicos ni afecta de modo significativo al usuario.
6. Tecnologías de coaching y modelos generativos
Para construir tu plan, sustituir un ejercicio o sugerir comidas, Fitenome envía un contexto reducido y anonimizado de tu perfil deportivo a una API de modelo de lenguaje proporcionada por Google LLC (Google Gemini). En concreto:
- Modelo utilizado:
gemini-2.5-propara suscripciones Premium ygemini-2.5-flash-litepara el plan gratuito. La elección se hace por nuestro servidor en función del tier verificado. - Lo que enviamos: tu nivel, objetivo, disponibilidad semanal, antropometría declarada y, en el caso de comidas, tus preferencias dietéticas. El userContext se trunca a un máximo de 4 000 caracteres antes de ser remitido al modelo.
- Identificador opaco de cuenta (UID o id de invitado en formato
guest:<hash>) — únicamente para el caché determinista y la imputación de cuota.
Lo que no se envía: tu email, tu nombre, tu foto de perfil, tu dirección IP en claro ni ningún identificador del dispositivo.
La clave de la API (GEMINI_API_KEY) vive exclusivamente en Google Cloud Secret Manager y nunca se distribuye con el paquete de la app. La invocación se realiza desde Cloud Functions en la región europe-west1. La respuesta se cachea de manera determinista en la colección planCache/{key}, con key = sha256(SCHEMA_VERSION | tier | model | userContext_normalizado) y TTL automático de 90 días; este caché es accesible únicamente para nuestras funciones servidor y nunca se expone al cliente.
Google Cloud y Google AI Studio actúan como encargados del tratamiento. Sus condiciones se pueden consultar en Google Cloud DPA.
7. Destinatarios y transferencias internacionales
Tus datos pueden ser comunicados a los siguientes destinatarios estrictamente para que el Servicio funcione:
| Destinatario | Finalidad | Ubicación |
|---|---|---|
| Google Ireland Ltd (Firebase / Cloud) | Hosting, autenticación, base de datos Firestore, Cloud Functions, Cloud Logging. | UE (region europe-west1) con réplicas globales según política Google. |
| Google LLC (Gemini API) | Generación de plan, sustitución de ejercicio, sugerencias de comida y análisis de etiquetas nutricionales. | Procesado por Google bajo Google Cloud DPA y SCCs aplicables. |
| RevenueCat Inc. | Validación servidor-a-servidor de los recibos de App Store y Google Play y emisión del entitlement Premium (lookup_key = "pro"). Recibe el identificador opaco de tu cuenta y el identificador del producto comprado. | RevenueCat Inc., 1100 Alma St, Suite 100, Menlo Park, CA 94025, EE. UU. — bajo SCCs y DPF. |
| Apple Distribution International Ltd | Procesamiento del pago, recibo firmado JWS y atención al cliente de la suscripción en iOS. | Apple Distribution International Ltd, Hollyhill Industrial Estate, Hollyhill, Cork, Irlanda; Apple Inc. (EE. UU.) bajo SCCs y DPF. |
| Google Commerce Ltd | Procesamiento del pago y purchaseToken en Google Play (Android). | Google LLC (EE. UU.) bajo SCCs y DPF. |
Cuando los datos viajan a un país fuera del Espacio Económico Europeo, se utilizan las Cláusulas Contractuales Tipo aprobadas por la Comisión Europea (Decisión 2021/914) y, cuando corresponde, el EU-US Data Privacy Framework (Apple, Google y RevenueCat figuran en la lista activa de organizaciones DPF). Ninguno de estos destinatarios recibe datos para finalidades publicitarias.
8. Encargados y sub-encargados
Los encargados del tratamiento que acceden a datos personales para prestar servicios técnicos a Fitenome son:
- Google Ireland Limited (Gordon House, Barrow Street, Dublin 4, Irlanda) — Firebase Authentication, Cloud Firestore, Cloud Functions for Firebase, Cloud Logging, Cloud Secret Manager y Cloud Storage.
- Google LLC (1600 Amphitheatre Parkway, Mountain View, CA 94043, EE. UU.) — Google Gemini API (modelos
gemini-2.5-proygemini-2.5-flash-lite) y Google ML Kit on-device (escaneo de códigos de barras). - RevenueCat Inc. (1100 Alma St, Suite 100, Menlo Park, CA 94025, EE. UU.) — verificación de suscripciones, gestión de entitlements y webhooks de eventos de compra (renovación, reembolso, expiración, cambio de plan). Project ID:
proj0d5182cb. RevenueCat hace de intermediario entre Fitenome y las APIs de Apple App Store Server y Google Play Developer, evitando que Fitenome maneje directamente los tokens firmados de las tiendas. - Apple Distribution International Ltd (Hollyhill, Cork, Irlanda) — distribución App Store y procesamiento del pago en iOS.
- Google Commerce Ltd (Gordon House, Barrow Street, Dublin 4, Irlanda) — procesamiento del pago en Google Play.
Estos encargados firman acuerdos DPA con nosotros y solo pueden subcontratar sub-encargados que cumplan las mismas garantías. La lista actualizada de sub-encargados, así como la documentación de los DPA, se publica a petición motivada del interesado.
9. Plazos de conservación
| Categoría | Plazo |
|---|---|
| Datos de cuenta y perfil | Mientras la cuenta esté activa. Eliminados a los 30 días de la solicitud de baja. |
| Sesiones completadas y readiness | Eliminados junto con la cuenta o cuando el usuario los borre individualmente. |
| Datos antropométricos sensibles | Conservados solo mientras tengamos consentimiento explícito; retirable en cualquier momento. |
| Caché de planes generados | 30 días desde la última lectura, después se purga automáticamente. |
| Logs de seguridad y abuso | 90 días por defecto, hasta 1 año si hay incidente abierto. |
| Recibos de compra Premium | 6 años (obligación contable, art. 30 del Código de Comercio español). |
10. Tus derechos en virtud del RGPD
Tienes derecho a:
- Acceso (art. 15): obtener una copia de los datos personales que tratamos sobre ti.
- Rectificación (art. 16): corregir datos inexactos o incompletos.
- Supresión / «derecho al olvido» (art. 17): borrar tus datos. Puedes hacerlo tú mismo desde Perfil → Eliminar mi cuenta, o solicitarlo escribiéndonos.
- Limitación (art. 18): pedirnos que pausemos el tratamiento de determinados datos.
- Portabilidad (art. 20): recibir tus datos en formato estructurado (JSON) y transmitirlos a otro responsable.
- Oposición (art. 21): oponerte a tratamientos basados en interés legítimo.
- No ser objeto de decisiones automatizadas (art. 22): pedir intervención humana en las decisiones que produzcan efectos sobre ti.
- Retirar el consentimiento en cualquier momento, sin que afecte la licitud del tratamiento previo.
- Reclamar ante la AEPD (art. 77): si consideras que vulneramos tus derechos.
Para ejercitar cualquiera de estos derechos: escribe a support@meetagape.com incluyendo evidencia razonable de tu identidad. Responderemos en un plazo máximo de 30 días, prorrogables otros dos meses en peticiones complejas (te informaremos del motivo). El ejercicio del derecho es gratuito.
11. Cumplimiento multi-jurisdiccional
Aunque Fitenome opera desde España, también aplicamos las normas siguientes cuando proceda:
- UK GDPR y Data Protection Act 2018 para usuarios en Reino Unido. ICO como autoridad de control: ico.org.uk.
- CCPA / CPRA (California): los residentes pueden ejercer los derechos de conocer, eliminar, corregir y no venta. Fitenome no vende ni comparte tus datos personales según la definición del CPRA.
- LGPD (Brasil), PIPEDA (Canadá), Privacy Act 1988 (Australia) y APPI (Japón) en sus aspectos esenciales.
12. Protección de menores
Fitenome está dirigida a personas mayores de 16 años con experiencia previa en entrenamiento. No recopilamos a sabiendas datos personales de menores de 14 años. Si crees que un menor nos ha facilitado datos, escribe a support@meetagape.com y procederemos a borrarlos.
13. Medidas de seguridad
Aplicamos medidas técnicas y organizativas adecuadas al riesgo (art. 32 RGPD):
- Cifrado en tránsito: TLS 1.2 o superior en todas las comunicaciones cliente↔servidor y servidor↔encargados.
- Cifrado en reposo: Google Cloud cifra Firestore y Cloud Storage por defecto con claves gestionadas (AES-256).
- Aislamiento por usuario: las reglas de Firestore (
firestore.rules) impiden que un usuario lea o modifique datos de otro (request.auth.uid == uid). Las colecciones de sistemausage/{uid},planCache/{key}ysubstituteCache/{key}son inaccesibles desde el cliente (regla explícitaallow read, write: if false;). - Secretos:
GEMINI_API_KEYyREVENUECAT_SECRET_KEYviven en Google Cloud Secret Manager y se inyectan en runtime exclusivamente a las Cloud Functions que las necesitan. Nunca se distribuyen con el paquete de la app. - Cuotas: límites por usuario (diario, semanal, mensual o lifetime, según función) atomicamente aplicados en transacciones Firestore antes de cualquier llamada al modelo. Ejemplo: 2 generaciones de plan al mes en gratuito, 5 en Premium.
- Caché determinista: las respuestas del modelo se cachean en
planCachecon TTL de 90 días para no llamar repetidamente al LLM con un mismo contexto; al expirar el TTL la entrada se purga automáticamente vía Firestore TTL policy. - Minimización: solo enviamos al LLM un contexto reducido (≤ 4 000 caracteres) y anonimizado.
- Verificación de compras servidor-a-servidor: el entitlement Premium nunca se otorga en cliente. La función
verifyPremiumPurchaseconsulta la API V2 de RevenueCat con secret key y mirrorea el estado enusers/{uid}.premium, capturando refunds, billing issues y cancelaciones voluntarias. - App Check / Play Integrity (cuando aplicable): atestiguación opcional del binario para limitar el abuso de las funciones callable.
- Eliminación cascada: la función
deleteAccountrecorre las subcoleccionessessions,readiness,meals,eventsen lotes de 400 documentos, elimina el documento raízusers/{uid}y por último ejecutaadmin.auth().deleteUser(uid)para borrar la cuenta de Authentication. El proceso es idempotente: si se interrumpe, se reanuda limpiamente desde el punto donde quedó.
14. Cookies y tecnologías de seguimiento
El sitio web fitenome.com utiliza únicamente cookies técnicas indispensables (idioma elegido, estado de sesión). No utilizamos cookies analíticas ni publicitarias de terceros. La app móvil no utiliza identificadores publicitarios (IDFA, GAID) ni SDKs de tracking.
15. Requisitos específicos App Store y Google Play
De acuerdo con las políticas de las tiendas:
- Declaramos en App Store Connect bajo «App Privacy»: datos de contacto (email), identificadores (UID), datos de uso (interacciones con el producto), datos de salud y fitness vinculados a tu cuenta. Ninguno se usa para seguimiento entre apps.
- Declaramos en Google Play Data Safety: datos de cuenta, contenido del usuario (entrenamientos, comidas), métricas de uso. Todos cifrados en tránsito; eliminables a petición.
16. Pagos, suscripciones y prueba de compra
Las suscripciones Premium se procesan exclusivamente a través de App Store (iOS) o Google Play (Android). Fitenome no recibe el número de tarjeta, los últimos dígitos del PAN ni datos de facturación. La cadena de verificación es:
- La tienda (Apple o Google) cobra al usuario y emite un recibo firmado (JWS en iOS, purchaseToken en Android).
- RevenueCat recibe ese recibo del SDK de la app y lo valida contra Apple App Store Server API o Google Play Developer API. Es el responsable de detectar refunds, billing issues, cancelaciones o cambios de plan.
- La función
verifyPremiumPurchasede Fitenome consulta a RevenueCat por el endpointGET /v2/projects/proj0d5182cb/customers/{uid}/active_entitlementscon la clave secreta del servidor y comprueba si el entitlement"pro"está activo. - El estado canónico se mirrorea en
users/{uid}.premiumcon camposisPro,expiresAt,storeyproductIdpara que las reglas de Firestore puedan gatear funciones Premium sin volver a llamar a RevenueCat en cada lectura.
Los identificadores de productos vigentes incluyen, entre otros, fitenome_pro_yearly (suscripción anual). El listado completo está disponible en App Store Connect y Google Play Console.
RevenueCat trata únicamente el identificador opaco de tu cuenta (UID), el identificador del producto comprado, las fechas de inicio y expiración, el código del país en el que se realizó la compra y el estado del entitlement. No recibe tu email, nombre ni antropometría.
17. Datos de salud y descargo médico
Fitenome no es un dispositivo médico ni reemplaza el consejo de un profesional sanitario. Los datos de salud que aportas (peso, dolor, fatiga, % de grasa estimado) se utilizan únicamente para adaptarte un plan de entrenamiento y de alimentación generales.
18. Reclamaciones y autoridad de control
Si consideras que el tratamiento de tus datos vulnera la normativa aplicable, puedes interponer una reclamación ante la Agencia Española de Protección de Datos. Te pedimos que, antes, intentes resolverlo escribiéndonos a support@meetagape.com; respondemos en menos de 30 días.
19. Cambios en esta política
Podemos modificar esta Política para reflejar cambios legales, técnicos o del Servicio. Si los cambios son sustanciales, te avisaremos por email (cuando dispongamos de un email verificado) y mediante un aviso destacado en la app durante al menos 14 días naturales antes de su entrada en vigor. La versión vigente siempre estará accesible en fitenome.com/privacy.html.
20. Contacto y Delegado de Protección de Datos
Para cualquier consulta sobre privacidad o ejercicio de derechos:
- Email general de privacidad: support@meetagape.com
- Delegado de Protección de Datos: support@meetagape.com
- Página de ejercicio de derechos: fitenome.com/gdpr.html
Fecha de la última revisión: 20 de mayo de 2026.