Me considero relativamente competente en términos de diseño de aplicaciones, pero nunca tuve que trabajar con datos confidenciales. Me he estado preguntando cuáles son las mejores prácticas para los registros de auditoría y cómo exactamente uno debe implementarlos. No tengo que hacerlo ahora mismo, pero sería bueno poder hablar con confianza con una compañía médica si me piden que trabaje para ellos.Senderos de auditoría e implementación de SOX/HIPAA/etc, mejores prácticas para datos confidenciales
Digamos que tenemos una base de datos "escolar", con "maestros", "clases", "estudiantes" todos normalizados en una tabla de "muchos grados" de muchos a muchos. ¿Qué registrarías? ¿Cada inserción/actualización en la "tabla de calificaciones"? Solo actualizaciones (por ejemplo, un niño interrumpe y quiere cambiar las calificaciones, esto debería enviar señales rojas)? ¿Esto varía completamente en función de lo paranoico que uno quiere ser? ¿Hay una mejor práctica?
¿Esto es algo que debería hacerse en la base de datos? (¿Un activador en cada SELECT sensible que inserta una fila en una tabla de 'auditoría' que registra cada consulta?) ¿Qué debería registrarse? ¿Hay alguna funcionalidad integrada automáticamente en Oracle/DB2 que lo haga por usted? ¿Debería ser esto lógica de aplicación?
Si alguien tiene documentación/libros formales sobre cómo tratar con datos confidenciales (no del DoD "Trusted Computing", pero algo como: P), lo agradecería. Lo siento si esta pregunta es terriblemente vaga. Me doy cuenta de que esto varía de una aplicación a otra. Solo quiero escuchar sus experiencias detalladas al tratar con datos confidenciales.