kovakova

Seguridad

Cómo protegemos tu negocio

Última actualización: 25 de mayo de 2026

Kova maneja la operación de tu PyME: ventas, inventario, turnos, y datos de tus clientes. Esta página explica con honestidad cómo cuidamos esa información durante la beta y qué puedes esperar de nosotros.

Aislamiento por inquilino

Cada negocio (tenant) en Kova vive en un espacio lógico aislado. Aplicamos dos capas de aislamiento que se refuerzan entre sí:

Capa de aplicación: cada petición a la API valida tu sesión, identifica tu tenant y pasa ese identificador explícitamente a la base de datos para filtrar resultados.

Capa de base de datos: PostgreSQL aplica políticas Row-Level Security (RLS) en todas las tablas con datos comerciales. Incluso si la capa de aplicación tuviera un bug, RLS impide que una consulta sin tenant_id devuelva renglones de otro negocio.

Sesiones y cookies

Tu sesión vive en cookies HttpOnly (no accesibles por JavaScript), marcadas Secure (solo HTTPS) y SameSite=Lax (no se envían en navegaciones cross-site).

Tokens: access token de 15 minutos (JWT firmado HS256) y refresh token opaco de 30 días almacenado como SHA-256 en la base. No usamos localStorage para credenciales.

Protección CSRF: las peticiones de escritura llevan un token de doble verificación (cookie csrf_token + header X-CSRF-Token) que el servidor compara en tiempo constante. Los webhooks de Stripe se validan por firma; no por cookie.

Contraseñas: se almacenan con hash bcrypt; nunca en texto plano.

Respaldos y recuperación

Tomamos respaldos completos diarios de la base de datos (pg_dump) y los subimos a Cloudflare R2 con retención de 7 días.

El workflow se ejecuta automáticamente cada noche y se verifica al terminar. Si una corrida falla, recibimos alerta.

Practicamos restauración: documentamos el procedimiento en docs/runbooks/restore-supabase-backup.md y lo ejercitamos antes de habilitar billing en vivo.

Monitoreo de disponibilidad

Monitoreamos tres puntos críticos con UptimeRobot: el frontend (kovasuite.com), la API (api.kovasuite.com/health) y la API + base (api.kovasuite.com/health/db).

Si alguno cae, recibimos alerta inmediata. Reportes públicos y SLA formal son parte del trabajo posterior a la beta inicial.

Separación de pagos

Kova no procesa los pagos que tus clientes hacen en tu mostrador. Esos cobros (efectivo, transferencia, tarjeta manual) se registran en el POS, pero el dinero nunca pasa por Kova.

Lo único que cobra Kova es tu suscripción mensual al SaaS, y ese cargo lo procesa Stripe directamente. Kova nunca recibe ni almacena los datos de tu tarjeta: Stripe los tokeniza.

Lo que esperamos de ti

Usa contraseñas largas (12+ caracteres) y únicas. Si compartes acceso con tu equipo, dales su propio usuario en Configuración → Empleados con el rol mínimo necesario.

Cierra sesión al terminar el turno en equipos compartidos. La sesión expira sola, pero el cierre explícito es más rápido.

Avísanos de cualquier comportamiento extraño en posprojectsupport@gmail.com con el asunto 'Seguridad Kova'.

Qué esperar como tenant en beta

Estamos en beta privada controlada. Esto significa: estabilidad sobre cantidad de funciones, despliegues frecuentes con pruebas, contacto directo con el equipo y compromiso de comunicar cualquier incidente que afecte tu operación.

No garantizamos disponibilidad ininterrumpida durante la beta. Kova incluye modo offline para que la caja siga funcionando si la red falla.

Si descubres una vulnerabilidad, escríbenos antes de divulgarla públicamente. Coordinaremos un parche y te reconoceremos el reporte.

Soporte

Canal único durante beta: posprojectsupport@gmail.com. Respondemos en horario hábil de México (lun-vie, 9:00 a 19:00 CDMX). Incidentes que rompan tu operación se atienden con prioridad alta.