Система Архива Документов - Ревизионно-Безопасное Управление Документами

Безопасное Архивное Решение с Принципом WORM и Функциями Соответствия

2025-2026 Customer Project

Описание Проекта

Этот проект реализует безопасную, ревизионно-безопасную систему архива документов, аналогичную DocuWare или Kendox. Система обеспечивает целостность документов через хеширование SHA-256, предоставляет неизменяемое версионирование где каждое изменение создает новую версию, и предлагает комплексное аудит-логирование всех действий. Ключевые функции включают WORM-хранение (Write Once Read Many), шифрование AES-256-CBC в состоянии покоя, возможность юридического удержания, настраиваемые политики хранения и контроль доступа на основе ролей на уровне документа. Файлы хранятся с именами на основе UUID для предотвращения манипуляций, и система поддерживает как локальные, так и S3/MinIO бэкенды хранения.

Основные Функции

WORM-Хранение

Принцип Write Once Read Many предотвращает изменение документов после архивации

Шифрование AES-256

Шифрование в состоянии покоя для всех хранимых архивных файлов с использованием шифрования Laravel

Неизменяемое Версионирование

Каждое изменение создает новую версию, оригинальные версии никогда не перезаписываются

Комплексное Аудит-Логирование

Все действия включая просмотры, загрузки и изменения доступа логируются с IP и user agent

Политики Хранения

Настраиваемые периоды хранения с автоматической WORM-блокировкой и правилами удаления

Контроль Доступа на Уровне Документа

Доступ на основе ролей с разрешениями просмотра, загрузки и полными для каждого документа

Технологический Стек

Backend-Фреймворк

Laravel 11
PHP 8.2+
MySQL

Безопасность

Хеширование SHA-256
AES-256-CBC
WORM-Соответствие

Frontend

Livewire
Alpine.js
Bootstrap

Хранилище

Локальная Файловая Система
S3/MinIO
UUID-Имена Файлов

Рабочий Процесс

  1. Загрузка Документа: Пользователь загружает документ с метаданными и полями индекса
  2. Расчет Хеша: Хеш SHA-256 рассчитывается для проверки целостности
  3. Шифрование: Документ шифруется AES-256-CBC перед хранением
  4. UUID-Хранение: Файл хранится с UUID-именем в структуре каталогов год/месяц
  5. Создание Версии: Создается начальная запись версии с хешем и метаданными
  6. Номер Архива: Генерируется уникальный номер архива (напр. ARC-2026-000001)
  7. Аудит-Логирование: Все действия логируются включая IP-адрес и user agent
  8. Контроль Доступа: Разрешения на основе ролей контролируют кто может просматривать, загружать или управлять
  9. Проверка Целостности: Проверка хеша обеспечивает целостность документа во времени
  10. Юридическое Удержание: Документы могут быть помещены на юридическое удержание для предотвращения любого удаления