Document Archive System - Revision-Safe Document Management
WORM Archive with Commercial PDFs, Soft Delete and Legal Hold
Project Description
Key Features
WORM Storage
Write Once Read Many principle prevents document modification after archiving
AES-256 Encryption
At-rest encryption for all stored archive files using Laravel encryption
Immutable Versioning
Every change creates a new version, original versions are never overwritten
Comprehensive Audit Logging
All actions including views, downloads, and access changes are logged with IP and user agent
Retention Policies
Configurable retention periods with automatic WORM lock and deletion rules
Document-Level Access Control
Role-based access with view, download, and full permissions per document
Commercial PDF Archive
Lock and archive offer, contract, invoice and dunning PDFs with WORM semantics
Soft Delete & Legal Hold
Ghost restore for soft-deleted records and legal hold to block erase
Technology Stack
Backend Framework
Security
Frontend
Storage
Workflow
- Document Upload: User uploads document with metadata and index fields
- Hash Calculation: SHA-256 hash is calculated for integrity verification
- Encryption: Document is encrypted with AES-256-CBC before storage
- UUID Storage: File is stored with UUID filename in year/month directory structure
- Version Creation: Initial version record is created with hash and metadata
- Archive Number: Unique archive number is generated (e.g., ARC-2026-000001)
- Audit Logging: All actions are logged including IP address and user agent
- Access Control: Role-based permissions control who can view, download, or manage
- Integrity Verification: Hash verification ensures document integrity over time
- Legal Hold: Documents can be placed on legal hold to prevent any deletion
- Commercial Archive: Offers, contracts and invoices are WORM-archived on print or lock
- Soft Delete: Soft-deleted records can be restored from ghost state when not on hold