Saltar a contenido

Seguridad y auditoría

SmartAid protege la operación con autenticación de panel, aislamiento por tenant, permisos de Django, auditoría propia y eventos históricos.

Aislamiento multi-tenant

Cada registro de negocio hereda de TenantModel. El manager objects filtra por el tenant actual y all_objects se reserva para servicios o tareas que aplican filtros explícitos.

Uso de all_objects

all_objects salta el filtro automático. En vistas o servicios de usuario final debe usarse solo con filtro explícito por tenant.

Control de acceso

Capa Mecanismo
Autenticación Login del panel con usuario Django.
Tenant activo TenantBackend rechaza usuarios de tenants inactivos.
Autorización Grupos y permisos nativos de Django.
Vistas PermisoRequeridoMixin antes de ejecutar acciones.

No se documenta 2FA como funcionalidad activa del proyecto.

Auditoría

RegistroAuditoria guarda actor, tenant, acción, entidad, identificador y valores anteriores/nuevos cuando aplica. Además, varios modelos usan django-pghistory para eventos históricos.

Datos sensibles

  • No registrar documentos completos, CURP, claves VAPID ni secretos en logs.
  • Mantener .env, media/ y respaldos fuera del repositorio.
  • Usar TLS y variables de entorno en despliegues productivos.
  • Revisar permisos de superusuario; ese rol puede tener visibilidad transversal.

Reportabilidad

La auditoría permite reconstruir cambios operativos, pero la exportación o entrega formal de reportes depende del proceso de la institución.