La seguridad no es un panel. Es la arquitectura.
Un tenant, una base de datos. Secretos en Azure Key Vault. Eventos de auditoría que ni un ingeniero con acceso directo puede modificar. La postura de seguridad está en el esquema, no en una política de Confluence.
Lo que sostiene la postura
SOC 2 Type I en curso
Controles de seguridad auditados por un tercero independiente. Mapeo directo a <code>CC6.1</code>, <code>CC7.2</code>, <code>CC8.1</code>, <code>A1.2</code> y <code>P1/P3</code>. Evidencia generada por el sistema, no por capturas manuales.
Base de datos por tenant
Cada cliente vive en su propia base. Sin filas compartidas, sin riesgo de fuga cross-tenant por un bug de <code>WHERE</code>. El offboarding del cliente elimina la base — no un soft-delete.
En reposo y en tránsito
AES-256 en reposo sobre la base; TLS 1.2+ en tránsito entre cliente, aplicación y SQL. Cadenas de conexión y credenciales rotadas desde <code>Key Vault</code> — nunca en código.
Por qué la historia no se puede reescribir
La evidencia de auditoría vive en dos registros paralelos administrados por el motor SQL, no por la aplicación. El principio es simple: un sistema que confía en el código de aplicación para bloquear escrituras no es defendible bajo SOC 2. Un ingeniero con acceso a la base podría alterar la historia. Nosotros cerramos esa puerta en el motor.
- Temporal tables. Cada entidad de negocio mutable mantiene su propia tabla histórica en SQL Server. Cada UPDATE deja una fila con
ValidFrom/ValidTo. Es transparente al código de aplicación. AuditEventsappend-only. Una tabla append-only para eventos de negocio discretos — "factura posteada", "período cerrado", "permiso otorgado". El principalapp_rwtieneDENY UPDATE/DELETE. Soloaudit_adminpuede purgar.- Investigación auditada. Las consultas de soporte pasan por
readonly_investigator, un principal separado. Cada consulta queda registrada enAuditEvents. Nadie mira la base "de pasada".
Su equipo de seguridad tendrá preguntas.
Le respondemos su SIG Lite, CAIQ o cuestionario de vendor review en una reunión de 30 minutos, con evidencia concreta.