# Обзор приложения Digital Legal Entity (DLE) ## 📋 Содержание 1. [Установка приложения](#установка-приложения) 2. [Настройка безопасности](#настройка-безопасности) 3. [Модули и микросервисная архитектура](#модули-и-микросервисная-архитектура) 4. [Корпоративный мессенджер с ИИ ассистентом](#корпоративный-мессенджер-с-ии-ассистентом) 5. [Настройки приложения для работы с интернет пользователями](#настройки-приложения-для-работы-с-интернет-пользователями) 6. [Требования регулятора](#требования-регулятора) 7. [Обновления софта](#обновления-софта) --- ## 🚀 Установка приложения ### Быстрый старт Digital Legal Entity (DLE) разворачивается с помощью Docker Compose, что обеспечивает простую и надежную установку на любой платформе. ### Системные требования **Минимальные требования**: - **CPU**: 4 ядра - **RAM**: 12 GB (4 GB приложение + 6 GB AI + 2 GB Vector Search) - **Хранилище**: 100 GB SSD - **ОС**: Ubuntu 20.04+, Debian 11+, CentOS 8+, любая Linux с Docker - **Docker**: версия 20.10+ - **Docker Compose**: версия 2.0+ ### Процесс установки Для Linux/macOS/WSL: ```bash curl -fsSL https://raw.githubusercontent.com/VC-HB3-Accelerator/DLE/main/setup.sh | bash ``` Скрипт автоматически: - Скачивает последние артефакты из релиза - Разворачивает `docker-data` - Настраивает необходимые конфигурации ### Компоненты системы После установки запускаются следующие сервисы: | Сервис | Описание | Порт | |--------|----------|------| | **PostgreSQL** | База данных с расширением pgvector | Внутренний | | **Ollama** | Локальный AI сервер | Внутренний (11434) | | **Vector Search** | Сервис векторного поиска (RAG) | Внутренний (8001) | | **Backend** | Node.js API сервер | Внутренний (8000) | | **Frontend (Nginx)** | Веб-интерфейс | 9000 (HTTP) ### Доступ к приложению После успешного запуска приложение доступно по адресу: - **Production**: `http://localhost:9000` (HTTP) ### Первоначальная настройка 1. Откройте приложение в браузере 2. Подключите крипто-кошелек (MetaMask, WalletConnect) 3. Настройте RPC провайдеры в разделе **Настройки → Безопасность** 4. Настройте смарт-контракты в разделе **Настройки → Блокчейн** > 💡 **Подробная инструкция**: См. [Инструкция по установке](./setup-instruction.md) для пошаговой настройки всех компонентов. --- ## 🔒 Настройка безопасности ### Многоуровневая модель безопасности DLE использует комплексный подход к безопасности на всех уровнях архитектуры: ``` ┌─────────────────────────────────────────────────────────────┐ │ Уровни защиты DLE │ ├─────────────────────────────────────────────────────────────┤ │ │ │ Уровень 1: Блокчейн (Неизменяемая база) │ │ • Смарт-контракт DLE (проверен, иммутабельный) │ │ • Токены управления (ERC20Votes) │ │ • История всех операций на блокчейне │ │ • Невозможность изменения правил без голосования │ │ │ │ Уровень 2: Веб-приложение (Backend) │ │ • Проверка токенов в реальном времени │ │ • Аутентификация через кошелек (SIWE) │ │ • Шифрование данных (AES-256) │ │ • Rate limiting и защита от DDoS │ │ │ │ Уровень 3: Frontend (Vue.js) │ │ • Подключение к кошельку │ │ • Подпись транзакций │ │ • XSS защита (DOMPurify) │ │ • CSRF токены │ │ │ │ Уровень 4: Пользователь │ │ • Приватный ключ кошелька (MetaMask, WalletConnect) │ │ • Подтверждение каждой операции │ │ │ └─────────────────────────────────────────────────────────────┘ ``` ### Настройка безопасности #### 1. Настройка RPC провайдеров **Путь**: Настройки → Безопасность → RPC провайдеры Для каждой блокчейн-сети необходимо добавить RPC провайдера: - **Network Name**: Название сети (Ethereum, Polygon, BSC и т.д.) - **RPC URL**: URL подключения (например: `https://eth-mainnet.g.alchemy.com/v2/YOUR-API-KEY`) - **Network ID**: Chain ID сети > ⚠️ **Важно**: Получите API ключи от провайдеров (Alchemy, Infura, Quicknode и т.д.) перед добавлением. #### 2. Настройка смарт-контрактов **Путь**: Настройки → Блокчейн Настройте адреса смарт-контрактов для каждой сети: - **Factory Address**: Адрес фабрики контрактов - **Core Contract Address**: Адрес основного контракта DLE #### 3. Настройка шифрования Все чувствительные данные шифруются с использованием AES-256: - Персональные данные пользователей - Идентификаторы гостей - Приватные сообщения - Ключи шифрования хранятся в защищенном хранилище #### 4. Управление доступом Система ролей и разрешений: - **Guest**: Базовый доступ, чат с AI - **User**: Полный доступ к коммуникациям - **ReadOnly**: Просмотр данных без редактирования - **Editor**: Полный доступ ко всем функциям #### 5. Аудит и мониторинг - Все действия логируются - Audit trail для критичных операций - Мониторинг подозрительной активности - Уведомления о важных событиях > 💡 **Подробная информация**: См. [Безопасность DLE](./security.md) для детального описания всех уровней защиты, сценариев атак и рекомендаций. --- ## 🏗️ Модули и микросервисная архитектура ### Архитектура системы DLE построен на принципах микросервисной архитектуры, что обеспечивает: - ✅ Легкое масштабирование отдельных компонентов - ✅ Независимое развертывание сервисов - ✅ Высокую отказоустойчивость - ✅ Гибкость в разработке и поддержке ### Основные сервисы #### 1. PostgreSQL (База данных) - **Назначение**: Хранение всех данных приложения - **Особенности**: Расширение pgvector для векторного поиска - **Масштабирование**: Репликация, шардирование #### 2. Ollama (AI сервер) - **Назначение**: Локальный AI для генерации ответов - **Модель**: qwen2.5:7b (настраивается) - **Особенности**: 100% конфиденциальность, работа offline - **Ресурсы**: 6 GB RAM, 2 CPU cores #### 3. Vector Search (RAG сервис) - **Назначение**: Векторный поиск для контекстных ответов AI - **Технология**: FAISS, pgvector - **Модель эмбеддингов**: mxbai-embed-large:latest - **Особенности**: Семантический поиск по документам #### 4. Backend (Node.js API) - **Назначение**: Основной API сервер - **Технологии**: Express.js, WebSocket - **Функции**: - Обработка запросов - Управление сообщениями - Интеграция с блокчейном - Управление пользователями #### 5. Frontend (Vue.js) - **Назначение**: Пользовательский интерфейс - **Технологии**: Vue 3, Vite, Element Plus - **Особенности**: SPA, адаптивный дизайн ### Модульная система DLE поддерживает расширение функциональности через модули: #### Доступные модули 1. **HierarchicalVotingModule** - Иерархическое голосование - Делегирование голосов - Сложные сценарии управления 2. **Custom Modules** - Возможность добавления собственных модулей - Интеграция через смарт-контракты - Управление через голосование токен-холдеров #### Добавление модулей Модули добавляются через: 1. Голосование токен-холдеров 2. Деплой смарт-контракта модуля 3. Регистрация в основном контракте DLE ### Коммуникация между сервисами ``` ┌─────────────┐ │ Frontend │ │ (Vue.js) │ └──────┬──────┘ │ HTTP/WebSocket ▼ ┌─────────────┐ ┌──────────────┐ ┌─────────────┐ │ Backend │──────│ PostgreSQL │ │ Ollama │ │ (Node.js) │ │ (pgvector) │ │ (AI Server)│ └──────┬──────┘ └──────────────┘ └─────────────┘ │ │ HTTP ▼ ┌─────────────┐ │Vector Search│ │ (RAG) │ └─────────────┘ ``` ### Масштабирование Каждый сервис может масштабироваться независимо: - **Горизонтальное масштабирование**: Добавление инстансов - **Вертикальное масштабирование**: Увеличение ресурсов - **Балансировка нагрузки**: Nginx, HAProxy > 💡 **Подробная информация**: См. [Техническая документация по блокчейну](./blockchain-integration-technical.md) для информации о модульной системе смарт-контрактов. --- ## 💬 Корпоративный мессенджер с ИИ ассистентом ### Обзор функциональности DLE включает полнофункциональный корпоративный мессенджер с интегрированным AI ассистентом, который обеспечивает: - Единый интерфейс для всех каналов коммуникации - Автоматические ответы с помощью AI - Контекстное понимание истории общения - Многоканальную поддержку клиентов ### Каналы коммуникации #### 1. Веб-чат - Публичный чат на сайте - Приватные сообщения между пользователями - Административный чат для связи с клиентами #### 2. Telegram бот - Интеграция с Telegram - Автоматические ответы через AI - Синхронизация с веб-интерфейсом #### 3. Email - Обработка входящих писем - Автоматические ответы - Интеграция с CRM ### ИИ ассистент #### Возможности AI ассистента **Локальный AI на вашем сервере**: - Модель: qwen2.5:7b (настраивается) - Технология: Ollama + Vector Search (RAG) - Конфиденциальность: 100% (данные не покидают сервер) - Стоимость: $0 (без лимитов на запросы) #### Функции AI ассистента 1. **Автоматические ответы** - Генерация ответов на основе контекста - Обучение на ваших документах - Персонализация под ваш бизнес 2. **Анализ настроения** - Определение эмоционального тона сообщений - Приоритизация запросов - Эскалация критичных ситуаций 3. **Контекстный поиск** - Поиск информации в базе знаний - Использование истории общения - Ссылки на релевантные документы 4. **Многозадачность** - Обработка нескольких запросов одновременно - Очередь запросов - Приоритизация важных сообщений #### Настройка AI ассистента **Путь**: Настройки → AI Ассистент 1. **Базовая настройка** - Выбор модели AI - Настройка температуры генерации - Лимиты токенов 2. **Правила и контекст** - Добавление правил поведения - Загрузка документов для обучения - Настройка тона общения 3. **Векторный поиск** - Индексация документов - Настройка релевантности - Обновление базы знаний ### Типы чатов #### 1. Публичный чат - Доступен всем пользователям - AI может отвечать автоматически - Модерация сообщений #### 2. Приватный чат - Личные сообщения между пользователями - Шифрование контента - История переписки #### 3. Административный чат - Связь администраторов с клиентами - Управление через веб-интерфейс - Интеграция с CRM #### 4. Гостевой чат - Для неавторизованных пользователей - Ограниченный функционал - Требуется согласие на обработку данных ### Управление сообщениями - **История**: Полная история всех сообщений - **Поиск**: Поиск по содержимому, отправителю, дате - **Фильтры**: По каналам, типам, статусам - **Экспорт**: Выгрузка переписки в различных форматах > 💡 **Подробная информация**: См. [AI Ассистент](./ai-assistant.md) для полного описания возможностей и [Настройка AI ассистента](./setup-ai-assistant.md) для инструкций по настройке. --- ## 🌐 Настройки приложения для работы с интернет пользователями ### Работа с гостями (неавторизованными пользователями) DLE поддерживает работу с интернет-пользователями без обязательной регистрации, обеспечивая при этом соответствие требованиям регуляторов. #### Роли и права доступа **Guest (Гость)**: - ✅ Просмотр главной страницы - ✅ Чат с AI ассистентом - ❌ Отправка сообщений пользователям - ❌ Доступ к CRM и данным **User (Пользователь)**: - ✅ Все права гостя - ✅ Получение сообщений - ✅ Отправка сообщений другим пользователям - ✅ Просмотр контактов - ✅ Приватный чат с администраторами - ✅ Просмотр базовых документов #### Настройка гостевого доступа **Путь**: Настройки → Пользователи → Гостевой доступ 1. **Включение гостевого режима** - Разрешить доступ без регистрации - Настройка ограничений - Лимиты на использование 2. **Сбор согласий** - Автоматический запрос согласия на обработку ПД - Политика конфиденциальности - Пользовательское соглашение - Политика использования cookies 3. **Идентификация гостей** - Уникальные идентификаторы - Шифрование данных - Анонимизация при необходимости ### Обработка персональных данных #### Согласие на обработку ПД При первом обращении гостя система: 1. Показывает политику конфиденциальности 2. Запрашивает согласие на обработку ПД 3. Сохраняет факт согласия с временной меткой 4. Предоставляет доступ к функциям #### Управление согласиями **Путь**: Настройки → Контент → Юридические документы - Просмотр всех согласий - Экспорт данных по запросу - Удаление данных при отзыве согласия - История изменений согласий ### Публичные документы #### Обязательные документы для публичного доступа 1. **Политика конфиденциальности** - Описание обработки ПД - Права пользователей - Контакты для обращений 2. **Пользовательское соглашение** - Условия использования сервиса - Права и обязанности - Ограничения ответственности 3. **Согласие на обработку персональных данных** - Форма согласия - Информация о целях обработки - Возможность отзыва 4. **Политика использования cookies** - Типы используемых cookies - Цели использования - Управление настройками #### Публикация документов **Путь**: Контент → Шаблоны 1. Выберите необходимые шаблоны 2. Предварительный просмотр с автозаполнением 3. Редактирование специфичных параметров 4. Публикация: - **Публичное использование**: Доступно на сайте - **Внутреннее использование**: Только в CRM - **Печать**: Экспорт в PDF ### Настройки веб-интерфейса #### Публичные страницы - **Главная страница**: Информация о сервисе - **Чат**: Публичный чат с AI - **Контакты**: Форма обратной связи - **Документы**: Публичные юридические документы #### Интеграция с сайтом DLE может быть интегрирован на ваш сайт: - Виджет чата - Формы обратной связи - API для кастомных решений ### Управление контактами #### Автоматическое создание контактов При обращении гостя система: 1. Создает контакт в CRM 2. Присваивает уникальный идентификатор 3. Сохраняет канал коммуникации 4. Записывает историю взаимодействий #### Объединение контактов Если один пользователь обращается через разные каналы: - Автоматическое определение дубликатов - Объединение в единый контакт - Единая история коммуникаций > 💡 **Важно**: Все настройки для работы с интернет-пользователями должны соответствовать требованиям регуляторов (см. раздел "Требования регулятора"). --- ## ⚖️ Требования регулятора ### Соответствие законодательству DLE разработан с учетом требований основных регуляторов по защите персональных данных и обеспечению прозрачности работы с пользователями. ### GDPR (General Data Protection Regulation) **Европейское законодательство о защите данных** #### Основные требования и их реализация: 1. **Право на информацию** ✅ - Политика конфиденциальности доступна на сайте - Прозрачная информация о целях обработки данных - Контакты контролера данных 2. **Право на доступ** ✅ - Пользователи могут запросить копию своих данных - Экспорт данных в структурированном формате - История обработки данных 3. **Право на исправление** ✅ - Редактирование персональных данных - Обновление информации в профиле - Корректировка неточных данных 4. **Право на удаление ("право быть забытым")** ✅ - Удаление данных по запросу - Отзыв согласия на обработку - Полное удаление из системы 5. **Право на ограничение обработки** ✅ - Временная блокировка обработки - Сохранение данных без использования - Уведомление о снятии ограничений 6. **Право на переносимость данных** ✅ - Экспорт данных в машиночитаемом формате - Передача данных другому контролеру - Структурированные форматы (JSON, CSV) 7. **Право на возражение** ✅ - Отказ от обработки данных - Отзыв согласия - Остановка маркетинговых рассылок 8. **Автоматизированное принятие решений** ✅ - Прозрачность использования AI - Возможность человеческого вмешательства - Объяснение логики решений ### CCPA (California Consumer Privacy Act) **Калифорнийский закон о защите конфиденциальности** #### Основные требования: 1. **Право знать** ✅ - Информация о собираемых данных - Цели использования данных - Категории третьих сторон 2. **Право на удаление** ✅ - Удаление персональных данных - Исключения для бизнес-нужд - Подтверждение удаления 3. **Право на отказ от продажи** ✅ - DLE не продает данные пользователей - Прозрачная политика - Механизм отказа 4. **Недискриминация** ✅ - Равный доступ к сервису - Отсутствие штрафов за использование прав - Справедливое ценообразование ### 152-ФЗ (Российское законодательство) **Федеральный закон "О персональных данных"** #### Основные требования: 1. **Согласие на обработку** ✅ - Явное согласие субъекта ПД - Информированное согласие - Возможность отзыва 2. **Уведомление Роскомнадзора** ✅ - Документация для уведомления - Описание целей обработки - Меры безопасности 3. **Локализация данных** ✅ - Хранение на серверах в РФ (опционально) - Контроль местоположения данных - Соответствие требованиям 4. **Права субъектов ПД** ✅ - Доступ к данным - Исправление данных - Удаление данных - Отзыв согласия 5. **Меры безопасности** ✅ - Шифрование данных - Контроль доступа - Аудит действий - Резервное копирование ### Готовые документы для регулятора DLE включает готовый пакет документов, необходимых для соответствия требованиям: #### 1. Политика конфиденциальности - Описание обработки ПД - Права пользователей - Контакты контролера - Механизмы реализации прав #### 2. Пользовательское соглашение - Условия использования - Права и обязанности сторон - Ограничения ответственности - Разрешение споров #### 3. Согласие на обработку персональных данных - Форма согласия - Цели обработки - Сроки хранения - Право отзыва #### 4. Политика использования cookies - Типы cookies - Цели использования - Управление настройками - Отключение cookies #### 5. Документация для Роскомнадзора - Описание системы обработки ПД - Меры безопасности - Технические характеристики - Процедуры обработки запросов ### Аудит и соответствие #### Регулярные проверки - Проверка актуальности документов - Обновление политик при изменении законодательства - Аудит обработки данных - Тестирование механизмов реализации прав #### Рекомендации 1. **Регулярное обновление** - Следите за изменениями в законодательстве - Обновляйте документы при необходимости - Проводите аудит соответствия 2. **Консультации** - Рекомендуется консультация с юристом - Проверка соответствия локальному законодательству - Адаптация под специфику вашего региона 3. **Документирование** - Ведите журнал обработки данных - Сохраняйте историю согласий - Документируйте запросы пользователей > 💡 **Подробная информация**: См. [Безопасность DLE](./security.md) для детального описания мер безопасности и соответствия требованиям регуляторов. --- ## 🔄 Обновления софта ### Политика обновлений DLE предоставляет бесплатные обновления в течение 5 лет для держателей лицензионных токенов. Это включает: - ✅ Исправления ошибок (bug fixes) - ✅ Новые функции (features) - ✅ Улучшения безопасности (security updates) - ✅ Обновления зависимостей (dependencies) - ✅ Оптимизация производительности ### Типы обновлений #### 1. Патч-обновления (Patch) - **Формат версии**: X.Y.**Z** (например, 1.0.1 → 1.0.2) - **Содержание**: Исправления ошибок, мелкие улучшения - **Частота**: По мере необходимости - **Критичность**: Обычно низкая-средняя #### 2. Минорные обновления (Minor) - **Формат версии**: X.**Y**.Z (например, 1.0.2 → 1.1.0) - **Содержание**: Новые функции, улучшения - **Частота**: Ежеквартально или по мере готовности - **Критичность**: Средняя #### 3. Мажорные обновления (Major) - **Формат версии**: **X**.Y.Z (например, 1.1.0 → 2.0.0) - **Содержание**: Крупные изменения, breaking changes - **Частота**: Раз в год или реже - **Критичность**: Высокая (требуется миграция) ### Процесс обновления #### Автоматическое обновление (рекомендуется) ```bash # 1. Остановка текущей версии docker-compose down # 2. Резервное копирование данных docker run --rm -v dle_postgres_data:/data -v $(pwd):/backup \ alpine tar czf /backup/postgres_backup.tar.gz -C /data . # 3. Обновление кода git pull origin main # 4. Обновление образов docker-compose pull # 5. Пересборка (если необходимо) docker-compose build # 6. Запуск обновленной версии docker-compose up -d # 7. Проверка статуса docker-compose ps docker-compose logs -f ``` #### Ручное обновление 1. **Подготовка** - Проверьте текущую версию - Изучите changelog обновления - Создайте резервную копию 2. **Резервное копирование** ```bash # База данных docker-compose exec postgres pg_dump -U dapp_user dapp_db > backup.sql # Файлы загрузок tar -czf uploads_backup.tar.gz backend/uploads/ # Конфигурации cp .env .env.backup ``` 3. **Обновление** - Скачайте новую версию - Обновите зависимости - Примените миграции БД (если есть) 4. **Проверка** - Проверьте работоспособность - Протестируйте ключевые функции - Проверьте логи на ошибки ### Миграции базы данных При обновлении могут потребоваться миграции БД: ```bash # Автоматическое применение миграций docker-compose exec backend npm run migrate # Или вручную через SQL docker-compose exec postgres psql -U dapp_user -d dapp_db -f migrations/version_X.X.X.sql ``` ### Откат обновления В случае проблем можно откатиться к предыдущей версии: ```bash # 1. Остановка текущей версии docker-compose down # 2. Восстановление из резервной копии docker run --rm -v dle_postgres_data:/data -v $(pwd):/backup \ alpine tar xzf /backup/postgres_backup.tar.gz -C /data # 3. Переключение на предыдущую версию git checkout # 4. Запуск предыдущей версии docker-compose up -d ``` ### Уведомления об обновлениях #### Каналы уведомлений 1. **GitHub Releases** - Официальные релизы - Changelog изменений - Инструкции по обновлению 2. **Email рассылка** - Уведомления о важных обновлениях - Информация о breaking changes - Рекомендации по обновлению 3. **В приложении** - Уведомления о доступных обновлениях - Информация о новых функциях - Ссылки на документацию ### Рекомендации по обновлениям 1. **Регулярность** - Обновляйтесь регулярно для получения исправлений безопасности - Не откладывайте критичные обновления - Следите за changelog 2. **Тестирование** - Тестируйте обновления на тестовой среде - Проверяйте совместимость с вашими данными - Убедитесь в работоспособности интеграций 3. **Резервное копирование** - Всегда создавайте резервные копии перед обновлением - Храните несколько версий бэкапов - Тестируйте восстановление из бэкапа 4. **Документирование** - Ведите журнал обновлений - Записывайте возникшие проблемы - Документируйте кастомные изменения ### Долгосрочная поддержка (LTS) Для стабильных версий может быть доступна долгосрочная поддержка: - Расширенный период поддержки - Приоритетные исправления безопасности - Гарантированная совместимость > 💡 **Важно**: Обновления предоставляются бесплатно в течение 5 лет для держателей лицензионных токенов. После этого периода обновления могут быть платными или доступны через сообщество. --- ## 📚 Дополнительные ресурсы ### Документация - [Описание приложения](./application-description.md) - Полный обзор возможностей и преимуществ - [Инструкция по установке](./setup-instruction.md) - Пошаговая настройка - [Настройка AI ассистента](./setup-ai-assistant.md) - Конфигурация AI - [Безопасность DLE](./security.md) - Детальная информация о безопасности - [FAQ](./FAQ.md) - Ответы на частые вопросы ### Поддержка - **Email**: info@hb3-accelerator.com - **Сайт**: https://hb3-accelerator.com - **GitHub**: https://github.com/VC-HB3-Accelerator --- **© 2024-2025 Тарабанов Александр Викторович. Все права защищены.** **Digital Legal Entity (DLE)** - комплексное решение для управления бизнесом с блокчейн и AI. **Версия документа**: 1.0.0 **Последнее обновление**: January 2025