Sus datos se manejan con controles de aislamiento
ContaBuz Pro separa la operación por estudio, protege sesiones con firma HMAC y cifra credenciales SOL antes de almacenarlas. Esta página explica los controles actuales sin presentarlos como certificación externa de seguridad.
Aislamiento por estudio
La aplicación trabaja con contexto de tenant/estudio y stores separados para datos operativos. Las rutas protegidas requieren sesión válida.
Credenciales SUNAT cifradas
Claves SOL cifradas con AES-256-GCM antes de guardarse. No se diseñan pantallas para revelar claves en texto claro.
Sesiones HMAC firmadas
Cookies de sesión firmadas con HMAC-SHA256 y protegidas con controles de expiración y validación en middleware.
Cómo reducimos el riesgo entre estudios
El sistema combina controles de aplicación, sesión y almacenamiento. El objetivo es que cada estudio opere con su propio contexto y que las rutas sensibles fallen cerradas si la sesión no es válida.
1. Middleware de autenticación fail-closed
Las rutas privadas dependen de una sesión válida firmada con HMAC-SHA256. Si la cookie falta, expira o fue modificada, el acceso se rechaza antes de cargar el panel.
Este control está implementado en middleware y evita confiar solo en validaciones del cliente.
2. Stores operativos separados por módulo
La operación combina SQLite para datos SIRE y archivos JSON para otros módulos. Las APIs aplican contexto de estudio/cliente antes de leer o escribir información.
data/sire.db ← compras y ventas SIRE data/contabuz-pro-2/*.json ← clientes, cartera y configuración config/*.local.json ← credenciales locales no versionadas
Las credenciales y archivos locales sensibles no se versionan y no deben publicarse en el repositorio.
3. Credenciales SOL cifradas
Las credenciales SUNAT se cifran con AES-256-GCM en servidor antes de guardarse. El diseño evita mostrarlas nuevamente en texto claro dentro de la interfaz.
Ataques que nos preocupan y cómo nos defendemos
| Ataque | Defensa |
|---|---|
| Modificar cookie con tenantId ajeno | Cookie firmada HMAC-SHA256 — falsificación rechazada (401) |
| Olvidar filtro WHERE tenant_id en query | Validación de sesión y contexto en APIs antes de leer o escribir datos |
| SQL injection | Prepared statements en better-sqlite3 + pg, sin concatenación |
| Path traversal en nombres de tenant | Sanitización regex [^a-zA-Z0-9_-] antes de tocar disco |
| Sesión robada por XSS | Cookies HttpOnly y validación de sesión del lado servidor |
| CSRF en formularios | Rutas sensibles protegidas por sesión y controles server-side |
| Brute force en login | Rate limiting en rutas sensibles y monitoreo de intentos |
| Backup filtrado físicamente | No versionar archivos sensibles; cifrado de credenciales SOL |
| Bot scrappers consumiendo recursos | robots.txt bloquea 16 scrappers + rate limit por IP |
Cumplimiento Ley de Protección de Datos Personales (Perú)
ContaBuz Pro está diseñado para apoyar un tratamiento responsable de datos personales bajo la Ley 29733 y su reglamento (D.S. 003-2013-JUS). La implementación debe revisarse según el contrato y uso concreto de cada estudio:
- Cifrado AES-256-GCM para credenciales sensibles (claves SOL SUNAT)
- Conservación según Art. 87 TUO Código Tributario: 5 años mínimo
- Derechos ARCO (Acceso, Rectificación, Cancelación, Oposición) ejercitables
- Cookies estrictamente técnicas — sin tracking publicitario
- Audit log estructurado de accesos sensibles
Reporta una vulnerabilidad
Si encuentras un problema de seguridad, te lo agradecemos. Por favor reporta a través de WhatsApp o correo. Priorizamos:
- Confirmación del reporte lo antes posible
- Revisión prioritaria de severidades críticas
- Crédito público (opcional) si lo deseas
Documentación técnica disponible
Si trabajas con clientes con requisitos enterprise, podemos compartir más detalle técnico bajo NDA. No declaramos auditoría externa, ISO 27001 ni SOC 2 mientras no exista evidencia pública verificable.