En resumen
Cifrado en tránsito
Todo viaja por HTTPS con TLS 1.2 o superior.
Verificación en dos pasos
Con cualquier app de autenticación compatible (TOTP).
Roles y clave de supervisor
El cajero solo vende; las acciones delicadas piden autorización.
Bitácora de auditoría
Ventas, devoluciones, cierres y cambios quedan con nombre y hora.
Cada empresa aislada
Una empresa nunca ve la información de otra.
Copias de respaldo diarias
En la nube de Microsoft Azure.
Cifrado en tránsito
- El sitio, la caja y la API solo funcionan por HTTPS, con TLS 1.2 o superior.
- El servidor envía la cabecera HSTS (Strict-Transport-Security) para que el navegador nunca use una conexión sin cifrar.
- La cookie de sesión es
Secure: solo viaja por conexiones cifradas.
Acceso a la cuenta
- Contraseñas: mínimo 10 caracteres, con letras y números. Nunca se guardan: se guarda solo una huella calculada con PBKDF2-SHA256 (210.000 iteraciones y sal aleatoria).
- Verificación en dos pasos: códigos de un solo uso (TOTP) compatibles con cualquier app de autenticación (TOTP), con códigos de recuperación. Un mismo código no se acepta dos veces.
- Límite de intentos: el ingreso se bloquea temporalmente tras varios intentos fallidos, por dirección IP y por correo. El mensaje de error es el mismo exista o no la cuenta.
- Sesiones: firmadas por el servidor y válidas por 12 horas, en una cookie
HttpOnlyySameSite=Strictque ningún script puede leer. Cerrar sesión la revoca y cambiar la contraseña cierra las demás sesiones. - Peticiones desde otros sitios: toda operación que cambia datos verifica que venga del propio sitio; las demás se rechazan.
Roles y permisos
Cada usuario entra con su propia cuenta y el servidor verifica su rol en cada operación, no solo en la pantalla.
| Rol | Puede | No puede |
|---|---|---|
| Propietario | Todo: usuarios, cajas, medios de pago, numeración, DIAN, clave de supervisor, conectores y reportes. | — |
| Contador | Configuración contable, tributaria y de la caja, conectores y reportes; administra usuarios. | Cambiar o retirar propietarios. |
| Auxiliar | Vender y manejar su turno de caja. | Configurar la caja, ver reportes del POS ni cambiar la clave de supervisor. |
| Cajero | Vender, abrir y cerrar su turno. | Ver costos, contabilidad, configuración u otros módulos. |
Cada ruta de la aplicación declara qué permiso exige, y antes de cada publicación una prueba automática verifica que ninguna quede abierta sin control.
Clave de supervisor
El propietario o el contador definen una clave numérica de 4 a 8 dígitos que el cajero o el auxiliar necesitan para:
- Hacer devoluciones
- Dar descuentos mayores al 20 %
- Cambiar el precio de un producto
- Sacar o meter plata de la caja
La clave se guarda solo como huella con sal, se compara en el servidor y nunca se envía a la caja. Cada uso queda en la bitácora.
Bitácora de auditoría
Barona POS registra, con el usuario y la hora: ventas (indicando si se hicieron sin conexión), devoluciones, aperturas y cierres de turno con la diferencia del arqueo, ingresos y retiros de dinero, abonos a fiado, cambios de configuración, de numeración y de productos, cambios de la clave de supervisor y envíos a los conectores contables. El propietario y el contador pueden consultarla.
Aislamiento de datos por empresa
La información de cada empresa se guarda por separado y cada petición se valida contra las empresas a las que pertenece el usuario. Las pruebas automáticas de seguridad verifican, antes de cada publicación, que un usuario de una empresa no pueda ver ni modificar datos de otra.
Certificados, PIN y llaves cifrados
Los secretos se guardan cifrados con AES-256-GCM y nunca se devuelven al navegador:
- El certificado de firma digital (.p12) de la empresa y su contraseña.
- El PIN del software registrado ante la DIAN.
- Las credenciales y llaves de los conectores con Siigo, Alegra y demás software contable.
- Las claves de la verificación en dos pasos.
En la aplicación solo se muestra si un secreto está configurado, nunca su valor.
Protección del sitio y de la aplicación
- Política de seguridad de contenido (CSP) estricta: sin scripts ni estilos en línea y sin recursos de otros dominios.
- Cabeceras de seguridad: el sitio no puede mostrarse dentro de otro (anti-clickjacking), el navegador no adivina tipos de archivo, se limita la información de referencia y se restringen los permisos del navegador. Solo la caja puede pedir acceso a USB, puerto serie, Bluetooth y a la segunda pantalla.
- Código de la aplicación protegido: el código de la caja solo se entrega a usuarios con sesión, con un permiso de un solo uso.
- Pruebas automáticas de seguridad antes de cada publicación.
Copias de respaldo e infraestructura
Barona POS funciona en la nube de Microsoft Azure. La información se respalda con copias diarias que se guardan por separado de la aplicación.
Datos en el equipo de caja
Para vender sin internet, la caja guarda en el navegador las ventas pendientes, el catálogo y la sesión del usuario (sin contraseña). Mientras no se sincronizan, esas ventas solo existen en ese equipo. Por eso recomendamos usar como caja equipos bajo tu control, con usuario y contraseña del sistema operativo, y no borrar los datos del navegador mientras haya ventas pendientes. El detalle está en la Política de cookies y almacenamiento local.
Barona Conector de Caja
El programa para Windows que abre el cajón, imprime y lee la balanza está diseñado para no abrir puertas a la red:
- Escucha solo en el propio equipo (
localhost/127.0.0.1, puerto 17777). No abre puertos hacia la red ni necesita reglas de firewall, y rechaza conexiones que no vengan de la misma máquina o que usen otro nombre de equipo. - Solo responde a las páginas autorizadas de Barona POS; cualquier otro sitio web recibe un rechazo.
- Se empareja con un código de 6 dígitos de un solo uso que se ve en el ícono junto al reloj de Windows. Tras 5 intentos fallidos se bloquea 5 minutos.
- Las llaves de emparejamiento se guardan en el equipo como huellas HMAC-SHA256, nunca en claro, y la del navegador no se envía a los servidores de Barona.
- No necesita permisos de administrador, y su registro de eventos no guarda llaves ni el contenido impreso.
- Desde su menú puedes desemparejar todos los navegadores en un clic.
Lo que te toca a ti
- Activa la verificación en dos pasos, sobre todo en las cuentas de propietario y contador.
- Crea un usuario por persona; nunca compartas contraseñas entre cajeros.
- Elige una clave de supervisor que los cajeros no conozcan y cámbiala si alguien deja el negocio.
- Mantén actualizados el sistema operativo y el navegador del equipo de caja, y usa un antivirus.
- Revisa a diario los cierres de caja y la bitácora.
- No compartas el archivo de configuración del Conector de Caja: contiene el secreto de los emparejamientos.
Reporte responsable de vulnerabilidades
Si encuentras una falla de seguridad en Barona POS, escríbenos a info@baronaenterprise.com con el asunto "Seguridad – Barona POS". Incluye la descripción, los pasos para reproducirla y su posible impacto. Te confirmaremos el recibo y te mantendremos informado mientras lo corregimos.
Te pedimos que actúes de buena fe: no accedas, modifiques ni borres datos de otras personas o empresas; no hagas pruebas de denegación de servicio, ingeniería social ni ataques físicos; usa solo cuentas propias de prueba; y danos un plazo razonable para corregir antes de divulgar la falla. Si cumples estas condiciones, no emprenderemos acciones en tu contra por tu investigación.