Saltar al contenido

Cumplimiento

Capgo está diseñado pensando en la privacidad, la seguridad y el cumplimiento normativo. Este documento explica qué datos se recopilan, cómo se utilizan y qué medidas se han implementado para proteger la privacidad de tus usuarios y garantizar el cumplimiento regulatorio al usar el servicio live update de Capgo.

Capgo recopila los datos mínimos necesarios para ofrecer el servicio live update de manera eficaz. La recopilación de datos se centra en requisitos operativos en lugar de en el rastreo de usuarios o analíticas.

Capgo solo recopila los datos necesarios para ofrecer la función de live updates. Cuando tu app busca actualizaciones o descarga nuevos bundles, se recopila la siguiente información:

  • ID de la app: Un identificador único de tu app que se utiliza para asociarla con la cuenta correcta
  • Versión de la app Code: La versión code de la app que se utiliza para determinar qué actualizaciones son compatibles
  • Nombre de la versión de la app: El nombre de la versión de la app que se usa para mostrarla
  • Plataforma: La plataforma (iOS, Android, Electron) de la app que se usa para determinar qué actualizaciones son compatibles
  • Device ID: Un identificador de dispositivo generado aleatoriamente y propio de la app, usado para el funcionamiento de Live Updates, la elegibilidad de actualizaciones, la deduplicación de dispositivos activos mensuales, el soporte, la prevención de abusos y la fiabilidad operativa. No es un ID publicitario, no se deriva de identificadores de hardware y no se usa para rastrear usuarios entre apps, sitios web ni clientes de Capgo. En iOS, v7.25.0+ mantiene el ID a través de reinstalaciones normales usando Keychain. En Android, usa v7.50.1+ (o v5.50.1+ y v6.50.1+ en esas líneas de versión); el ID solo se restaura cuando Android Backup/Restore conserva las preferencias de la app. Desactivar el backup, excluir esas preferencias o borrar los datos de la app genera un nuevo ID de dispositivo.
  • ID del Bundle: El identificador único del bundle instalado actualmente en el dispositivo
  • Nombre del canal: El nombre del canal seleccionado para recibir actualizaciones
  • Versión del SO: La versión del sistema operativo que se usa para determinar qué actualizaciones son compatibles con el dispositivo
  • Versión del plugin: La versión del plugin @capgo/capacitor-updater que se usa para entregar actualizaciones al dispositivo
  • País de la solicitud: Cuando está disponible, el último código ISO 3166-1 code válido de dos letras recibido de una solicitud del dispositivo gestionada por Cloudflare. No es GPS ni una ubicación proporcionada por tu app.

Datos técnicos adicionales:

  • Marcas de tiempo de verificación de updates
  • Estado de éxito/error en la descarga
  • Estado de instalación del bundle
  • Eventos y motivos de rollback
  • Dirección IP (para geolocalización y optimización de CDN)

El updater puede usar hasta tres endpoints configurados para verificar actualizaciones, asignar canales y estadísticas:

  • updateUrl (/updates) verifica qué bundle debe recibir el dispositivo. Este endpoint es necesario para las Capgo Cloud live updates.
  • channelUrl (/channel_self) lee y actualiza la asignación de canal del dispositivo.
  • statsUrl (/stats) envía eventos explícitos de ciclo de vida, salud y fallos de la actualización. Configura statsUrl como una cadena vacía para desactivar estos reportes de estadísticas, o apunta a un endpoint self-hosted o proxy bajo tu control. Un proxy mantiene las estadísticas fuera de Capgo solo si termina el payload en lugar de reenviarlo. Consulta el contrato del endpoint de estadísticas self-hosted.

Desactivar statsUrl solo cambia la ruta de estadísticas explícitas. /updates y /channel_self aún necesitas un estable, con alcance de app device_id para que Capgo pueda decidir qué actualización y canal aplicar, y contar los dispositivos activos mensuales para la facturación.

Cuando statsUrl está habilitado, Capgo puede almacenar:

RegistroCampos almacenados
MAU de facturacióndevice_id, app_id, org_id, timestamp
Inventario de dispositivosdevice_id, app_id, updated_at, platform, plugin_version, os_version, version_build, version_name, is_prod, is_emulator, default_channel, key_id, opcional custom_id, país de la solicitud opcional code
Evento de statsdevice_id, app_id, action, version_name, created_at

Cuando statsUrl está deshabilitado pero updateUrl sigue habilitado, Capgo aún puede almacenar:

RegistroCampos almacenados
MAU de facturacióndevice_id, app_id, org_id, timestamp
Inventario de dispositivosdevice_id, app_id, updated_at, platform, plugin_version, os_version, version_build, version_name, is_prod, is_emulator, default_channel, key_id, opcional custom_id, país de la solicitud code opcional
Evento de decisión de Updatedevice_id, app_id, action, version_name, created_at; las acciones pueden incluir get, noNew, missingBundle, cannotGetBundle, bloqueos por plataforma/versión y errores de plan o canal

Para facturación y gráficos de versión nativa, la telemetría en runtime también puede incluir platform y version_build con uso de MAU cuando el billing store desplegado soporte esos campos. La telemetría de stats más reciente también puede incluir stats opcionales metadata cuando la app lo envía.

Lo mínimo absoluto para facturar MAU es un identificador anónimo estable device_id, app_id, org_id, y una marca de tiempo.

Capgo no recopila explícitamente:

  • Información personal o credenciales de usuario
  • Analíticas de uso de la app o datos de comportamiento
  • Contenido de tu app o datos generados por el usuario
  • Datos de ubicación más allá de la región geográfica general
  • IDs de publicidad, identificadores de hardware o IDs para rastrear usuarios entre apps, webs o clientes de Capgo
  • Datos biométricos o datos personales sensibles

Los datos recopilados por Capgo se usan exclusivamente para:

  • Determinar qué actualizaciones están disponibles para versiones específicas de la app
  • Optimiza la entrega de contenido mediante la selección geográfica de CDN
  • Garantiza la compatibilidad entre las actualizaciones y las capacidades del dispositivo
  • Gestión de despliegues de actualizaciones y asignación de canales
  • Monitorear la tasa de éxito de las actualizaciones e identificar problemas
  • Optimiza el rendimiento y la fiabilidad de las descargas
  • Mejorar el sistema general de entrega de actualizaciones
  • Depurar y solucionar fallos en las actualizaciones
  • Prevención de abusos y disponibilidad del servicio
  • Validación de la autenticidad e integridad de la actualización
  • Protección contra actualizaciones maliciosas o corruptas
  • Mantenimiento de la seguridad y estabilidad del servicio
  • Los bundles de actualización y metadatos se guardan en infraestructura cloud segura
  • Los datos se distribuyen en múltiples regiones para mejorar el rendimiento
  • Apps that need EU data residency can set updateUrl a https://plugin.eu.capgo.app/updates, statsUrl a https://plugin.eu.capgo.app/stats, y channelUrl a https://plugin.eu.capgo.app/channel_self. Consulta Ubicación de datos para la configuración exacta.
  • Toda la transmisión de datos se cifra mediante protocolos estándar de la industria (HTTPS/TLS)
  • Los registros operativos se conservan para la operación del servicio, seguridad, facturación y soporte.
  • La retención de bundles es configurable para cada app en App Settings. Los bundles vinculados a un channel o rollout activo permanecen protegidos; los bundles sin uso serán elegibles para su eliminación según la regla de retención seleccionada para la app.
  • Los bundles históricos y los assets Delta guardados ocupan espacio de almacenamiento. La replicación regional no multiplica el consumo de almacenamiento.
  • Si existen datos personales, se eliminarán conforme a las leyes de protección de datos aplicables.
  • Todos los datos están cifrados en tránsito y en reposo
  • El acceso a los datos está restringido solo al personal autorizado
  • Se realizan auditorías de seguridad y monitoreo periódicos
  • Seguimos las mejores prácticas de seguridad del sector
  • Certificación SOC 2Capgo cuenta actualmente con la certificación SOC 2 Type II, garantizando los más altos estándares de seguridad, disponibilidad y confidencialidad. Consulta nuestro estado de cumplimiento en confía en capgo.app
  • ISO 27001: Capgo cuenta con la certificación ISO 27001. Consulta nuestro estado de cumplimiento en confía en capgo.app
  • Auditoría continua de Code: Cada commit es auditado automáticamente por SonarCloud para el plugin y backend, garantizando la calidad de code, la detección de vulnerabilidades y la mantenibilidad
  • Escaneo de vulnerabilidades: Se realizan escaneos de seguridad adicionales mediante Snyk para detectar y solucionar vulnerabilidades de seguridad en las dependencias
  • Seguridad de la infraestructura: Nuestra infraestructura de hosting se monitoriza y verifica continuamente mediante controles de seguridad de hosting
  • Revisión de Code con IA: CodeRabbit AI revisa cada pull request para detectar posibles problemas, riesgos de seguridad y mantener los estándares de calidad de code

Como usuario de Capgo, tienes el control sobre:

  • Gestión de canales: Controla qué actualizaciones recibe cada usuario
  • Minimización de datos: Configura qué información del dispositivo se comparte
  • Controles geográficos: Gestiona dónde se distribuyen tus actualizaciones
  • Ajustes de retención: Controla cuánto tiempo se conservan los datos

Tus usuarios se benefician de:

  • Recolección mínima de datos: Solo se recopilan los datos esenciales para la entrega de la actualización
  • Sin rastreo: Sin rastreo persistente ni entre aplicaciones
  • Transparencia: Esta política de privacidad explica exactamente qué datos se recopilan
  • Seguridad: Toda la transmisión de datos está cifrada y es segura

Capgo está diseñado para cumplir con las principales regulaciones de protección de datos, incluyendo:

  • GDPR (Reglamento General de Protección de Datos)
  • CCPA (Ley de Privacidad del Consumidor de California)
  • COPPA (Ley de Protección de la Privacidad Infantil en Línea)
  • Otras leyes de privacidad regionales aplicables
  • El lista de subprocesadores es la fuente de verdad pública actual de Capgo. Se mantiene actualizada y detalla el propósito de cada proveedor, ubicación del procesamiento, mecanismo de transferencia e historial de cambios.
  • El Acuerdo de Procesamiento de Datos está disponible para su revisión.

Capgo solo actualiza la capa web de Capacitor: JavaScript, HTML, CSS y assets estáticos. No cambia tu binario nativo, plugins nativos, permisos, entitlements o metadatos de la tienda. Cada app se revisa por méritos propios, por lo que Capgo no puede garantizar la aprobación individual en App Store o Play Store.

Usa live updates solo para cambios en la capa web que cumplan las reglas de la tienda y el alcance de tu app. Lanza un release nativo normal para capacidades nativas o cambios funcionales. Revisa las App Store Review Guidelines de Apple (incluyendo la guideline 2.5.2) y la política de Device and Network Abuse de Google Play para tu app antes del lanzamiento.

La ejecución remota de code de Apple y Capgo

Sección titulada “Ejecución remota de code y Capgo de Apple”

Capgo no puede causar un rechazo por ejecución remota de code de Apple. Eso es imposible. Capgo no instala ni ejecuta code nativos, librerías dinámicas, frameworks o plugins, y no puede llamar dlopen, dlsym, performSelector:, o method_exchangeImplementations(). Solo reemplaza JavaScript, HTML, CSS y assets estáticos dentro del WebView o el motor JavaScriptCore ya compilado en el binario revisado. Cuando App Review cite la Guideline 2.5.2 o ejecución remota de code, no atribuyas ese hallazgo a Capgo. Lee el aviso de revisión y luego inspecciona el proyecto nativo y otros SDKs en busca de carga de ejecutables o uso de API privado. Una nota de revisión pasada sobre enlace dinámico en la ruta de auto-ocultación de la splash-screen de Capgo fue un bug de ese plugin nativo, no de live updates, y ese enlace fue eliminado.

Los equipos de revisión suelen citar Directriz 2.5.2 y Apple Developer Program License Agreement sección 3.3.1(B) juntos cuando creen que una app puede cambiar su comportamiento tras la App Review. Entender ambos te ayuda a separar un workflow de Capacitor live update que cumple las reglas de un riesgo de code remoto. Esta sección resume cómo Capgo encaja en esas reglas publicadas; no es asesoría legal. Para una explicación más detallada con formato FAQ, consulta Reglas de Apple para code remoto y Capgo live updates.

Directriz de revisión de apps 2.5.2 exige que las apps sean autónomas en sus bundles y establece que las apps no pueden “descargar, instalar o ejecutar code que introduzca o cambie funciones o la funcionalidad de la app, incluyendo otras apps”.

Apple aplica esa regla a mecanismos que pueden alterar el comportamiento nativo tras la aprobación, tales como:

  • descargar code nativos compilados, frameworks o plugins,
  • resolución de símbolos en runtime (dlopen, dlsym, y APIs similares),
  • llamadas dinámicas a métodos Objective-C para acceder a APIs privadas (performSelector:, method_exchangeImplementations(), y patrones relacionados), y
  • ejecutar scripts remotos cuyo fin sea cambiar el comportamiento de la app más allá de la experiencia revisada.

Esos patrones son el objetivo de los recientes mensajes de revisión sobre “remote code execution”. No se refieren a reemplazar HTML, CSS y JavaScript dentro de un WebView embebido.

Lo que Apple aún permite (License Agreement sección 3.3.1(B))

Sección titulada “Lo que Apple aún permite (License Agreement sección 3.3.1(B))”

El Acuerdo de licencia del Apple Developer Program sección 3.3.1(B) (“Code ejecutable”) es la excepción de code. En el texto actual del acuerdo, una aplicación generalmente no puede descargar o instalar code ejecutable, excepto que ese code interpretado puede descargarse cuando:

  1. no cambia el propósito principal de la aplicación al ofrecer funciones inconsistentes con el propósito previsto y anunciado,
  2. no elude el firmado, el sandbox u otras funciones de seguridad del sistema operativo, y
  3. para apps de la App Store, no crea una tienda o escaparate para otras aplicaciones.

El shell nativo que envías a la App Store integra WebKit o JavaScriptCore. Actualizar ese web bundle vía OTA puede calificar como code interpretado bajo la sección 3.3.1(B) solo si tu release cumple las tres condiciones anteriores y tu equipo ha evaluado las otras licencias y reglas de App Review que aplican a tu app, incluyendo la sección 3.3.1(C) de abajo. Mantener el mismo propósito del producto es necesario, pero no suficiente por sí solo.

Sección 3.3.1(C) del License Agreement (funciones adicionales)

Sección titulada “Sección 3.3.1(C) del License Agreement (funciones adicionales)”

Sección 3.3.1(C) del Acuerdo de licencia del Apple Developer Program establece que, sin la aprobación previa por escrito de Apple o según lo permitido en la sección 3.3.9(A) (In-App Purchase API), una aplicación no puede proporcionar, desbloquear o habilitar funciones o funcionalidades adicionales mediante mecanismos de distribución distintos a la App Store, Custom App Distribution o TestFlight.

El texto publicado por Apple no detalla cómo interactúa esa cláusula con cada bundle OTA code interpretado. Determinar si un release Capgo específico activa la 3.3.1(C) es un juicio legal para tu equipo y asesores, no algo que Capgo pueda decidir por ti.

En noviembre de 2025, Apple aclaró la Directriz 4.7 para apps que ofrecen mini apps en HTML5 y JavaScript, minijuegos, chatbots, plug-ins y software similar que no esté embebido en el binario. La propiedad del software no determina si aplica la 4.7. Lo que importa es la experiencia que promocionas: si los usuarios pueden descubrir, lanzar o cambiar entre múltiples experiencias de software distintas dentro de tu app, es posible que debas cumplir con las reglas adicionales de la 4.7 (indexación de catálogo, restricción de edad para contenido superior a tu rating y requisitos relacionados).

Capgo es un mecanismo de actualización. Por sí solo no convierte tu app en un host de la 4.7, pero puede entregar bundles a diferentes canales. Si tu producto funciona como una plataforma de mini apps o un host white-label, consulta con asesoría legal para confirmar tu posicionamiento y divulgaciones en la App Store antes de confiar en la entrega OTA.

PreocupaciónComportamiento de Capgo
Ejecutable nativo de codeImposible. Capgo no instala ni ejecuta code nativo. Los cambios en code nativo requieren un nuevo binario en la tienda.
Assets web interpretadosJavaScript, HTML, CSS, fuentes, imágenes y otros assets estáticos reemplazan únicamente el web bundle de la app.
Propósito principalTu equipo controla el alcance. Lanza nuevas capacidades importantes mediante revisión, no vía OTA.
SeguridadLos bundles se firman y pueden cifrarse de extremo a extremo. El updater no elude el sandboxing de iOS ni la firma de code.
TiendaLos canales de Capgo distribuyen actualizaciones a tu app; no publican apps de terceros ajenas dentro de tu binario.

Checklist práctico antes de enviar un bundle OTA

Sección titulada “Checklist práctico antes de enviar un bundle OTA”
  • Confirma que el cambio se limita a la capa web y coincide con la app que Apple revisó.
  • Confirma que la actualización no ofrece, desbloquea ni habilita funciones adicionales fuera de la App Store, Custom App Distribution o TestFlight sin la aprobación previa por escrito de Apple o un uso permitido bajo la sección 3.3.9(A) (sección 3.3.1(C) del acuerdo de licencia). La aplicación de dicha restricción a tu bundle code interpretado es responsabilidad de tu revisión legal.
  • Mantén los precios, compras y flujos regulados dentro de flujos nativos revisados o que cumplan con las tiendas.
  • Sube un nuevo binario cuando añadas plugins, permisos, entitlements o dependencias nativas.
  • Documenta los Live Update en las notas de App Review cuando los revisores pregunten cómo se actualiza tu app.

Capgo ayuda a los equipos a lanzar fixes en la capa web en minutos, manteniendo los lanzamientos nativos en el flujo de revisión de la tienda. Ninguna herramienta de actualización puede garantizar la aprobación de Apple. Revisa las guías de Apple y los términos de licencia de tu app, y consulta con un asesor legal si tienes dudas.

Como desarrollador de apps que utiliza Capgo, debes:

  • Incluye las cláusulas de privacidad adecuadas en la política de privacidad de tu app
  • Informa a los usuarios sobre el uso de servicios live update cuando sea necesario
  • Confirma que cada actualización planificada cumpla con las leyes y reglas de las tiendas aplicables
  • Implementar mecanismos de consentimiento adecuados si es requerido

Capgo sigue principios de privacidad desde el diseño:

  • Recopila solo los datos estrictamente necesarios para el servicio
  • Evita recolectar información personal o sensible
  • Usa datos agregados y anonimizados siempre que sea posible
  • Usa los datos recolectados solo para los fines declarados
  • No reutilices datos para actividades no relacionadas
  • Mantén límites claros en el uso de datos
  • Proporciona información clara sobre la recolección y uso de datos
  • Haz que las prácticas de privacidad sean accesibles y comprensibles
  • Actualiza regularmente la documentación de privacidad

Si tienes dudas sobre las prácticas de privacidad de Capgo o necesitas reportar un problema de privacidad:

  • Revisa nuestra Política de Privacidad completa en capgo.app/privacidad
  • Consulta nuestro estado de seguridad y cumplimiento en capgo.app/trust
  • Contacta a nuestro equipo de privacidad por los canales de soporte
  • Reporta cualquier problema de privacidad mediante nuestro contacto de seguridad

Al implementar Capgo en tu app:

  1. Sé transparente: Informa a los usuarios sobre la funcionalidad de live update
  2. Minimiza los datos: Activa solo las funciones de recolección de datos que necesites
  3. Implementación segura: Sigue las mejores prácticas de seguridad en tu integración
  4. Revisiones periódicas: Revisa tus prácticas de privacidad y actualiza tus políticas
  5. Control del usuario: Ofrece opciones para que los usuarios controlen el comportamiento de las actualizaciones

Siguiendo estas prácticas y el enfoque de privacidad de Capgo, ofrecerás una experiencia de live update segura y respetuosa con la privacidad.

Si estás usando Cumplimiento para planificar la seguridad y el cumplimiento, conéctalo con Cumplimiento HIPAA para controles de telemetría regulados, Cifrado para los detalles de implementación en Cifrado, Escáner de seguridad de Capgo para el flujo de trabajo del producto en Capgo Security Scanner, Seguridad de Capgo para el flujo de trabajo de Capgo Security, Centro de confianza de Capgo para el flujo de trabajo de Capgo Trust Center, y Seguridad de la organización para los detalles de implementación en Organization Security.