System Archiwum Dokumentów - Rewizyjnie Bezpieczne Zarządzanie Dokumentami
Bezpieczne Rozwiązanie Archiwizacji z Zasadą WORM i Funkcjami Zgodności
Opis Projektu
Ten projekt implementuje bezpieczny, rewizyjnie bezpieczny system archiwum dokumentów podobny do DocuWare lub Kendox. System zapewnia integralność dokumentów poprzez hashowanie SHA-256, dostarcza niezmienne wersjonowanie gdzie każda zmiana tworzy nową wersję, oraz oferuje kompleksowe logowanie audytu wszystkich akcji. Kluczowe funkcje obejmują przechowywanie WORM (Write Once Read Many), szyfrowanie AES-256-CBC w spoczynku, zdolność blokady prawnej, konfigurowalne polityki przechowywania oraz kontrolę dostępu opartą na rolach na poziomie dokumentu. Pliki są przechowywane z nazwami opartymi na UUID, aby zapobiec manipulacji, a system obsługuje zarówno lokalne, jak i S3/MinIO backendy przechowywania.
Główne Funkcje
Przechowywanie WORM
Zasada Write Once Read Many zapobiega modyfikacji dokumentów po archiwizacji
Szyfrowanie AES-256
Szyfrowanie w spoczynku dla wszystkich przechowywanych plików archiwum przy użyciu szyfrowania Laravel
Niezmienne Wersjonowanie
Każda zmiana tworzy nową wersję, oryginalne wersje nigdy nie są nadpisywane
Kompleksowe Logowanie Audytu
Wszystkie akcje w tym widoki, pobierania i zmiany dostępu są logowane z IP i user agentem
Polityki Przechowywania
Konfigurowalne okresy przechowywania z automatyczną blokadą WORM i regułami usuwania
Kontrola Dostępu na Poziomie Dokumentu
Dostęp oparty na rolach z uprawnieniami widoku, pobierania i pełnymi dla każdego dokumentu
Stos Technologiczny
Framework Backend
Bezpieczeństwo
Frontend
Przechowywanie
Przepływ Pracy
- Przesyłanie Dokumentu: Użytkownik przesyła dokument z metadanymi i polami indeksu
- Obliczanie Hash: Hash SHA-256 jest obliczany dla weryfikacji integralności
- Szyfrowanie: Dokument jest szyfrowany AES-256-CBC przed przechowywaniem
- Przechowywanie UUID: Plik jest przechowywany z nazwą pliku UUID w strukturze katalogów rok/miesiąc
- Tworzenie Wersji: Początkowy rekord wersji jest tworzony z hashem i metadanymi
- Numer Archiwum: Generowany jest unikalny numer archiwum (np. ARC-2026-000001)
- Logowanie Audytu: Wszystkie akcje są logowane w tym adres IP i user agent
- Kontrola Dostępu: Uprawnienia oparte na rolach kontrolują kto może przeglądać, pobierać lub zarządzać
- Weryfikacja Integralności: Weryfikacja hash zapewnia integralność dokumentu w czasie
- Blokada Prawna: Dokumenty mogą być objęte blokadą prawną, aby zapobiec jakiemukolwiek usunięciu