Política de Privacidad
Última actualización: 22 de mayo de 2026 · Versión 1.1 (borrador inicial — pendiente de revisión legal)
Esta Política de Privacidad explica qué información recolecta Catcher ("nosotros", "la app"), cómo la usamos, con quién la compartimos y qué derechos tienes sobre ella.
Resumen en una frase: Catcher es local-first. La gran mayoría de tus datos viven en tu propio teléfono, no en nuestros servidores. Lo que sí pasa por terceros lo detallamos abajo.
1. Quién es responsable
Catcher (en adelante, "la app") es operada por su desarrollador principal. Punto de contacto: support@getcatcher.app.
2. Qué datos procesamos
2.1 Datos que tú creas dentro de la app (quedan en tu teléfono)
Catcher almacena en una base de datos local SQLite, dentro de tu propio dispositivo:
- Información de perfil que ingresas (nombre, edad, sexo, altura, peso, objetivos).
- Comidas, recetas, fotos de comidas y datos nutricionales.
- Rutinas, sesiones de entrenamiento, series, repeticiones, ejercicios, percepción de esfuerzo.
- Mediciones corporales y composición corporal.
- Notas, ánimo, sueño manual y otros eventos que registres.
- Resultados de exámenes médicos que subas (PDFs e imágenes) y sus extractos de valores.
- Conversaciones con el coach de IA.
- Datos sincronizados desde wearables (ver §3).
Estos datos no se envían a nuestros servidores. Si desinstalas Catcher sin habilitar backup, estos datos se eliminan junto con la app.
2.2 Datos de cuenta (Firebase Authentication)
Cuando creas una cuenta o inicias sesión, recolectamos:
- Tu email.
- Tu nombre (si lo proporcionas o si inicias sesión con Google).
- Una identidad única (UID) generada por Firebase.
- Metadatos técnicos del inicio de sesión (fecha, IP enmascarada, tipo de dispositivo) — gestionados por Google Firebase.
2.3 Datos enviados al coach de IA (Google Gemini / Firebase AI Logic)
Cuando interactúas con el coach, el contenido de tu mensaje + el contexto que la app considera relevante (ej.: nutrición reciente, último entrenamiento, métricas) se envía a Google Gemini vía Firebase AI Logic para generar la respuesta.
Google declara que las llamadas vía Firebase AI Logic no se usan para entrenar modelos ni se conservan más allá de la latencia mínima necesaria.
2.4 Crash reports y métricas técnicas (Firebase Crashlytics + Analytics)
Para detectar fallas y mejorar la app procesamos:
- Logs de errores y stack traces cuando la app crashea.
- Métricas anónimas de uso (qué pantallas se abrieron, cuánto duró cada sesión).
- Identificador anónimo de dispositivo (Android Advertising ID o equivalente).
Estos datos están agregados y no permiten identificarte personalmente.
3. Integraciones con terceros
Si tú los conectas voluntariamente, Catcher accede a datos de los siguientes servicios:
- Google Health Connect — pasos, frecuencia cardíaca, sueño, peso, ejercicio, oxígeno en sangre, presión arterial, hidratación, glucosa, ciclo menstrual, temperatura, energía total y activa, y distancia (14 read scopes).
- Strava — actividades deportivas registradas en Strava (vía OAuth 2.0).
- Withings — peso, composición corporal, sueño, presión arterial (vía OAuth 2.0).
- Google Drive — para guardar y restaurar el backup cifrado de tu base local. Catcher sólo accede a la carpeta que creó ("app data folder"), no a otros archivos.
- WeatherAPI — temperatura, humedad y clima de tu ubicación aproximada en el momento de registrar entrenamientos al aire libre.
- FatSecret / USDA / Open Food Facts — búsqueda de alimentos. Sólo enviamos la query de búsqueda (texto), no datos personales. Las claves de FatSecret, WeatherAPI y USDA son Bring Your Own Key: tú creás tu propia cuenta gratuita en cada servicio y pegás tus credenciales dentro de la app; Catcher nunca ve tus claves y se guardan encriptadas en tu dispositivo.
Puedes desconectar cualquiera de estas integraciones en cualquier momento desde Ajustes.
3.1 Divulgaciones específicas de Strava
Esta subsección es requerida por el Strava API Agreement:
- Usamos la API de Strava para recuperar solo tus propias actividades. No agregamos, compartimos ni mostramos datos de otros usuarios de Strava.
- Los datos de Strava se muestran dentro de Catcher con atribución apropiada (logomark naranja + "Strava" o "Powered by Strava") y un link "Ver en Strava" que te lleva a la actividad en
strava.com/activities/{id}. - Puedes desconectar Strava en cualquier momento desde Ajustes → API y Conexiones → Strava. Al desconectar eliminamos todos los registros con origen Strava de tu base de datos local dentro de 48 horas, conforme al API Agreement.
- Si revocás el acceso de Catcher desde strava.com/settings/apps en lugar de hacerlo desde la app, Strava nos notifica vía webhook (subscription registrada en nuestro backend) y disparamos la misma eliminación; existe además un mecanismo client-side de fallback que detecta tokens revocados en el siguiente refresh y purga la data local.
- Strava puede monitorear y recopilar ciertos datos de uso e información relacionados con nuestro uso de los Strava API Materials.
- No usamos los datos de Strava para entrenar modelos de IA ni machine learning.
- No vendemos, alquilamos, ni redistribuimos datos de Strava a terceros bajo ninguna circunstancia.
- Para la política de privacidad propia de Strava, ver strava.com/legal/privacy.
- En caso de incidente de seguridad que afecte datos de Strava, notificamos a Strava dentro de las 24 horas conforme al API Agreement.
3.2 Divulgaciones específicas de Health Connect
Cuando otorgás a Catcher acceso a Health Connect, podemos leer los siguientes 14 tipos de datos (Catcher es read-only respecto a Health Connect — nunca escribimos datos de vuelta):
- Pasos (
READ_STEPS) — para registrar tu actividad diaria y calorías por movimiento. - Distancia (
READ_DISTANCE) — distancia caminada/corrida agregada al volumen de cardio. - Energía activa quemada (
READ_ACTIVE_CALORIES_BURNED) — para el balance energético diario. - Energía total quemada (
READ_TOTAL_CALORIES_BURNED) — TDEE real complementando la estimación. - Sesiones de sueño (
READ_SLEEP) — duración, calidad y etapas (REM, deep, light, awake, in-bed) para análisis de recuperación. - Frecuencia cardíaca (
READ_HEART_RATE) — para análisis durante entrenamientos cardio. - Frecuencia cardíaca en reposo (
READ_RESTING_HEART_RATE) — indicador de recuperación y fitness aerobic. - Variabilidad de frecuencia cardíaca (HRV) (
READ_HEART_RATE_VARIABILITY) — indicador objetivo de readiness/recuperación. - Saturación de oxígeno en sangre (
READ_OXYGEN_SATURATION) — referencia complementaria de fitness aerobic / aclimatación a altitud. - Frecuencia respiratoria (
READ_RESPIRATORY_RATE) — métrica de recuperación nocturna y stress. - Temperatura corporal (
READ_BODY_TEMPERATURE) — detección de tendencias (ej. estado febril, ciclo) que afectan la programación del entrenamiento. - Ejercicio (
READ_EXERCISE) — sesiones de entrenamiento de otras apps para evitar duplicados con Strava/Withings. - Peso (
READ_WEIGHT) — historial de peso para body composition y goal tracking. - Hidratación (
READ_HYDRATION) — ingesta diaria de agua para el panel de nutrición.
Adicionalmente, Catcher declara el permiso READ_HEALTH_DATA_IN_BACKGROUND que te permite (opcionalmente) habilitar el toggle "Permitir el acceso a datos cuando la aplicación esté cerrada" desde los ajustes de Health Connect. Sin esto, Catcher solo puede leer los datos de arriba mientras la app está abierta; con eso habilitado, el sync de la mañana, el widget del Inicio y el coach de IA pueden refrescar los datos incluso con la app cerrada. Es estrictamente opcional — si no lo activás, todo sigue funcionando cuando abrís la app.
Podés revocar cualquier permiso individual en cualquier momento desde los ajustes de Health Connect de tu teléfono. Si desactivás Health Connect por completo, Catcher pierde acceso a las nuevas mediciones pero los registros ya sincronizados que viven en tu base local permanecen hasta que los borres manualmente o eliminés tu cuenta.
3.3 Servicios de infraestructura
- Cloudflare Workers — opera nuestro backend proxy en
api.getcatcher.appque media las llamadas a Google Speech-to-Text, Google Gemini, OAuth de Strava y OAuth de Withings. El proxy no almacena tus datos de salud; solo forwardea el cuerpo de la request al destino correspondiente y cuenta tu uso de créditos. Los secrets sensibles (Strava client secret, Withings client secret, Google STT service account, Gemini API key) viven exclusivamente como Cloudflare Workers Secrets y nunca están bundleados en el binario de la app. - Stadia Maps — sirve los tiles de mapa cuando se muestra una vista de mapa en la app. Recibe solo las coordenadas del viewport actual, no tu historial de ubicación completo.
4. Permisos del sistema
La app pide permisos sólo cuando la función lo requiere y se justifica así:
- Cámara — para fotografiar comidas, exámenes médicos y la balanza/cinta cuando haces mediciones.
- Micrófono — para el modo "Live" del coach (conversación de voz). El audio se procesa en tiempo real y no se almacena.
- Ubicación — para registrar el clima de tus entrenamientos al aire libre, cuando tú lo activas.
- Galería / Fotos — para que puedas adjuntar imágenes a comidas y exámenes desde tu propia biblioteca.
- Notificaciones — recordatorios que tú configures.
- Alarma exacta — para que los recordatorios de comidas y entrenamientos se disparen en el horario que pediste.
- Foreground service — para mantener activa la sesión de voz con el coach mientras está en pantalla.
5. Cómo usamos los datos
- Para que la app funcione (mostrarte tu información, calcular tus métricas, sincronizar con wearables).
- Para que el coach de IA pueda darte respuestas que tengan en cuenta tu contexto real.
- Para detectar y arreglar fallas técnicas.
- Para mejorar la app a partir de métricas agregadas y anónimas.
No vendemos tus datos. No los compartimos con anunciantes. No hacemos perfilamiento publicitario. No usamos tus datos —ni los de las integraciones de terceros— para entrenar modelos de IA o machine learning.
6. Datos médicos y "no es un dispositivo médico"
Catcher procesa información sensible de salud (exámenes, métricas corporales, sueño, ciclo, etc.). Catcher no es un dispositivo médico. La app y su coach de IA son herramientas informativas y no reemplazan el diagnóstico, prescripción ni tratamiento de un profesional de la salud. Ante cualquier duda o síntoma serio, consulta con tu médico.
7. Cuánto tiempo guardamos tus datos
- Los datos en tu teléfono — todo el tiempo que tengas la app instalada.
- Tu cuenta de Firebase Authentication — hasta que la elimines tú o nosotros tras tu solicitud.
- Crash reports — hasta 90 días, luego se anonimizan o se descartan.
- Backup en Google Drive — vive en tu propio Drive, tú lo controlas.
- Datos con origen Strava — eliminados dentro de 48 horas después de desconectar Strava (vía la app, vía revoke en strava.com, o vía eliminación de cuenta).
- Contadores de uso del backend (balance diario de créditos, costo mensual) — 48 horas y 40 días respectivamente, en Cloudflare Workers KV.
8. Tus derechos
Sobre tus datos personales tienes derecho a:
- Acceder — todos tus datos están visibles dentro de la app.
- Rectificar — puedes editar cualquier dato que ingresaste.
- Eliminar — desde Perfil → Tu información personal → Sesión → Eliminar cuenta y datos, o vía esta página.
- Portabilidad — exporta tu base de datos vía el backup de Google Drive.
- Oposición — desconecta las integraciones que no quieras usar.
- Retirar el consentimiento — en cualquier momento, sin afectar la legalidad del tratamiento previo.
9. Transferencias internacionales
Firebase y otros servicios de Google procesan datos en servidores de Estados Unidos y la Unión Europea. Estas transferencias se amparan en las cláusulas contractuales tipo aprobadas por la Comisión Europea.
10. Edad mínima
Catcher no está dirigida a menores de 16 años. Si descubrís que un menor creó una cuenta, contactanos para eliminarla.
11. Cambios en esta política
Cuando hagamos cambios sustanciales vamos a notificarte dentro de la app y vamos a actualizar la fecha de arriba. Para cambios menores (corrección de tipos, aclaraciones) puede que sólo actualicemos esta página.
12. Contacto
Para cualquier ejercicio de derechos o duda: support@getcatcher.app.
Nota importante: esta política es un borrador inicial técnico y debe ser revisada por un abogado con experiencia en privacidad antes del lanzamiento público en Google Play.