Zero Trust en instituciones de seguridad: lo que aprendí en el SPB
12 años en el sistema penitenciario me enseñaron que la confianza debe ganarse y verificarse constantemente. Así aplico estos principios al desarrollo de software.
El principio fundamental
En mi experiencia en el Sistema Penitenciario Bonaerense aprendí algo que la industria tech llama “Zero Trust”: nunca confíes, siempre verifica.
Cada puerta tiene un protocolo. Cada movimiento se registra. Cada acceso se autoriza individualmente. No importa si sos el director o un agente nuevo: el sistema te trata igual.
Aplicando Zero Trust al desarrollo
Cuando desarrollo sistemas para instituciones críticas, aplico estos mismos principios:
1. Verificación continua
No basta con autenticarse una vez. Cada operación sensible requiere re-verificación.
async function performCriticalOperation(userId: string, operation: Operation) {
// Verificar sesión activa
const session = await verifyActiveSession(userId);
// Verificar permisos para esta operación específica
const hasPermission = await checkOperationPermission(userId, operation);
// Registrar intento antes de ejecutar
await auditLog.record({
userId,
operation,
timestamp: new Date(),
status: 'attempted'
});
if (!session || !hasPermission) {
throw new UnauthorizedError();
}
// Ejecutar y registrar resultado
const result = await operation.execute();
await auditLog.record({
userId,
operation,
timestamp: new Date(),
status: 'completed',
result
});
return result;
}
2. Mínimo privilegio
Cada usuario tiene exactamente los permisos que necesita. Ni más, ni menos.
3. Auditoría total
Todo queda registrado. Quién, qué, cuándo, desde dónde.
Conclusión
Los sistemas que no pueden fallar requieren un enfoque diferente. La experiencia en instituciones de seguridad enseña que la confianza no es un estado, es un proceso continuo de verificación.