Sistema di Archiviazione Documenti - Gestione Documentale a Prova di Revisione

Soluzione di Archivio Sicura con Principio WORM e Funzionalità di Conformità

2025-2026 Customer Project

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

Laravel 11
PHP 8.2+
MySQL

Sicurezza

Hashing SHA-256
AES-256-CBC
Conformità WORM

Frontend

Livewire
Alpine.js
Bootstrap

Archiviazione

Filesystem Locale
S3/MinIO
Nomi File UUID

Workflow

  1. Upload Documento: L'utente carica un documento con metadati e campi indice
  2. Calcolo Hash: L'hash SHA-256 viene calcolato per la verifica dell'integrità
  3. Crittografia: Il documento viene crittografato con AES-256-CBC prima dell'archiviazione
  4. Archiviazione UUID: Il file viene archiviato con nome file UUID nella struttura di directory anno/mese
  5. Creazione Versione: Il record della versione iniziale viene creato con hash e metadati
  6. Numero di Archivio: Viene generato un numero di archivio univoco (es: ARC-2026-000001)
  7. Logging di Audit: Tutte le azioni vengono loggate incluso indirizzo IP e user agent
  8. Controllo Accessi: I permessi basati su ruoli controllano chi può visualizzare, scaricare o gestire
  9. Verifica Integrità: La verifica hash garantisce l'integrità del documento nel tempo
  10. Blocco Legale: I documenti possono essere posti in blocco legale per prevenire qualsiasi eliminazione