Sistema di Archiviazione Documenti - Gestione Documentale a Prova di Revisione
Soluzione di Archivio Sicura con Principio WORM e Funzionalità di Conformità
Descrizione del Progetto
Questo progetto implementa un sistema di archiviazione documenti sicuro e a prova di revisione simile a DocuWare o Kendox. Il sistema garantisce l'integrità dei documenti attraverso hashing SHA-256, fornisce versioning immutabile dove ogni modifica crea una nuova versione, e offre logging di audit completo di tutte le azioni. Le funzionalità chiave includono archiviazione WORM (Write Once Read Many), crittografia AES-256-CBC a riposo, capacità di blocco legale, politiche di conservazione configurabili e controllo accessi basato su ruoli a livello documento. I file sono archiviati con nomi basati su UUID per prevenire manipolazioni, e il sistema supporta backend di archiviazione locale e S3/MinIO.
Funzionalità Principali
Archiviazione WORM
Il principio Write Once Read Many previene la modifica dei documenti dopo l'archiviazione
Crittografia AES-256
Crittografia a riposo per tutti i file di archivio archiviati usando la crittografia Laravel
Versioning Immutabile
Ogni modifica crea una nuova versione, le versioni originali non vengono mai sovrascritte
Logging di Audit Completo
Tutte le azioni incluse visualizzazioni, download e modifiche di accesso sono loggate con IP e user agent
Politiche di Conservazione
Periodi di conservazione configurabili con blocco WORM automatico e regole di eliminazione
Controllo Accessi a Livello Documento
Accesso basato su ruoli con permessi di visualizzazione, download e completi per documento
Stack Tecnologico
Framework Backend
Sicurezza
Frontend
Archiviazione
Workflow
- Upload Documento: L'utente carica un documento con metadati e campi indice
- Calcolo Hash: L'hash SHA-256 viene calcolato per la verifica dell'integrità
- Crittografia: Il documento viene crittografato con AES-256-CBC prima dell'archiviazione
- Archiviazione UUID: Il file viene archiviato con nome file UUID nella struttura di directory anno/mese
- Creazione Versione: Il record della versione iniziale viene creato con hash e metadati
- Numero di Archivio: Viene generato un numero di archivio univoco (es: ARC-2026-000001)
- Logging di Audit: Tutte le azioni vengono loggate incluso indirizzo IP e user agent
- Controllo Accessi: I permessi basati su ruoli controllano chi può visualizzare, scaricare o gestire
- Verifica Integrità: La verifica hash garantisce l'integrità del documento nel tempo
- Blocco Legale: I documenti possono essere posti in blocco legale per prevenire qualsiasi eliminazione