Files
DLE/docs/application-overview.md

40 KiB
Raw Blame History

Обзор приложения 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:

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. Настройте смарт-контракты в разделе Настройки → Блокчейн

💡 Подробная инструкция: См. Инструкция по установке для пошаговой настройки всех компонентов.


🔒 Настройка безопасности

Многоуровневая модель безопасности

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 для детального описания всех уровней защиты, сценариев атак и рекомендаций.


🏗️ Модули и микросервисная архитектура

Архитектура системы

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

💡 Подробная информация: См. Техническая документация по блокчейну для информации о модульной системе смарт-контрактов.


💬 Корпоративный мессенджер с ИИ ассистентом

Обзор функциональности

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 ассистента для инструкций по настройке.


🌐 Настройки приложения для работы с интернет пользователями

Работа с гостями (неавторизованными пользователями)

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 для детального описания мер безопасности и соответствия требованиям регуляторов.


🔄 Обновления софта

Политика обновлений

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
  • Частота: Раз в год или реже
  • Критичность: Высокая (требуется миграция)

Процесс обновления

Автоматическое обновление (рекомендуется)

# 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. Резервное копирование

    # База данных
    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. Проверка

    • Проверьте работоспособность
    • Протестируйте ключевые функции
    • Проверьте логи на ошибки

Миграции базы данных

При обновлении могут потребоваться миграции БД:

# Автоматическое применение миграций
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

Откат обновления

В случае проблем можно откатиться к предыдущей версии:

# 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 <previous-version-tag>

# 4. Запуск предыдущей версии
docker-compose up -d

Уведомления об обновлениях

Каналы уведомлений

  1. GitHub Releases

    • Официальные релизы
    • Changelog изменений
    • Инструкции по обновлению
  2. Email рассылка

    • Уведомления о важных обновлениях
    • Информация о breaking changes
    • Рекомендации по обновлению
  3. В приложении

    • Уведомления о доступных обновлениях
    • Информация о новых функциях
    • Ссылки на документацию

Рекомендации по обновлениям

  1. Регулярность

    • Обновляйтесь регулярно для получения исправлений безопасности
    • Не откладывайте критичные обновления
    • Следите за changelog
  2. Тестирование

    • Тестируйте обновления на тестовой среде
    • Проверяйте совместимость с вашими данными
    • Убедитесь в работоспособности интеграций
  3. Резервное копирование

    • Всегда создавайте резервные копии перед обновлением
    • Храните несколько версий бэкапов
    • Тестируйте восстановление из бэкапа
  4. Документирование

    • Ведите журнал обновлений
    • Записывайте возникшие проблемы
    • Документируйте кастомные изменения

Долгосрочная поддержка (LTS)

Для стабильных версий может быть доступна долгосрочная поддержка:

  • Расширенный период поддержки
  • Приоритетные исправления безопасности
  • Гарантированная совместимость

💡 Важно: Обновления предоставляются бесплатно в течение 5 лет для держателей лицензионных токенов. После этого периода обновления могут быть платными или доступны через сообщество.


📚 Дополнительные ресурсы

Документация

Поддержка


© 2024-2025 Тарабанов Александр Викторович. Все права защищены.

Digital Legal Entity (DLE) - комплексное решение для управления бизнесом с блокчейн и AI.

Версия документа: 1.0.0
Последнее обновление: January 2025