Seguridad de la plataforma
Resumen para clientes: cómo se protegen el acceso, los datos, los pagos y los respaldos, y qué no cubrimos hoy
Antes de empezar
Esta página describe las medidas de seguridad que están implementadas hoy en la plataforma. No es una lista de intenciones: cada punto corresponde a un mecanismo que ya opera en producción. Una aclaración importante: ningún proveedor puede garantizar que un sistema sea imposible de vulnerar, y quien lo prometa está exagerando. Lo que sí podemos describir con precisión es cómo está construida la defensa, qué pasa si algo falla y cómo se recupera la información. Vigente a octubre de 2026.
1. Acceso e identidad
Toda entrada a los datos de una cuenta pasa por una identidad verificada por el servidor.
Contraseñas
Nunca se guardan en texto plano ni de forma reversible: se almacenan con bcrypt, un algoritmo diseñado para que adivinarlas sea lento a propósito. Ni siquiera nosotros podemos leer la contraseña de un usuario.
Panel web
La sesión se emite como una cookie firmada por el servidor, con caducidad definida. También existe inicio de sesión con Google, para que la contraseña ni siquiera pase por la plataforma.
Apps móviles
Toda llamada a la API que toca datos de una cuenta (viajes, perfil, monedero, pagos) exige un token firmado por el servidor. Sin token válido, o con uno alterado o vencido, la petición se rechaza antes de llegar a los datos.
Roles y permisos
Además de los niveles de rol (administrador de la plataforma, administrador de la empresa y usuario de la empresa), cada usuario puede tener permisos granulares por módulo (viajes, conductores, monederos, reportes, documentos, facturación, configuración, entre otros), asignables uno a uno desde el panel. Un operador ve lo que se le habilitó y nada más.
2. Aislamiento entre empresas
Cada empresa opera sobre su propio identificador, presente en las tablas del modelo de datos. La gran mayoría de los endpoints de la API trabajan con ese identificador (lo usan más de 1.400 de unos 1.900 archivos de ruta), y hay pruebas automatizadas dedicadas a comprobar que un usuario de una empresa no alcanza datos de otra. Una empresa no ve conductores, viajes, clientes, tarifas ni finanzas de ninguna otra.
3. Datos de pago
El cobro con tarjeta lo ejecuta siempre el procesador de pagos, que es quien está certificado para manejar datos de tarjeta.
No guardamos números de tarjeta ni códigos de seguridad
El registro de un método de pago guarda únicamente el token que devuelve el procesador, los últimos cuatro dígitos y la marca. No existe en la base de datos ninguna columna capaz de contener un número de tarjeta completo.
Avisos de pago firmados
Los avisos que llegan desde los procesadores se validan por firma criptográfica (con comparación en tiempo constante, para no filtrar información por el tiempo de respuesta) antes de que modifiquen ningún saldo o estado.
4. Cifrado
Los datos viajan cifrados, y algunas de las credenciales que nos confían los clientes se guardan además cifradas a nivel de aplicación.
En tránsito
Todo el tráfico entre las apps, el panel y nuestros servidores viaja sobre HTTPS/TLS; una petición por HTTP sin cifrar se redirige a HTTPS.
Llaves de notificaciones de Apple
Las llaves de notificaciones push de Apple que nos confían los clientes se guardan cifradas con AES-256-GCM a nivel de aplicación, cada una con su propio vector de inicialización y etiqueta de autenticidad. No quedan en claro en la base de datos.
Secretos fuera del código
Los secretos de configuración viven fuera del código: los archivos de entorno están excluidos del control de versiones, de modo que no viajan en el repositorio.
5. Respaldos y recuperación
La base de datos de producción se respalda por varias vías independientes, todas guardadas fuera del servidor que la aloja. Contamos lo que hay hoy y también sus límites.
Recuperación a un punto en el tiempo
Los cambios de la base de datos se archivan de forma continua (como mínimo una vez por minuto) en un almacenamiento externo y cifrado, junto con una copia completa semanal y una copia diferencial diaria. Con eso la base se puede devolver al estado que tenía en un momento concreto dentro de la ventana que se conserva, que hoy es de una a dos semanas hacia atrás según el día de la semana.
Copia completa diaria en otro proveedor
Además, cada día se genera una copia completa de la base y se guarda, con versiones, en el almacenamiento de otro proveedor. Se conservan las copias de los últimos días (la regla configurada guarda cuatro). El servidor las sube con una credencial de uso restringido, pensada para subir y leer y no para borrar.
Una tercera copia, desde otra nube
Cada noche, un servidor en otra nube extrae también una copia de la base y la guarda en un tercer proveedor. En esta revisión comprobamos que esa extracción se sigue ejecutando cada noche, pero no su retención ni su protección contra el borrado.
Restauración
El 2 de octubre de 2026 se restauró la base de datos completa en un servidor nuevo a partir de la copia continua, con los mismos datos que producción. Es la última prueba completa: no la hemos repetido desde entonces. En octubre de 2026 también se comprobó la integridad de los archivos de la copia continua.
Lo que no afirmamos
No presentamos estas copias como inmutables: no hemos verificado que el almacenamiento impida borrarlas por otra vía. Tampoco comprometemos cuánto tardaría una restauración.
6. Registro y trazabilidad
Las operaciones sensibles quedan registradas con fecha, actor y detalle: histórico de cambios de estado de cada viaje, movimientos de monedero, cambios de estado de pedidos y reservas, y operaciones sobre credenciales de publicación (qué usuario las cargó o modificó, cuándo y qué valor cambió). Los errores de las apps y del backend se registran de forma centralizada, se clasifican y se les da seguimiento hasta la versión donde quedan corregidos.
7. Datos personales de pasajeros y conductores
La plataforma incluye herramientas para que cada empresa trate con cuidado los datos de sus usuarios.
Eliminación de cuenta desde la app
La cuenta se desactiva y los datos personales (nombre, correo, teléfono, foto e identificadores de inicio de sesión social) se anonimizan. El histórico operativo se conserva desligado de la persona, por obligaciones contables y de trazabilidad del servicio.
Enmascaramiento de teléfonos
Configurable por empresa: cuando está activo, ni el pasajero ni el conductor ven el número real del otro en la app.
Conductor vinculado a un dispositivo
Con histórico de dispositivos y cambio sujeto a aprobación de un administrador. Reduce el uso compartido de cuentas y deja rastro de cada cambio de equipo.
Política de privacidad propia
Cada empresa publica su propia política de privacidad desde la plataforma, con su identidad y sus datos de contacto.
8. Cómo llegan los cambios a producción
Ningún cambio se despliega sin pasar una tubería automática: análisis estático, verificación de tipos, control de consistencia del esquema de base de datos y la suite de pruebas automatizadas (miles de archivos de prueba que cubren registro, viajes, pagos y monederos de punta a punta). Si algo falla, el despliegue no ocurre. Además aplicamos menor privilegio interno: las herramientas de diagnóstico acceden a la base de datos con credenciales de solo lectura, y cualquier escritura pasa por los endpoints de la aplicación, que validan y dejan rastro.
Qué no cubrimos hoy
Preferimos decirlo antes de que nos lo pregunten.
Sin certificaciones propias
No tenemos SOC 2, ISO 27001 ni PCI-DSS propias. La certificación PCI-DSS la aporta el procesador de pagos; nosotros no manipulamos datos de tarjeta, precisamente por eso.
Sin segundo factor (MFA) en el panel
El acceso es por contraseña o por cuenta de Google. Hoy no existe un segundo factor.
Sin prueba de penetración externa
No hemos realizado una prueba de penetración externa formal ni tenemos programa de recompensas por vulnerabilidades.
Sin centro de monitoreo de seguridad dedicado
No hay correlación automática de eventos de seguridad. Lo que sí existe es monitoreo continuo de errores y disponibilidad, con revisión diaria.
Sin opciones a medida por defecto
No ofrecemos por defecto residencia de datos en un país específico, cifrado con llave gestionada por el cliente ni acuerdos de tratamiento de datos a medida. Se pueden evaluar caso por caso, pero no vienen incluidos.
Sin promesas de invulnerabilidad
Ninguna plataforma seria lo hace.
Cuestionarios de seguridad
La disponibilidad del servicio y cómo exportar tus datos están en la página pública Seguridad, respaldos y disponibilidad (cabgo.app/seguridad). Si el equipo técnico de tu empresa o de tus clientes necesita responder un cuestionario de seguridad más detallado, lo atendemos por escrito por los canales habituales de soporte. Esta página se actualiza conforme evoluciona la plataforma.