Sistema de Archivo de Documentos - Gestión Documental Inviolable

Solución de Archivo Segura con Principio WORM y Características de Cumplimiento

2025-2026 Customer Project

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

Laravel 11
PHP 8.2+
MySQL

Seguridad

Hash SHA-256
AES-256-CBC
Cumplimiento WORM

Frontend

Livewire
Alpine.js
Bootstrap

Almacenamiento

Sistema de Archivos Local
S3/MinIO
Nombres de Archivo UUID

Flujo de Trabajo

  1. Carga de Documento: El usuario carga un documento con metadatos y campos de índice
  2. Cálculo de Hash: Se calcula el hash SHA-256 para verificación de integridad
  3. Cifrado: El documento se cifra con AES-256-CBC antes del almacenamiento
  4. Almacenamiento UUID: El archivo se almacena con nombre de archivo UUID en estructura de directorio año/mes
  5. Creación de Versión: Se crea el registro de versión inicial con hash y metadatos
  6. Número de Archivo: Se genera un número de archivo único (ej: ARC-2026-000001)
  7. Registro de Auditoría: Todas las acciones se registran incluyendo dirección IP y user agent
  8. Control de Acceso: Los permisos basados en roles controlan quién puede ver, descargar o gestionar
  9. Verificación de Integridad: La verificación de hash garantiza la integridad del documento en el tiempo
  10. Retención Legal: Los documentos pueden colocarse en retención legal para prevenir cualquier eliminación