Sistema de Archivo de Documentos - Gestión Documental Inviolable
Solución de Archivo Segura con Principio WORM y Características de Cumplimiento
Descripción del Proyecto
Este proyecto implementa un sistema de archivo de documentos seguro e inviolable similar a DocuWare o Kendox. El sistema garantiza la integridad de los documentos mediante hash SHA-256, proporciona versionado inmutable donde cada cambio crea una nueva versión, y ofrece registro de auditoría completo de todas las acciones. Las características clave incluyen almacenamiento WORM (Write Once Read Many), cifrado AES-256-CBC en reposo, capacidad de retención legal, políticas de retención configurables y control de acceso basado en roles a nivel de documento. Los archivos se almacenan con nombres basados en UUID para prevenir manipulación, y el sistema soporta backends de almacenamiento local y S3/MinIO.
Características Principales
Almacenamiento WORM
El principio Write Once Read Many previene la modificación de documentos después del archivado
Cifrado AES-256
Cifrado en reposo para todos los archivos de archivo almacenados usando cifrado Laravel
Versionado Inmutable
Cada cambio crea una nueva versión, las versiones originales nunca se sobrescriben
Registro de Auditoría Completo
Todas las acciones incluyendo vistas, descargas y cambios de acceso se registran con IP y user agent
Políticas de Retención
Períodos de retención configurables con bloqueo WORM automático y reglas de eliminación
Control de Acceso a Nivel de Documento
Acceso basado en roles con permisos de vista, descarga y completos por documento
Stack Tecnológico
Framework Backend
Seguridad
Frontend
Almacenamiento
Flujo de Trabajo
- Carga de Documento: El usuario carga un documento con metadatos y campos de índice
- Cálculo de Hash: Se calcula el hash SHA-256 para verificación de integridad
- Cifrado: El documento se cifra con AES-256-CBC antes del almacenamiento
- Almacenamiento UUID: El archivo se almacena con nombre de archivo UUID en estructura de directorio año/mes
- Creación de Versión: Se crea el registro de versión inicial con hash y metadatos
- Número de Archivo: Se genera un número de archivo único (ej: ARC-2026-000001)
- Registro de Auditoría: Todas las acciones se registran incluyendo dirección IP y user agent
- Control de Acceso: Los permisos basados en roles controlan quién puede ver, descargar o gestionar
- Verificación de Integridad: La verificación de hash garantiza la integridad del documento en el tiempo
- Retención Legal: Los documentos pueden colocarse en retención legal para prevenir cualquier eliminación