System Archiwum Dokumentów - Rewizyjnie Bezpieczne Zarządzanie Dokumentami

Bezpieczne Rozwiązanie Archiwizacji z Zasadą WORM i Funkcjami Zgodności

2025-2026 Customer Project

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

Laravel 11
PHP 8.2+
MySQL

Bezpieczeństwo

Hashowanie SHA-256
AES-256-CBC
Zgodność WORM

Frontend

Livewire
Alpine.js
Bootstrap

Przechowywanie

Lokalny System Plików
S3/MinIO
Nazwy Plików UUID

Przepływ Pracy

  1. Przesyłanie Dokumentu: Użytkownik przesyła dokument z metadanymi i polami indeksu
  2. Obliczanie Hash: Hash SHA-256 jest obliczany dla weryfikacji integralności
  3. Szyfrowanie: Dokument jest szyfrowany AES-256-CBC przed przechowywaniem
  4. Przechowywanie UUID: Plik jest przechowywany z nazwą pliku UUID w strukturze katalogów rok/miesiąc
  5. Tworzenie Wersji: Początkowy rekord wersji jest tworzony z hashem i metadanymi
  6. Numer Archiwum: Generowany jest unikalny numer archiwum (np. ARC-2026-000001)
  7. Logowanie Audytu: Wszystkie akcje są logowane w tym adres IP i user agent
  8. Kontrola Dostępu: Uprawnienia oparte na rolach kontrolują kto może przeglądać, pobierać lub zarządzać
  9. Weryfikacja Integralności: Weryfikacja hash zapewnia integralność dokumentu w czasie
  10. Blokada Prawna: Dokumenty mogą być objęte blokadą prawną, aby zapobiec jakiemukolwiek usunięciu