TourHub

Política de Privacidad

TourHub Mobile (com.tourhub.mobile)

Última actualización: 23 de marzo de 2026

1. Introducción

TourHub (“nosotros”, “nuestro” o “la Plataforma”) opera la aplicación móvil TourHub Mobile (com.tourhub.mobile), disponible en Apple App Store y Google Play Store, así como la plataforma web asociada. Esta aplicación es una herramienta complementaria para la gestión de operaciones turísticas y de transporte en Costa Rica.

Esta Política de Privacidad describe qué datos recopilamos, cómo los usamos, almacenamos, compartimos y protegemos. Al utilizar TourHub Mobile, aceptas las prácticas descritas en esta política.

2. Datos que Recopilamos

2.1 Datos proporcionados por el usuario

  • Cédula de identidad costarricense: Utilizada como nombre de usuario para autenticación.
  • Contraseña: Mínimo 6 caracteres, utilizada para autenticación.
  • Fotografías de recibos: Capturadas con la cámara (calidad 0.7, formato base64) o seleccionadas de la galería, para el registro de gastos.
  • Datos de gastos: Monto, categoría, fecha, detalle, notas, indicador de IVA, proveedor y condiciones de crédito, ingresados manualmente o extraídos de recibos escaneados.
  • Datos de kilometraje: Lecturas iniciales y finales de kilómetros por segmento de servicio, ingresadas manualmente por el chofer.
  • Confirmación de servicios: Confirmación booleana de asignaciones de servicio.

2.2 Datos recibidos del servidor al iniciar sesión

  • Nombre y apellido
  • Número de teléfono (puede ser nulo)
  • Correo electrónico
  • Rol del usuario (ej. “Driver”, “Admin”, “Executive”)
  • Permisos y funcionalidades habilitadas

2.3 Datos recopilados automáticamente

  • Plataforma: “iOS” o “Android”, registrada al iniciar sesión.
  • Token de notificaciones push: Token de Expo Push Notifications, obtenido después de que el usuario otorga permiso.
  • Texto OCR: Texto extraído de fotografías de recibos mediante ML Kit de Google, procesado completamente en el dispositivo. Las imágenes y el texto extraído nunca se envían a servicios de OCR en la nube.

2.4 Datos que NO recopilamos

  • No recopilamos datos de ubicación ni GPS (no se solicitan permisos de ubicación).
  • No recopilamos datos de contactos, Bluetooth ni datos de salud.
  • No utilizamos SDKs de analítica (Firebase Analytics, Sentry, Crashlytics, etc.).
  • No utilizamos SDKs de publicidad ni píxeles de rastreo.
  • No recopilamos datos de micrófono en iOS.

3. Cómo Usamos los Datos

  • Autenticación: Cédula (como nombre de usuario), contraseña y tokens JWT para verificar la identidad del usuario.
  • Notificaciones push: Token de Expo y plataforma para enviar actualizaciones de asignaciones, recordatorios de gastos y cambios de horario.
  • Gestión de gastos: Fotografías de recibos, texto OCR, montos, categorías, fechas e información de proveedores para el registro y seguimiento de gastos operativos.
  • Rastreo de kilometraje: Lecturas iniciales y finales de kilómetros por segmento de transporte.
  • Confirmación de servicios: Estado de confirmación de asignaciones de segmentos.
  • Funcionalidad offline: Segmentos en caché y recibos en cola almacenados localmente para permitir el uso sin conexión a internet.
  • Pantalla de perfil: Nombre, apellido, rol, cédula y teléfono mostrados únicamente en la pantalla de perfil del usuario.
  • Conversión de moneda: Consultas de tipo de cambio (no se envían datos personales, solo el código de moneda).
  • Prevención de capturas de pantalla: Se utiliza expo-screen-capture para prevenir capturas de pantalla en pantallas sensibles (no se recopilan datos).
  • Detección de conectividad: Solicitud HEAD a clients3.google.com/generate_204 para detectar estado online/offline (no se envían datos personales).

4. Almacenamiento Local

La aplicación almacena datos en el dispositivo de la siguiente manera:

4.1 Almacenamiento seguro cifrado (expo-secure-store)

Utiliza Keychain en iOS y EncryptedSharedPreferences en Android (cifrado respaldado por hardware):

  • Token de acceso JWT
  • Objeto completo de tokens del usuario (nombre, rol, cédula, teléfono, email, tokens)
  • Token de notificaciones push de Expo
  • Arreglo de permisos del usuario
  • Arreglo de funcionalidades habilitadas

4.2 Almacenamiento local no cifrado (AsyncStorage)

  • Asignaciones de segmentos del chofer (caché para uso offline)
  • Marca de tiempo del caché
  • Cola de recibos sin procesar (ID, ruta de archivo, texto OCR, IDs de cliente y segmento, marca de tiempo)
  • Cola de recibos procesados por IA pendientes de confirmación del usuario
  • IDs de recibos descartados por el usuario

4.3 Sistema de archivos

  • Archivos de fotos de recibos en cola offline (documentDirectory/queued_receipts/*.jpg), sin cifrar

5. Datos Compartidos con Terceros

No vendemos, alquilamos ni comercializamos información personal. Los datos se comparten únicamente en los siguientes casos:

DestinatarioDatos compartidosPropósito
Backend de TourHub (API .NET 8)Credenciales, gastos, recibos, kilometraje, tokens pushFuncionalidad principal de la app (backend propio)
Google ML Kit (en dispositivo)Píxeles de la imagen del recibo (procesado localmente)Extracción de texto OCR en el dispositivo. Las imágenes nunca salen del dispositivo.
Expo Push Notification ServiceToken push de Expo, plataformaEntrega de notificaciones push
Google (verificación de conectividad)Solicitud HEAD sin datos personalesDetectar estado online/offline

Aclaraciones importantes:

  • El OCR de ML Kit se ejecuta completamente en el dispositivo. Ninguna imagen ni texto de recibos se envía a la nube de Google.
  • No se integran SDKs de analítica (Firebase Analytics, Sentry, Crashlytics, etc.).
  • No se utilizan SDKs de publicidad ni píxeles de rastreo.
  • No se recopilan datos de ubicación/GPS (no se solicitan permisos de ubicación).

6. Retención y Eliminación de Datos

EventoQué sucede
El usuario cierra sesiónSe eliminan todos los tokens del almacenamiento seguro, se limpia el caché de segmentos, se vacían las colas de recibos, y se desactiva el token push en el backend.
Falla la renovación del token (cierre forzado)Mismo proceso que cerrar sesión — se eliminan todos los datos locales.
Recibo confirmado o descartadoSe elimina el archivo de la foto del recibo del almacenamiento local y se remueve la entrada de la cola.
App desinstaladaTodo el almacenamiento local (secure store, AsyncStorage, sistema de archivos) es eliminado por el sistema operativo.
Solicitud de eliminación de datosEl usuario debe contactar a TourHub. La eliminación de datos del servidor es gestionada por el backend.

7. Permisos del Dispositivo

PermisoPlataformaPropósitoObligatorio
CámaraiOS y AndroidTomar fotos de recibos para escaneo de gastos. “La app necesita acceso a la cámara para tomar fotos de recibos.”Opcional
Galería de fotosiOS y AndroidSeleccionar imágenes de recibos desde la galería. “La app necesita acceso a sus fotos para adjuntar recibos de gastos.”Opcional
Notificaciones pushiOS y AndroidRecibir actualizaciones de asignaciones, recordatorios de gastos y cambios de horario.Opcional
RECORD_AUDIOSolo AndroidDeclarado en la configuración de la app (legado, no utilizado activamente).No utilizado

Permisos NO solicitados: Ubicación, contactos, micrófono (iOS), Bluetooth, datos de salud, actualización en segundo plano.

Todos los permisos opcionales se solicitan en el momento en que son necesarios y puedes revocarlos en cualquier momento desde la configuración de tu dispositivo.

8. Medidas de Seguridad

  • Tokens JWT cifrados en reposo mediante expo-secure-store (Keychain en iOS, EncryptedSharedPreferences en Android).
  • Prevención de capturas de pantalla mediante expo-screen-capture en todas las pantallas autenticadas.
  • HTTPS obligatorio en producción (HTTP solo para desarrollo local mediante NSAllowsLocalNetworking).
  • Renovación proactiva de tokens (5 minutos antes de expirar) + renovación reactiva ante respuestas 401.
  • Cierre de sesión forzado automático cuando falla la renovación del token.
  • ITSAppUsesNonExemptEncryption declarado como false (no se utiliza cifrado personalizado).
  • Control de acceso basado en roles con permisos granulares y feature flags.
  • Aislamiento completo de datos entre empresas en el backend.

9. Base Legal para el Procesamiento

  • Ejecución del contrato: El procesamiento es necesario para proveer los servicios contratados (autenticación, gestión de gastos, kilometraje, notificaciones).
  • Consentimiento: Para el acceso a cámara, galería de fotos y notificaciones push, solicitamos consentimiento explícito del usuario mediante los diálogos del sistema operativo.
  • Interés legítimo: Para garantizar la seguridad de la aplicación y prevenir acceso no autorizado.

10. Tus Derechos

Como usuario, tienes derecho a:

  • Acceso: Solicitar una copia de los datos personales que tenemos sobre ti.
  • Rectificación: Solicitar la corrección de datos inexactos o incompletos.
  • Eliminación: Solicitar la eliminación de tus datos personales del servidor.
  • Portabilidad: Solicitar tus datos en un formato estructurado y legible por máquina.
  • Retiro del consentimiento: Revocar permisos de cámara, galería y notificaciones en cualquier momento desde la configuración de tu dispositivo.

Para ejercer cualquiera de estos derechos, contáctanos a privacidad@tourhub.io.

11. Menores de Edad

TourHub Mobile no está dirigida a menores de 18 años. No recopilamos intencionalmente información personal de menores. Si descubrimos que hemos recopilado datos de un menor, los eliminaremos de inmediato.

12. Transferencias Internacionales de Datos

TourHub opera actualmente en Costa Rica. Tus datos pueden ser procesados y almacenados en servidores ubicados fuera de Costa Rica. Cuando transferimos datos internacionalmente, implementamos salvaguardas apropiadas para proteger tu información, incluyendo cifrado en tránsito (HTTPS/TLS) y medidas de seguridad técnicas.

13. Cambios a esta Política

Podemos actualizar esta Política de Privacidad periódicamente. Te notificaremos sobre cambios significativos mediante un aviso en la aplicación. La fecha de “última actualización” al inicio de este documento indica cuándo se realizó la revisión más reciente.

El uso continuado de la aplicación después de la publicación de cambios constituye tu aceptación de la política actualizada.

14. Identificadores de la Aplicación

  • Nombre: TourHub
  • Bundle ID (iOS): com.tourhub.mobile
  • Package (Android): com.tourhub.mobile
  • Idioma principal: Español
  • Mercado objetivo: Costa Rica

15. Contacto

Si tienes preguntas, inquietudes o solicitudes relacionadas con esta Política de Privacidad o el tratamiento de tus datos personales, contáctanos: