From d2ca702c6f46dff36063c9d8261effd538441529 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 1 Nov 2025 20:45:25 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=BF=D0=B0=D0=BF=D0=BA=D0=B8=20legal=20?= =?UTF-8?q?=D0=B8=20docs=20=D0=B8=D0=B7=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B8?= =?UTF-8?q?=20private/backup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/FAQ.md | 1195 ++++++++++++++++ docs/ai-assistant.md | 386 +++++ docs/application-description.md | 332 +++++ docs/blockchain-for-business.md | 1289 +++++++++++++++++ docs/blockchain-integration-technical.md | 1049 ++++++++++++++ docs/security.md | 1309 +++++++++++++++++ docs/service-terms.md | 42 + docs/setup-ai-assistant.md | 929 ++++++++++++ docs/setup-instruction.md | 195 +++ docs/tables-system.md | 1639 ++++++++++++++++++++++ legal/AGREEMENT_DISTRIBUTION_RU.md | 195 +++ legal/ATTRIBUTION_REQUIREMENTS.md | 112 ++ legal/AUTHORS.md | 32 + legal/CONSENT_PERSONAL_DATA_RU.md | 39 + legal/CONTRIBUTING.md | 75 + legal/COOKIE_CONSENT_RU.md | 22 + legal/COPYRIGHT_NOTICE.md | 100 ++ legal/PDN_RIGHTS_AND_REVOCATION_RU.md | 23 + legal/PRIVACY_POLICY_RU.md | 49 + legal/README.md | 127 ++ legal/SERVICE_ACT_TEMPLATE_RU.md | 22 + legal/SERVICE_AGREEMENT_RU.md | 52 + legal/USAGE_NOTIFICATION.md | 130 ++ legal/service-terms.md | 614 ++++++++ legal/ПРАВОВЫЕ_ДОКУМЕНТЫ_ЗАДАЧА.md | 398 ++++++ 25 files changed, 10355 insertions(+) create mode 100644 docs/FAQ.md create mode 100644 docs/ai-assistant.md create mode 100644 docs/application-description.md create mode 100644 docs/blockchain-for-business.md create mode 100644 docs/blockchain-integration-technical.md create mode 100644 docs/security.md create mode 100644 docs/service-terms.md create mode 100644 docs/setup-ai-assistant.md create mode 100644 docs/setup-instruction.md create mode 100644 docs/tables-system.md create mode 100644 legal/AGREEMENT_DISTRIBUTION_RU.md create mode 100644 legal/ATTRIBUTION_REQUIREMENTS.md create mode 100644 legal/AUTHORS.md create mode 100644 legal/CONSENT_PERSONAL_DATA_RU.md create mode 100644 legal/CONTRIBUTING.md create mode 100644 legal/COOKIE_CONSENT_RU.md create mode 100644 legal/COPYRIGHT_NOTICE.md create mode 100644 legal/PDN_RIGHTS_AND_REVOCATION_RU.md create mode 100644 legal/PRIVACY_POLICY_RU.md create mode 100644 legal/README.md create mode 100644 legal/SERVICE_ACT_TEMPLATE_RU.md create mode 100644 legal/SERVICE_AGREEMENT_RU.md create mode 100644 legal/USAGE_NOTIFICATION.md create mode 100644 legal/service-terms.md create mode 100644 legal/ПРАВОВЫЕ_ДОКУМЕНТЫ_ЗАДАЧА.md diff --git a/docs/FAQ.md b/docs/FAQ.md new file mode 100644 index 0000000..e88e703 --- /dev/null +++ b/docs/FAQ.md @@ -0,0 +1,1195 @@ +# FAQ - Часто задаваемые вопросы по Digital Legal Entity (DLE) + +## 📋 Содержание + +1. [Общие вопросы](#общие-вопросы) +2. [Лицензирование и оплата](#лицензирование-и-оплата) +3. [Установка и развертывание](#установка-и-развертывание) +4. [Блокчейн и смарт-контракты](#блокчейн-и-смарт-контракты) +5. [Токенизация активов](#токенизация-активов) +6. [Система голосования](#система-голосования) +7. [AI Ассистент](#ai-ассистент) +8. [Техническая поддержка](#техническая-поддержка) +9. [Функциональность](#функциональность) +10. [Безопасность](#безопасность) +11. [Обновления](#обновления) +12. [Экономический эффект](#экономический-эффект) + +--- + +## Общие вопросы + +### Что такое Digital Legal Entity (DLE)? + +**DLE** - это комплексное веб-приложение для управления бизнесом с интеграцией блокчейна, включающее: + +- **CRM и управление контактами** - централизованная база клиентов с историей взаимодействий +- **AI ассистент с векторным поиском** - локальный ИИ для автоматизации бизнес-процессов +- **Омниканальную систему коммуникаций** - Telegram, Email, Web чат, SMS в едином интерфейсе +- **Блокчейн интеграцию** - мультичейн поддержка (Ethereum, Polygon, BSC, Arbitrum, Optimism, Avalanche, Base) +- **Блокчейн-управление** - через смарт-контракты и голосование токен-холдеров +- **Токенизацию активов** - превращение любых активов в цифровые токены +- **Группы и пространства для команд** - настраиваемые пространства для проектов с системой разрешений + +### Для кого предназначено DLE? + +DLE создано для **всех типов организаций**, нуждающихся в прозрачном коллективном управлении: + +- **Коммерческие организации** (ООО, АО, ИП, холдинги) +- **Некоммерческие организации** (НКО, фонды, ассоциации) +- **Государственные структуры** (муниципалитеты, ведомства) +- **Международные организации** (межправительственные, глобальные) +- **Инвестиционные фонды** и **венчурные компании** +- **Стартапы** и **малый бизнес** +- **Кооперативы** и **объединения** +- **Любые другие организации** с потребностью в коллективном управлении + +### В чем отличие от SaaS решений? + +| Параметр | DLE | Обычные SaaS | +|----------|-----|--------------| +| **Владение данными** | Полное (на вашей инфраструктуре) | Данные у провайдера | +| **Контроль** | 100% контроль | Ограниченный | +| **Оплата** | Единоразово (бессрочная лицензия) | Ежемесячная подписка | +| **Кастомизация** | Полная | Ограниченная | +| **Соответствие законам** | Под ваш регион | Зависит от провайдера | +| **AI без лимитов** | Бесплатно | $200+/месяц | +| **Блокчейн** | Встроен | Нет или доп. плата | +| **Обновления** | Бесплатно 5 лет (для держателей токенов) | Зависит от тарифа | + +### Какие технологии используются? + +- **Frontend**: Vue.js 3 + Vite + Element Plus +- **Backend**: Node.js + Express +- **База данных**: PostgreSQL + pgvector +- **AI**: Ollama (локальные LLM модели) + FAISS Vector Search (RAG) +- **Блокчейн**: Ethers.js v6, Hardhat, OpenZeppelin +- **Контейнеризация**: Docker Compose +- **Пакетный менеджер**: Yarn + +--- + +## Лицензирование и оплата + +### Сколько стоит DLE? + +**Краткая справка по ценам:** + +| Тип лицензии | Цена | Токенов управления | Голосов | +|--------------|------|-------------------|---------| +| **Standard** | $1,000 USDT | 1 токен | 1 голос | +| **Priority** | $10,000 USDT | 10 токенов | 10 голосов | + +**⚠️ Важно**: +- Все цены указаны БЕЗ УЧЕТА НАЛОГОВ +- Комиссии за платежи и конвертацию несет покупатель +- Условия обслуживания одинаковы для обеих лицензий + +### Что входит в лицензию? + +✅ **Все лицензии включают:** +- Пожизненный доступ к приложению +- Все будущие обновления бесплатно +- Техническую поддержку через портал +- AI ассистент 24/7 без лимитов +- Участие в голосовании за новые функции +- Онлайн-сессии обучения (групповые и индивидуальные) +- Полный исходный код с документацией + +**Единственное различие** - количество голосов в системе управления. + +### Есть ли подписка или ежемесячные платежи? + +**Нет!** DLE использует модель **бессрочной лицензии** (Perpetual License): +- Оплата один раз +- Доступ навсегда +- Все обновления бесплатно 5 лет для держателей лицензионных токенов (см. [legal/service-terms.md](../legal/service-terms.md)) +- Никаких скрытых платежей +- AI работает без лимитов на запросы + +### Какие есть типы лицензий? + +**Два типа лицензий** (различие только в количестве голосов): + +| Тип лицензии | Цена | Токенов | Голосов | Влияние | +|--------------|------|---------|---------|---------| +| **Standard** | $1,000 USDT | 1 токен | 1 голос | Базовое | +| **Priority** | $10,000 USDT | 10 токенов | 10 голосов | Усиленное | + +**Условия обслуживания одинаковые** для обеих лицензий. + +### Что такое токены управления? + +**Токены управления** - это ERC20 токены на блокчейне, которые дают: +- **Право голоса** за развитие продукта (1 токен = 1 голос) +- **Участие в голосовании** за новые функции +- **Влияние на приоритеты** разработки +- **Доступ к управлению** : https://hb3-accelerator.com/ + +### Можно ли использовать несколько видов деятельности? + +**Нет, одна лицензия = один вид деятельности**: +- Каждая лицензия привязана к одному виду бизнеса +- Для разных видов деятельности нужны отдельные лицензии +- Можно переопределить вид деятельности, но только один одновременно + +### Что входит в техническую поддержку? + +**Все держатели лицензий получают**: +- 🌐 **Портал поддержки**: https://hb3-accelerator.com/ +- 💬 **Чат с поддержкой** 24/7 +- 🤖 **AI ассистент** для консультаций +- 🎓 **Онлайн-сессии обучения** (групповые и индивидуальные) +- 📚 **Библиотека записей** всех сессий +- 📧 **Email поддержка** + +### Как работает система голосования? + +**Демократическое управление продуктом**: +1. **Предложения** - сообщество предлагает новые функции +2. **Голосование** - токен-холдеры голосуют (1 токен = 1 голос) +3. **Кворум** - решения принимаются при 51%+ голосов +4. **Реализация** - одобренные функции берутся в разработку + +**Веб приложение для голосования**: https://hb3-accelerator.com/ + +### Есть ли гарантия возврата денег? + +**Да, программа возврата 70%** в течение 5 лет, если: +- Накопилось свыше 51% отрицательных голосов +- Жалобы касаются отсутствия обновлений +- Голосование проведено через блокчейн +- Запрос подан в течение 5 лет с покупки + +### Включены ли налоги в цену? + +**НЕТ! Все цены указаны БЕЗ УЧЕТА НАЛОГОВ**: +- Покупатель самостоятельно уплачивает все налоги +- НДС (VAT) - 15-25% в зависимости от страны +- Налог на продажу (Sales Tax) - в США и других странах +- Налог на доход (Income Tax) - зависит от налогового статуса +- Таможенные пошлины - при импорте в определенные страны + +### Кто платит комиссии за платежи? + +**ВСЕ КОМИССИИ НЕСЕТ ПОКУПАТЕЛЬ**: +- **Конвертация валют**: 1-5% от суммы +- **Банковские переводы**: $10-50+ за операцию +- **Gas fees блокчейна**: $1-50+ в зависимости от сети +- **Комиссии платежных систем**: 2-5% от суммы + +**Пример итоговых затрат**: +- USDT напрямую: $1,000 + $15-80 = $1,015-1,080 +- SWIFT перевод: $1,000 + $25-80 = $1,025-1,080 +- Карта в EUR: €899 + €30-45 = €929-944 + +### Как можно оплатить лицензию? + +**Доступные методы оплаты**: +- 💵 **USDT** - директно на адреса авторизованных партнеров +- 💳 **Местная валюта** - эквивалент в валюте страны покупателя +- 🏦 **Банковский перевод** - через авторизованных дилеров +- 💳 **Кредитные карты** - через платежные системы партнеров + +### Где можно купить лицензию? + +**Официальные каналы**: +- 📧 **Прямо у автора**: info@hb3-accelerator.com +- 🌐 **Веб приложение**: https://hb3-accelerator.com/ +- 🤝 **Авторизованные дилеры** - компании с официальным разрешением + +## Установка и развертывание + +### Какие системные требования? + +**Минимальные требования**: +- **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 + +**Рекомендуемые**: +- **CPU**: 8+ ядер +- **RAM**: 32 GB+ +- **Хранилище**: 500 GB+ NVMe SSD +- **GPU**: NVIDIA (ускоряет AI в 5-10 раз) + +### Как развернуть DLE? + +**Простая установка через Docker**: +1. Клонировать репозиторий +2. Запустить `docker-compose up -d` +3. Открыть http://localhost:9000 +4. Подключить кошелек +5. Настроить RPC провайдеров +6. Задеплоить смарт-контракты + +### Можно ли развернуть в облаке? + +**Да, поддерживаются все варианты**: +- **Собственный сервер** - полный контроль +- **Облачные платформы** - AWS, Google Cloud, Azure +- **Локальная инфраструктура** - для соответствия регуляторным требованиям +- **Docker Compose** - развертывание одной командой + +### Как подключить крипто кошелек? + +**Пошаговая инструкция**: +1. Установите браузерный кошелек (MetaMask, WalletConnect или аналог) +2. Создайте или импортируйте аккаунт с токеном управления +3. В веб-приложении нажмите **"Подключить кошелек"** +4. Выберите тип кошелька и подтвердите подключение +5. После успешного подключения увидите адрес аккаунта в верхнем углу + +### Как настроить RPC провайдеров? + +**Настройка блокчейн-сетей**: +1. Перейдите в **Настройки** → вкладка **Безопасность** +2. Найдите раздел **"RPC провайдеры"** и нажмите **"Добавить"** +3. Заполните форму для каждой сети: + - **Название сети** (Ethereum, Polygon, BSC) + - **RPC URL** (например: `https://eth-mainnet.g.alchemy.com/v2/YOUR-API-KEY`) + - **ID сети** (Chain ID) +4. Нажмите **"Сохранить"** для каждого провайдера +5. Система автоматически проверит корректность подключения + +### Как задеплоить смарт-контракты? + +**Мультичейн деплой**: +1. Перейдите в **Настройки** → вкладка **Блокчейн** +2. Заполните форму +3. Нажмите **"Запустить деплой"** +4. Ожидайте завершения (30-120 секунд) +5. Скопируйте адрес развернутого контракта +6. Настройте аутентификацию через смарт-контракт + +### Как настроить аутентификацию через смарт-контракт? + +**Настройка доступа**: +1. Перейдите в **Настройки** → вкладка **Аутентификация** +2. Вставьте адрес смарт-контракта +3. Установите пороги: + - **Минимальное количество токенов для редактирования** (например: 100 токенов) + - **Минимальное количество токенов для просмотра** (например: 1 токен) + +### Как настроить AI и базу данных? + +**Настройка ИИ**: +1. Перейдите в **Настройки** → вкладка **ИИ** +2. Откройте подраздел **"База данных"** +3. Замените дефолтные пароли +4. Нажмите **"Сгенерировать новый ключ шифрования"** +5. **Сохраните ключ в безопасном месте** (понадобится для восстановления данных) + +### Как настроить доступ через интернет? + +**Публикация приложения**: +1. Перейдите в **Настройки** → вкладка **Сервер** +2. Выберите **WEB SSH** или подходящий сервис +3. Заполните форму для миграции на VDS с: + - **Публичным IP адресом** + - **Подключением к доменному имени** +4. Нажмите **"Опубликовать"** +5. Дождитесь завершения миграции + +**ℹ️ Требуется**: Зарегистрированное доменное имя и доступ к DNS настройкам + +### Как настроить юридические документы? + +**Заполнение юридической информации**: +1. Перейдите в **CRM** → раздел **Контент** +2. Откройте форму **"Юридическая информация компании"** +3. Заполните поля. Нажмите **"Сохранить"** + +**Работа с шаблонами**: +1. В разделе **Контент** → **"Шаблоны"** +2. Выберите необходимые документы: + - Политика конфиденциальности + - Пользовательское соглашение + - Согласие на обработку персональных данных + - Политика использования cookies +3. Нажмите **"Предварительный просмотр"** для проверки +4. Выберите действие: + - **"Опубликовать для публичного использования"** + - **"Опубликовать для внутреннего использования"** + - **"Распечатать"** (экспорт в PDF) + +**⚠️ Рекомендация**: Проконсультируйтесь с юристом перед публикацией документов + +--- + +## Функциональность + +### Что такое AI ассистент в DLE? + +**AI Ассистент** - это встроенный интеллектуальный помощник, который использует: +- 🧠 **Ollama** - локальные open-source модели AI (qwen2.5:7b) +- 🔍 **Векторный поиск** - FAISS для семантического поиска +- 📚 **RAG** (Retrieval-Augmented Generation) - поиск по базе знаний +- 💾 **Кэширование** - мгновенные ответы на частые вопросы + +**Ключевые преимущества**: +1. **🏠 100% локальный** - все данные на вашем сервере +2. **🔒 Полная конфиденциальность** - ничего не уходит в облако +3. **⚡ Молниеносные ответы** - кэширование и векторный поиск +4. **💰 Нулевые затраты на API** - нет оплаты за токены +5. **📈 Обучается на ваших данных** - персонализированные ответы +6. **🌍 Многоязычный** - поддержка русского, английского и др. +7. **🔄 24/7 доступность** - работает круглосуточно + +### Какие возможности у AI ассистента? + +**15 ключевых областей применения**: + +1. **📞 Клиентский сервис и поддержка** - автоматические ответы 24/7, анализ настроения клиентов, эскалация сложных вопросов +2. **📊 Аналитика и бизнес-интеллект** - анализ больших данных, прогнозирование продаж, сегментация клиентов +3. **💰 Финансовое планирование и учет** - автоматическая бухгалтерия, прогнозирование денежных потоков, анализ рентабельности +4. **🎯 Маркетинг и продажи** - генерация контента, персонализация сообщений, A/B тестирование, управление воронкой продаж +5. **👥 HR и управление персоналом** - скрининг резюме, собеседования с чат-ботом, планирование обучения, анализ производительности +6. **📋 Управление проектами и задачами** - автоматическое планирование проектов, отслеживание прогресса, оптимизация процессов +7. **🔍 Исследования и разработка** - анализ рынка, исследование технологий, генерация идей для новых продуктов +8. **🛡️ Безопасность и комплаенс** - мониторинг безопасности, выявление угроз, анализ соответствия требованиям +9. **📈 Операционная эффективность** - оптимизация цепочек поставок, планирование производства, автоматизация процессов +10. **🎓 Обучение и развитие** - персонализированные программы обучения, создание интерактивных курсов, оценка знаний +11. **🌐 Международная деятельность** - автоматический перевод, анализ культурных особенностей, адаптация контента +12. **🔮 Стратегическое планирование** - анализ макроэкономических трендов, сценарное планирование, оценка инвестиций +13. **📱 Мобильные и цифровые решения** - разработка мобильных приложений, создание чат-ботов, голосовые ассистенты +14. **🏭 Отраслевые решения** - специализированные решения для здравоохранения, финансов, ритейла, производства +15. **🔄 Интеграция и автоматизация** - API-интеграции, автоматизация рабочих процессов, создание единой экосистемы + +**Экономический эффект**: $507,600-519,600/год при ROI 50,760-51,960% + +### Как работает AI ассистент? + +**Философия**: AI не заменяет людей, а становится их вторым пилотом, высвобождая 85% времени для стратегии и креатива. + +**Архитектура работы**: +1. **Пользователь задает вопрос** → "Как вернуть товар?" +2. **Векторизация вопроса** → Ollama mxbai-embed-large:latest (Текст → Вектор [768 чисел]) +3. **Векторный поиск (FAISS)** → Поиск похожих вопросов в базе (Top-3 результата по семантике) +4. **Контекстный поиск (RAG)** → Извлечение ответов из базы знаний, фильтрация по тегам/продуктам +5. **Генерация ответа (LLM)** → Ollama qwen2.5:7b (Контекст + Вопрос → Ответ) +6. **Кэширование** → Сохранение в кэш на 1 час (следующий такой же вопрос < 50ms) +7. **Ответ пользователю** → "Товар можно вернуть в течение..." + +**Технологический стек**: +- **LLM модель**: Ollama qwen2.5:7b (генерация текста, диалог) +- **Embedding модель**: mxbai-embed-large (векторизация текста) +- **Векторная БД**: FAISS (быстрый семантический поиск) +- **Основная БД**: PostgreSQL (хранение базы знаний) +- **Кэш**: Node.js Map + TTL (ускорение повторных запросов) +- **Очередь**: AI Queue (обработка задач по приоритету) + +### Что такое омниканальные коммуникации? + +**Единый интерфейс для всех каналов**: +- 💬 **Telegram бот** - интеграция через Bot API +- 📧 **Email** - SMTP/IMAP, Gmail, Outlook +- 🌐 **Web чат** - виджет для сайта +- 📱 **SMS** - интеграция через провайдеров +- 📋 **Веб-формы** - конструктор форм + +**Преимущества**: +- Один контекст для клиента на всех каналах +- Автоматическая маршрутизация сообщений +- AI автоответы с обучением на ваших данных +- Аналитика по каналам и времени ответа + +### Что такое система электронных таблиц? + +**Полнофункциональная база данных** с графическим интерфейсом: +- ✅ **6 типов полей** (text, number, relation, lookup, etc.) +- ✅ **Связи между таблицами** (1:1, 1:N, N:N) +- ✅ **Lookup и подстановка** данных +- ✅ **Фильтрация и сортировка** +- ✅ **Real-time обновления** (WebSocket) +- ✅ **Интеграция с AI** (RAG для поиска) +- ✅ **Шифрование** всех данных (AES-256) + +### Что такое группы и пространства? + +**Организация работы команды**: +- Создание пространств для проектов +- Приглашение участников +- Распределение ролей и разрешений (20+ типов) +- Изолированные данные между группами +- Роли: Editor, ReadOnly, User + +--- + +## AI Ассистент + +### Какие модели AI установлены по умолчанию? + +**LLM модели**: +- **qwen2.5:7b** (рекомендуется) — для русского языка, 4.7 GB + +**Embedding модели**: +- **mxbai-embed-large:latest** (рекомендуется) — 670 MB + +### Как создать базу знаний для AI? + +**Создание таблицы FAQ**: +1. Перейдите в **Таблицы** → **"+ Создать таблицу"** +2. Заполните: + - **Название**: `FAQ - Часто задаваемые вопросы` + - **Описание**: `База знаний для AI ассистента по работе с клиентами` + +**Настройка столбцов** (обязательные): +- **Вопрос** (Текст, назначение: "Вопрос для AI") ⭐ +- **Ответ** (Текст, назначение: "Ответ AI") ⭐ +- **Продукт** (Множественный выбор, фильтр по продукту) +- **Теги** (Множественный выбор, теги пользователя) +- **Приоритет** (Число, приоритет) + +**Активация для AI**: +1. В настройках таблицы включите **"Использовать как источник для AI"** ✅ +2. Нажмите **"Сохранить"** + +### Как настроить системный промт? + +**Базовый промт**: +``` +Вы — профессиональный ассистент службы поддержки компании. + +Правила: +1. Отвечайте вежливо и профессионально +2. Используйте информацию из базы знаний +3. Если информации нет — предложите связаться с оператором +4. Отвечайте кратко и по существу +5. Всегда заканчивайте вопросом "Чем еще могу помочь?" +``` + +**Продвинутый промт** (с персонализацией): +``` +Вы — профессиональный ассистент службы поддержки компании "Название вашей компании". + +О компании: +- Мы занимаемся [краткое описание бизнеса] +- Наши ценности: качество, надежность, клиентоориентированность + +Стиль общения: +- Дружелюбный, но профессиональный +- Обращайтесь к клиенту на "Вы" +- Используйте эмодзи умеренно (1-2 на сообщение) + +Правила ответа: +1. Сначала ищите ответ в базе знаний (RAG) +2. Если нашли — отвечайте на основе найденной информации +3. Если не нашли — честно скажите и предложите помощь оператора +4. Не придумывайте информацию о ценах, сроках, условиях +5. При сложных вопросах предлагайте связаться с менеджером + +Всегда заканчивайте: "Чем еще могу помочь? 😊" +``` + +### Как настроить правила AI? + +**Создание набора правил**: +1. Нажмите **"Создать"** рядом с полем "Набор правил" +2. Заполните: + - **Название**: `Гибридный режим (RAG + генерация)` + - **Описание**: `AI сначала ищет в базе знаний, если не находит — генерирует ответ` + +**Правила (JSON)**: +```json +{ + "checkUserTags": true, + "searchRagFirst": true, + "generateIfNoRag": true, + "temperature": 0.7, + "maxTokens": 500 +} +``` + +**Параметры**: +- `checkUserTags: true` — учитывать теги пользователя при поиске +- `searchRagFirst: true` — сначала искать в базе знаний +- `generateIfNoRag: true` — генерировать ответ, если ничего не найдено +- `temperature: 0.7` — баланс между точностью и креативностью (0.0-1.0) +- `maxTokens: 500` — максимальная длина ответа + +### Как настроить RAG поиск? + +**Базовые настройки**: +- **Метод поиска**: `Гибридный поиск` (рекомендуется) +- **Максимальное количество результатов**: `5` +- **Порог релевантности**: `0.1` (от 0.01 до 1.0) + +**Извлечение ключевых слов**: +- ✅ **Включить извлечение ключевых слов** +- **Минимальная длина слова**: `3` +- **Максимальное количество ключевых слов**: `10` +- ✅ **Удалять стоп-слова** + +**Веса поиска (для гибридного)**: +- **Семантический поиск**: `70%` (точность) +- **Поиск по ключевым словам**: `30%` (скорость) + +**Дополнительные настройки**: +- ✅ **Нечеткий поиск** (для опечаток) +- ✅ **Стемминг слов** (находит разные формы слова) +- ☐ **Поиск синонимов** (пока отключен) + +### Как протестировать AI ассистента? + +**Встроенный тестер**: +1. В настройках AI ассистента найдите **"🧠 Тест RAG-функциональности"** +2. Выберите таблицу `FAQ - Часто задаваемые вопросы` +3. Введите тестовый вопрос: `Как оплатить заказ?` +4. Нажмите **"Тестировать RAG"** +5. Проверьте результат: + - **Score -300 до 0** ✅ — отличное совпадение + - **Score 0 до 300** ⚠️ — среднее совпадение + - **Score >300** ❌ — совпадение не найдено + +**Тестирование через Web Chat**: +1. Найдите виджет **"💬 Чат с AI"** на главной странице +2. Введите вопрос: `Сколько стоит доставка?` +3. Проверьте ответ AI + +### Как интегрировать с Telegram и Email? + +**Настройка Telegram бота**: +1. Создайте бота через [@BotFather](https://t.me/botfather) в Telegram +2. Скопируйте **Bot Token** +3. В настройках DLE введите токен и username бота +4. В настройках AI ассистента выберите этот Telegram бот + +**Настройка Email интеграции**: +1. Перейдите в **Настройки** → **Интеграции** → **Email** +2. Заполните IMAP настройки (для получения писем) +3. Заполните SMTP настройки (для отправки писем) +4. Нажмите **"Тест IMAP"** и **"Тест SMTP"** для проверки +5. В настройках AI ассистента выберите этот Email + +## Экономический эффект + +### Сколько можно сэкономить с DLE? + +**Сравнение с SaaS за 5 лет**: + +**Типичный стек SaaS**: +- CRM (HubSpot): $200/мес × 60 мес = $12,000 +- Чат-бот (Intercom): $150/мес × 60 мес = $9,000 +- Email (SendGrid): $100/мес × 60 мес = $6,000 +- AI (ChatGPT API): $200/мес × 60 мес = $12,000 +- **ИТОГО**: $39,000 + +**DLE**: +- Лицензия (один раз): $1,000 +- Обновления (5 лет): $0 +- AI без лимитов: $0 +- **ИТОГО**: $1,000 +- **ЭКОНОМИЯ**: $38,000 + +### Какой ROI от AI ассистента? + +**Сравнение с облачными решениями**: + +| Характеристика | DLE AI (Локальный) | ChatGPT API | Claude API | +|----------------|-------------------|-------------|------------| +| **Стоимость** | $0 | ~$0.02/запрос | ~$0.03/запрос | +| **Конфиденциальность** | ✅ 100% | ❌ Данные в OpenAI | ❌ Данные в Anthropic | +| **Скорость (кэш)** | 50ms | 500-2000ms | 500-2000ms | +| **Offline работа** | ✅ Да | ❌ Нет | ❌ Нет | +| **Настройка под бизнес** | ✅ Полная | ⚠️ Ограниченная | ⚠️ Ограниченная | +| **Лимиты API** | ❌ Нет | ✅ Есть | ✅ Есть | + +**Экономия при использовании облачных API**: +- При 10,000 запросов/месяц: ChatGPT $2,400/год, Claude $3,600/год, DLE $0/год +- При 50,000 запросов/месяц: ChatGPT $12,000/год, Claude $18,000/год, DLE $0/год +- При 100,000 запросов/месяц: ChatGPT $24,000/год, Claude $36,000/год, DLE $0/год + +**Суммарная экономия по всем направлениям**: +- Обслуживание клиентов: $57,600 +- Работа с поставщиками + AI закупщик: $64,800 +- Работа с партнерами: $43,200 +- Обучение персонала: $30,000 +- Управление персоналом: $57,600 +- Отчетность и анализ: $144,000 +- Контент-маркетинг: $86,400 +- Экономия на API токенах: $24,000-36,000 +- **ИТОГО**: $507,600-519,600/год + +**ROI**: 50,760-51,960% или 507-519x окупаемость + +### Какие дополнительные выгоды от AI ассистента? + +**Неизмеримые преимущества**: +- 📈 **Повышение качества работы** - AI работает без усталости и ошибок +- 😊 **Удовлетворенность клиентов +19%** - быстрые и точные ответы +- 👥 **Удержание сотрудников +15%** - меньше рутины, больше интересных задач +- 🚀 **Скорость принятия решений +300%** - мгновенный доступ к информации +- 💡 **Больше времени на стратегию** - AI освобождает 85% времени от рутины +- 🎯 **Меньше рутины, больше креатива** - фокус на развитии бизнеса + +### Сколько экономии на токенизации активов? + +**Традиционная сделка с недвижимостью ($1M)**: +- Комиссия риелтора: 3-5% = $30,000-50,000 +- Юридические услуги: $5,000-10,000 +- Регистрация права: $2,000-5,000 +- Время: 2-6 месяцев +- **ИТОГО**: $37,000-65,000 + +**Токенизированная сделка через DLE**: +- Gas fees: $50-200 +- Смарт-контракт (один раз): $500 +- Время: 5-10 минут +- **ИТОГО**: $550-700 + +**Экономия**: 99% затрат и 99% времени + +--- + +## Вопросы по веб-приложению + +### Как получить доступ к веб-приложению DLE? + +**Требования для доступа**: +- Наличие токенов управления DLE на вашем кошельке +- Подключение кошелька (MetaMask, WalletConnect и др.) +- Стабильное интернет-соединение + +**Процесс входа**: +1. Откройте веб-приложение: https://hb3-accelerator.com/ +2. Нажмите "Подключить кошелек" +3. Выберите ваш кошелек (MetaMask, WalletConnect) +4. Подтвердите подключение +5. Система проверит баланс токенов в смарт-контракте +6. При наличии токенов - доступ предоставляется + +**Уровни доступа**: +- **0 токенов**: Нет доступа (только страница "Нет доступа") +- **1+ токенов**: ReadOnly (просмотр данных) +- **100+ токенов**: Editor (редактирование, создание) +- **Любое количество**: Голосование (1 токен = 1 голос) + +### Какие браузеры поддерживает веб-приложение? + +**Рекомендуемые браузеры**: +- ✅ Chrome 90+ (лучшая совместимость) +- ✅ Firefox 88+ +- ✅ Safari 14+ +- ✅ Edge 90+ +- ✅ Brave (с поддержкой Web3) + +**Требования**: +- JavaScript включен +- Web3 совместимость (для подключения кошелька) +- Поддержка современных веб-стандартов + +### Как работает аутентификация в веб-приложении? + +**Sign-In with Ethereum (SIWE)**: +- Приватный ключ **никогда** не покидает ваш кошелек +- Каждый nonce используется **один раз** и истекает через 5 минут +- Подделать подпись невозможно без приватного ключа +- Полная безопасность аутентификации + +**Процесс**: +1. Генерация одноразового nonce +2. Сохранение в БД с шифрованием +3. Подпись сообщения вашим кошельком +4. Проверка подписи на сервере +5. Создание сессии при успешной проверке + +### Что делать, если веб-приложение недоступно? + +**Альтернативные способы управления**: + +1. **Через блокчейн-сканеры**: + - Etherscan (Ethereum): https://etherscan.io + - Polygonscan (Polygon): https://polygonscan.com + - BscScan (BSC): https://bscscan.com + - Arbiscan (Arbitrum): https://arbiscan.io + +2. **Функции через Etherscan**: + - Проверка баланса токенов + - Создание предложений + - Голосование за предложения + - Исполнение одобренных предложений + +3. **Преимущества**: + - Полная независимость от веб-приложения + - Невозможно подделать данные + - Доступ 24/7 из любой точки мира + +## Вопросы по условиям использования + +### Какие типы лицензий доступны? + +**Единственный тип лицензии - Бессрочная (Perpetual License)**: +- ⏳ **Срок действия**: Пожизненная (без ограничения по времени) +- 🔄 **Обновления**: БЕСПЛАТНЫ для всех держателей лицензий +- 🚫 **Отмена**: Лицензия не может быть отменена компанией +- ⚖️ **Условия обслуживания**: Одинаковые для всех лицензий + +**Варианты по количеству токенов**: +- **Standard Support**: $1,000 USDT (1 токен = 1 голос) +- **Priority Support**: $10,000 USDT (10 токенов = 10 голосов) + +### Что включено в лицензию? + +**Все держатели лицензий получают**: +- ✅ Все обновления веб-приложения (бесплатно 5 лет для держателей токенов) +- ✅ Доступ к документации и базе знаний +- ✅ Техническая поддержка через приложение +- ✅ AI ассистент 24/7 +- ✅ Все интеграции и возможности развертывания +- ✅ Участие в голосовании за новые фичи +- ✅ Ранний доступ к beta функциям +- ✅ SLA 99% uptime гарантия +- ✅ Онлайн-сессии обучения и внедрения + +### Как работает система голосования? + +**Процесс голосования**: +1. **Создание предложения**: Любой токен-холдер может создать предложение +2. **Регистрация на блокчейне**: Голосование создается в смарт-контракте +3. **Голосование токен-холдеров**: Каждый токен = 1 голос +4. **Реализация**: Если проголосовало 51%+ токенов - фича берется в разработку + +**Веб-приложение для голосования**: https://hb3-accelerator.com/ +- Создание предложений (proposals) +- Голосование за или против предложений +- Просмотр результатов голосований +- Отслеживание статуса разработки + +### Какие есть ограничения использования? + +**✅ Разрешено**: +- Использование для управления собственным бизнесом +- Развертывание на собственной инфраструктуре +- Использование выбранного вида деятельности (1 вид на лицензию) +- Резервное копирование данных +- Локальная модификация конфигурации +- Голосование за развитие новых функций +- Передача лицензии наследникам + +**❌ Запрещено**: +- Перепродажа или сублицензирование +- Использование более одного вида деятельности одной лицензией +- Reverse engineering и модификация исходного кода +- Удаление авторских прав и лицензионных уведомлений +- Совместное использование между независимыми организациями +- Использование в образовательных целях без разрешения +- Развертывание SaaS на основе приложения + +### Как работает программа возврата 70%? + +**Условия возврата**: +Вы можете потребовать возврат **70% от стоимости лицензии** в течение **5 лет** с момента покупки, если: + +1. ✋ **Порог жалоб**: Накопилось свыше **51% отрицательных голосов** +2. 📋 **Причина**: Жалобы касаются **отсутствия выпусков обновлений** +3. 🗳️ **Голосование**: Жалобы были **приняты через механизм голосования токен-холдеров на блокчейне** +4. ⏱️ **Сроки**: Запрос подан в течение **5 лет** с момента лицензирования + +**Процесс возврата**: +1. Запрос подается на hb3-accelerator.com с приложением блокчейн-доказательства +2. Подтверждение условий на смарт-контракте (51%+ голосов за возврат) +3. Возврат **70% от суммы покупки** в течение 30 дней + +### Как получить техническую поддержку? + +**Единый портал поддержки**: https://hb3-accelerator.com/ + +**Доступные каналы**: +- 🌐 Портал поддержки (все лицензии) +- 💬 Чат с support team (все лицензии) +- 🤖 AI ассистент 24/7 (все лицензии) +- 🎓 Онлайн-сессии обучения (все лицензии) +- 📚 Библиотека записей (все лицензии) +- 📧 Email поддержка (все лицензии) + +**SLA (время первого ответа)**: +- 🔴 Критическая: 4 часа +- 🟠 Высокая: 8 часов +- 🟡 Средняя: 24 часа +- 🟢 Низкая: 48 часов + +### Как работают обновления приложения? + +**Бесплатные обновления для всех держателей лицензий**: +- Исправления ошибок (Bug Fixes) +- Улучшения производительности +- Новые функции (одобренные голосованием) +- Обновления безопасности + +**Частота**: +- Security Patches: Немедленно (при обнаружении) +- Regular Updates: Еженедельно (по средам) +- Major Features: По результатам голосования + +**Платформа скачивания**: https://hb3-accelerator.com/ +- Скачивание всех выпущенных версий +- Подробные заметки о релизах +- Календарь запланированных обновлений +- Автоматические уведомления о новых версиях + +### Как работает система безопасности веб-приложения? + +**Многоуровневая защита**: +- 🔐 **TLS 1.3** для всех соединений +- 🔐 **AES-256** для критичных данных в хранилище +- 🔐 **Rate limiting** и защита от DDoS +- 🔐 **CSRF токены** для всех форм +- 🔐 **XSS защита** (DOMPurify) +- 🔐 **Helmet.js** для защиты заголовков + +**Аутентификация через SIWE**: +- Приватный ключ никогда не покидает кошелек +- Каждый nonce используется один раз и истекает через 5 минут +- Подделать подпись невозможно без приватного ключа + +## Вопросы по установке и настройке + +### Какие системные требования для установки DLE? + +**Минимальные требования**: +- **ОС**: Linux, Windows, macOS +- **RAM**: 8 GB (рекомендуется 16 GB) +- **Диск**: 50 GB свободного места +- **Docker**: версия 20.10+ +- **Docker Compose**: версия 2.0+ + +**Рекомендуемые требования**: +- **RAM**: 32 GB +- **Диск**: 100 GB SSD +- **CPU**: 8+ ядер +- **Интернет**: стабильное соединение + +### Как установить DLE? + +**Автоматическая установка (рекомендуется)**: +```bash +curl -fsSL https://raw.githubusercontent.com/VC-HB3-Accelerator/DLE/main/setup-template.sh | bash +``` + +**Ручная установка**: +1. Клонирование репозитория +2. Импорт Docker образов +3. Создание и импорт томов +4. Запуск приложения + +**Доступ к приложению**: +- Frontend: http://localhost:9000 (HTTP) или https://localhost:9443 (HTTPS) +- Backend API: http://localhost:9000/api + +### Как настроить блокчейн интеграцию? + +**Требования**: +- Криптовалютный кошелек (MetaMask, WalletConnect) +- RPC провайдер (Infura, Alchemy, или собственный узел) +- USDT для деплоя смарт-контракта + +**Процесс настройки**: +1. Подключение кошелька +2. Настройка RPC провайдера +3. Деплой смарт-контракта DLE + +## Вопросы по функциональности + +### Какие основные функции доступны в DLE? + +**Блокчейн функции**: +- Создание и управление смарт-контрактами +- Система голосования токен-холдеров +- Токенизация активов +- Мультивалютная казна +- Автоматические выплаты + +**AI ассистент**: +- Локальный AI без лимитов +- База знаний на основе электронных таблиц +- Анализ данных и прогнозирование +- Автоматизация бизнес-процессов +- Омниканальные коммуникации + +**Электронные таблицы**: +- Полнофункциональная база данных +- Связи между таблицами (Relation) +- Автоматические подстановки (Lookup) +- Реальное время обновления +- Интеграция с AI + +### Как работает система электронных таблиц? + +**Типы полей**: +- **Text** - текстовые данные +- **Number** - числовые значения +- **Date** - даты и время +- **Boolean** - да/нет +- **Relation** - связи с другими таблицами +- **Lookup** - автоматические подстановки +- **File** - файлы и изображения + +**Функциональность**: +- CRUD операции (создание, чтение, обновление, удаление) +- Фильтрация и сортировка +- Поиск по всем полям +- Экспорт в различные форматы +- Интеграция с AI для анализа + +## Вопросы по безопасности + +### Как защищены данные в DLE? + +**Шифрование**: +- **TLS 1.3** для всех соединений +- **AES-256** для данных в хранилище +- **Управление ключами** под контролем пользователя + +**Блокчейн защита**: +- Токены нельзя украсть (заблокированы переводы) +- Все операции записаны на блокчейне +- Невозможно подделать историю +- Независимость от веб-приложения + +**Веб-приложение защита**: +- Rate limiting от DDoS +- CSRF и XSS защита +- Clean logs (очистка чувствительных данных) +- Helmet.js для заголовков + +### Что делать при подозрении на взлом? + +**Защита токенов**: +- Токены DLE заблокированы от переводов +- Единственный способ перевода - через голосование +- Даже при взломе кошелька токены защищены + +### Как работает система аудита? + +**Прозрачность на блокчейне**: +- Все действия записаны навсегда +- Невозможно скрыть или удалить +- Публичная проверка через Etherscan + +**Мониторинг в реальном времени**: +- Отслеживание всех событий смарт-контракта +- Автоматические алерты при подозрительной активности +- Уведомления токен-холдеров + +--- + +## Вопросы по экономике и ROI + +### Сколько денег сэкономит DLE моему бизнесу? + +**Для бизнеса с оборотом $1M/год**: +- **Банковские комиссии**: экономия $25,750/год (96%) +- **Корпоративное управление**: экономия $42,000/год (78%) +- **Привлечение инвестиций**: экономия $49,400 на сделку (99%) +- **AI без лимитов**: экономия $36,000/год (локальный vs облачный) +- **ИТОГО**: $117,150/год + дополнительная прибыль ~$1,000,000 + +**ROI**: 1,117% на инвестиции в DLE +**Окупаемость**: < 1 месяца + +### Какие скрытые расходы есть у DLE? + +**Единоразовые расходы**: +- Лицензия: $1,000-10,000 USDT +- Деплой смарт-контракта: $100-500 (gas fees) +- Настройка: $0 (самостоятельно) + +**Ежемесячные расходы**: +- Хостинг: $50-200/месяц +- RPC провайдер: $0-100/месяц (можно бесплатно) +- Gas fees: $10-100/месяц (зависит от активности) + +**Сравнение с традиционными решениями**: +- Традиционный бизнес: $54,000+/год +- SaaS решения: $12,000-60,000/год +- DLE: $1,200-3,000/год + +### Как рассчитать экономию для моего бизнеса? + +**Формула расчета**: +``` +Экономия = (Оборот × 0.03) + (Сотрудники × 2000) + (Инвестиции × 0.1) + +Где: +- 0.03 = 3% банковских комиссий +- 2000 = $2,000/год на сотрудника (управление) +- 0.1 = 10% от суммы привлеченных инвестиций +``` + +**Пример для малого бизнеса** (оборот $100,000, 3 сотрудника): +- Банковские комиссии: $3,000 +- Управление: $6,000 +- **ИТОГО**: $9,000/год экономии +- **ROI**: 900% на лицензию $1,000 + +--- + +## Вопросы по практическому применению + +### С чего начать внедрение DLE? + +**Первый месяц**: +1. **Неделя 1**: Установка и настройка +2. **Неделя 2**: Создание базы знаний для AI +3. **Неделя 3**: Настройка электронных таблиц +4. **Неделя 4**: Тестирование и обучение команды + +**Приоритетные задачи**: +1. Настроить CRM для клиентов +2. Создать базу знаний для поддержки +3. Настроить автоматизацию закупок +4. Подключить омниканальные коммуникации + +### Как DLE поможет с клиентами? + +**Автоматизация поддержки**: +- AI отвечает на 80% вопросов клиентов +- Работает 24/7 без выходных +- Анализирует настроение клиентов +- Создает тикеты автоматически + +**Управление клиентской базой**: +- Полная история взаимодействий +- Автоматические напоминания +- Сегментация клиентов +- Прогнозирование потребностей + +**Каналы коммуникации**: +- Telegram бот +- Email поддержка +- Web чат на сайте + +### Как DLE поможет с поставщиками? + +**База поставщиков**: +- Каталог всех поставщиков +- Сравнение цен и условий +- Рейтинг и отзывы +- История сотрудничества + +**AI закупщик**: +- Поиск лучших предложений +- Анализ условий договоров +- Контроль сроков поставок +- Автоматические уведомления + +**Экономия**: +- Снижение закупочных цен на 5-15% +- Ускорение процесса выбора поставщиков +- Снижение рисков + +### Как DLE поможет с финансами? + +**Автоматизация учета**: +- Ведение бухгалтерии +- Формирование отчетов +- Контроль расходов +- Планирование бюджета + +**Блокчейн-финансы**: +- Мгновенные платежи 24/7 +- Комиссии в 50-100 раз ниже +- Нет географических ограничений +- Прозрачность всех операций + +**Аналитика**: +- Прогнозирование денежных потоков +- Анализ рентабельности +- Выявление финансовых рисков +- KPI и метрики + +--- + +## Вопросы по интеграции с существующими системами + +### Как перенести данные из существующих систем? + +**Пошаговый процесс**: +1. **Экспорт данных** из текущей системы +2. **Очистка и форматирование** данных +3. **Импорт в DLE** через веб-интерфейс +4. **Проверка корректности** данных +5. **Настройка связей** между таблицами + +**Поддерживаемые форматы**: +- Excel (.xlsx, .xls) +- CSV +- JSON + +## Вопросы по масштабированию + +### Как DLE масштабируется с ростом бизнеса? + +**Горизонтальное масштабирование**: +- Добавление новых серверов +- Распределение нагрузки +- Кластеризация баз данных +- CDN для статики + +**Вертикальное масштабирование**: +- Увеличение RAM и CPU +- SSD диски +- Оптимизация запросов +- Кэширование + +**Ограничения**: +- **Пользователи**: до 10,000 одновременных +- **Данные**: до 1TB на таблицу +- **API запросы**: до 10,000/минуту +- **Файлы**: до 100GB общий размер + +### Сколько пользователей может работать одновременно? + +**Рекомендуемые лимиты**: +- **Малый бизнес** (до 50 пользователей): стандартная конфигурация +- **Средний бизнес** (до 500 пользователей): увеличенная RAM (32GB+) +- **Крупный бизнес** (до 5,000 пользователей): кластерная конфигурация +- **Корпорации** (10,000+ пользователей): распределенная архитектура + +**Производительность**: +- **Отклик интерфейса**: < 200ms +- **Загрузка страниц**: < 2 секунды +- **API запросы**: < 500ms +- **Поиск**: < 1 секунды + +### Как DLE справляется с большими объемами данных? + +**Оптимизации**: +- **Индексирование**: автоматические индексы для поиска +- **Пагинация**: загрузка данных по частям +- **Кэширование**: Redis для часто используемых данных +- **Сжатие**: сжатие данных в базе + +**Рекомендации**: +- Используйте фильтры для больших таблиц +- Настройте архивирование старых данных +- Регулярно очищайте неиспользуемые файлы +- Мониторьте производительность + +--- + +## Дополнительные ресурсы + +### Документация +- 📋 [FAQ](./FAQ.md) - этот документ +- 🔧 [Установка](./setup-instruction.md) - пошаговая настройка +- 🤖 [AI Ассистент](./ai-assistant.md) - полные возможности ИИ +- 🔗 [Блокчейн для бизнеса](./blockchain-for-business.md) - практические кейсы +- 📝 [Описание приложения](./application-description.md) - обзор функций + +### Обучение +- 🎓 **Онлайн-сессии** (групповые и индивидуальные) +- 🗳️ **Портал голосования**: https://hb3-accelerator.com/ + +### Поддержка +- 💬 **Чат с поддержкой**: https://hb3-accelerator.com/ +- 📧 **Email**: info@hb3-accelerator.com +- 🌐 **Сайт**: https://hb3-accelerator.com + +--- + +**© 2024-2025 Тарабанов Александр Викторович. Все права защищены.** + +**Последнее обновление**: October 2025 diff --git a/docs/ai-assistant.md b/docs/ai-assistant.md new file mode 100644 index 0000000..a7606bd --- /dev/null +++ b/docs/ai-assistant.md @@ -0,0 +1,386 @@ +# AI Ассистент DLE - Полные возможности для бизнеса + +> **Философия**: AI не заменяет людей, а становится их вторым пилотом, высвобождая 85% времени для стратегии и креатива. + +## 📋 Содержание + +1. [Введение](#введение) +2. [Технология и архитектура](#технология-и-архитектура) +3. [Полные возможности AI ассистента](#полные-возможности-ai-ассистента) +4. [Экономический эффект](#экономический-эффект) +5. [Настройка и интеграция](#настройка-и-интеграция) + +--- + +## Введение + +### Что такое AI Ассистент в DLE? + +**AI Ассистент** - это встроенный интеллектуальный помощник, который использует: +- 🧠 **Ollama** - локальные open-source модели AI (qwen2.5:7b) +- 🔍 **Векторный поиск** - FAISS для семантического поиска +- 📚 **RAG** (Retrieval-Augmented Generation) - поиск по базе знаний +- 💾 **Кэширование** - мгновенные ответы на частые вопросы + +### Ключевые преимущества + +1. **🏠 100% локальный** - все данные на вашем сервере +2. **🔒 Полная конфиденциальность** - ничего не уходит в облако +3. **⚡ Молниеносные ответы** - кэширование и векторный поиск +4. **💰 Нулевые затраты на API** - нет оплаты за токены +5. **📈 Обучается на ваших данных** - персонализированные ответы +6. **🌍 Многоязычный** - поддержка русского, английского и др. +7. **🔄 24/7 доступность** - работает круглосуточно + +--- + +## Технология и архитектура + +### Как это работает? + +``` +┌─────────────────────────────────────────────────────────┐ +│ Архитектура AI Ассистента │ +└─────────────────────────────────────────────────────────┘ + +┌─────────────────────────────────────────┐ +│ 1. Пользователь задает вопрос │ +│ "Как вернуть товар?" │ +└────────────────┬────────────────────────┘ + ↓ +┌─────────────────────────────────────────┐ +│ 2. Векторизация вопроса │ +│ Ollama mxbai-embed-large:latest │ +│ Текст → Вектор [768 чисел] │ +└────────────────┬────────────────────────┘ + ↓ +┌─────────────────────────────────────────┐ +│ 3. Векторный поиск (FAISS) │ +│ Поиск похожих вопросов в базе │ +│ Top-3 результата по семантике │ +└────────────────┬────────────────────────┘ + ↓ +┌─────────────────────────────────────────┐ +│ 4. Контекстный поиск (RAG) │ +│ Извлечение ответов из базы знаний │ +│ Фильтрация по тегам/продуктам │ +└────────────────┬────────────────────────┘ + ↓ +┌─────────────────────────────────────────┐ +│ 5. Генерация ответа (LLM) │ +│ Ollama qwen2.5:7b │ +│ Контекст + Вопрос → Ответ │ +└────────────────┬────────────────────────┘ + ↓ +┌─────────────────────────────────────────┐ +│ 6. Кэширование │ +│ Сохранение в кэш на 1 час │ +│ Следующий такой же вопрос < 50ms │ +└────────────────┬────────────────────────┘ + ↓ +┌─────────────────────────────────────────┐ +│ 7. Ответ пользователю │ +│ "Товар можно вернуть в течение..." │ +└─────────────────────────────────────────┘ +``` + +### Технологический стек + +| Компонент | Технология | Назначение | +|-----------|------------|------------| +| **LLM модель** | Ollama qwen2.5:7b | Генерация текста, диалог | +| **Embedding модель** | mxbai-embed-large | Векторизация текста | +| **Векторная БД** | FAISS | Быстрый семантический поиск | +| **Основная БД** | PostgreSQL | Хранение базы знаний | +| **Кэш** | Node.js Map + TTL | Ускорение повторных запросов | +| **Очередь** | AI Queue | Обработка задач по приоритету | + +--- + +## Полные возможности AI ассистента + +### 1. 📞 Клиентский сервис и поддержка + +**Автоматические ответы на типовые вопросы:** +- Мгновенные ответы 24/7 через Telegram, Email, Web чат +- Автоматическая диагностика проблем по номеру заказа +- Создание тикетов в CRM с приоритизацией +- База знаний с векторным поиском +- Многоязычная поддержка клиентов из разных стран +- Анализ настроения клиентов в реальном времени +- Эскалация сложных вопросов к живым операторам +- Персонализированные рекомендации на основе истории покупок + +**Интеграция с мессенджерами:** +- Telegram бот с AI-ассистентом +- Email поддержка с автоматическим анализом +- Web чат на сайте с умным виджетом +- SMS рассылки и уведомления +- Веб-формы обратной связи + +### 2. 📊 Аналитика и бизнес-интеллект + +**Автоматический анализ данных:** +- Анализ больших данных и выявление трендов +- Прогнозирование продаж и спроса на товары/услуги +- Сегментация клиентов по поведению и предпочтениям +- Анализ эффективности маркетинговых кампаний +- Выявление аномалий в финансовых показателях +- Создание интерактивных дашбордов с ключевыми метриками +- Сравнительный анализ с конкурентами +- Бенчмаркинг и отраслевые сравнения + +### 3. 💰 Финансовое планирование и учет + +**Автоматизация финансовых процессов:** +- Автоматическое ведение бухгалтерии и формирование отчетов +- Прогнозирование денежных потоков и планирование бюджета +- Анализ рентабельности продуктов и услуг +- Выявление финансовых рисков и рекомендации по их снижению +- Автоматическое создание инвойсов и отслеживание платежей +- Оптимизация налогового планирования +- Мониторинг KPI и финансовых показателей +- Консолидированная отчетность по всем подразделениям + +### 4. 🎯 Маркетинг и продажи + +**Контент-маркетинг:** +- Генерация контента для социальных сетей, блогов, email-рассылок +- Персонализация маркетинговых сообщений для каждого клиента +- A/B тестирование различных вариантов рекламы +- Анализ эффективности каналов привлечения клиентов +- Автоматическое создание email-кампаний +- SEO-оптимизация контента и мета-тегов +- Управление репутацией в интернете + +**Продажи:** +- Автоматическое создание коммерческих предложений +- Анализ клиентской базы и выявление возможностей +- Персонализированные рекомендации по продуктам +- Автоматическое отслеживание воронки продаж +- Генерация скриптов для холодных звонков + +### 5. 👥 HR и управление персоналом + +**Подбор и управление персоналом:** +- Автоматический скрининг резюме и первичный отбор кандидатов +- Проведение собеседований с помощью чат-бота +- Анализ производительности сотрудников +- Планирование обучения и развития персонала +- Автоматическое создание должностных инструкций +- Анализ удовлетворенности сотрудников +- Планирование отпусков и смен +- Мониторинг настроения команды + +**Обучение персонала:** +- Персонализированные программы обучения для сотрудников +- Создание интерактивных курсов и материалов +- Адаптивное обучение под индивидуальные потребности +- Оценка знаний и навыков персонала +- Рекомендации по развитию карьеры +- Создание базы знаний и FAQ + +### 6. 📋 Управление проектами и задачами + +**Автоматизация проектной работы:** +- Автоматическое планирование проектов и распределение ресурсов +- Отслеживание прогресса и выявление задержек +- Оптимизация рабочих процессов и устранение узких мест +- Автоматическое создание отчетов по проектам +- Управление рисками и планирование резервов +- Координация работы распределенных команд +- Анализ эффективности методологий управления + +### 7. 🔍 Исследования и разработка + +**Аналитика и исследования:** +- Анализ рынка и конкурентной среды +- Исследование новых технологий и трендов +- Генерация идей для новых продуктов/услуг +- Анализ патентов и интеллектуальной собственности +- Техническая документация и спецификации +- Анализ обратной связи клиентов для улучшения продуктов + +### 8. 🛡️ Безопасность и комплаенс + +**Мониторинг безопасности:** +- Мониторинг безопасности IT-систем +- Выявление подозрительной активности и угроз +- Автоматическое обновление политик безопасности +- Анализ соответствия регулятивным требованиям +- Управление доступом и правами пользователей +- Аудит логов и расследование инцидентов + +### 9. 📈 Операционная эффективность + +**Оптимизация процессов:** +- Оптимизация цепочек поставок и логистики +- Планирование производства и управление запасами +- Автоматизация рутинных процессов +- Анализ качества продукции и услуг +- Управление активами и техническое обслуживание +- Оптимизация энергопотребления и ресурсов + +### 10. 🎓 Обучение и развитие + +**Корпоративное обучение:** +- Персонализированные программы обучения для сотрудников +- Создание интерактивных курсов и материалов +- Адаптивное обучение под индивидуальные потребности +- Оценка знаний и навыков персонала +- Рекомендации по развитию карьеры +- Создание базы знаний и FAQ + +### 11. 🌐 Международная деятельность + +**Глобальные возможности:** +- Автоматический перевод документов и коммуникаций +- Анализ культурных особенностей целевых рынков +- Адаптация контента под локальные требования +- Мониторинг изменений в международном законодательстве +- Управление валютными рисками +- Координация работы с зарубежными партнерами + +### 12. 🔮 Стратегическое планирование + +**Долгосрочное планирование:** +- Анализ макроэкономических трендов и их влияния на бизнес +- Сценарное планирование для различных ситуаций +- Анализ возможностей для слияний и поглощений +- Оценка инвестиционных проектов +- Планирование выхода на новые рынки +- Разработка долгосрочных стратегий развития + +### 13. 📱 Мобильные и цифровые решения + +**Цифровая трансформация:** +- Разработка мобильных приложений с ИИ-функциями +- Создание чат-ботов для различных платформ +- Голосовые ассистенты для бизнес-процессов +- Интеграция с IoT устройствами +- Автоматизация социальных сетей +- Создание виртуальных ассистентов + +### 14. 🏭 Отраслевые решения + +**Специализированные решения:** +- **Здравоохранение**: диагностика, планирование лечения, управление пациентами +- **Финансы**: кредитный скоринг, управление рисками, торговые алгоритмы +- **Ритейл**: персонализация, управление запасами, ценообразование +- **Производство**: контроль качества, предиктивное обслуживание, оптимизация +- **Недвижимость**: оценка, анализ рынка, управление объектами +- **Образование**: адаптивное обучение, оценка знаний, планирование + +### 15. 🔄 Интеграция и автоматизация + +**Системная интеграция:** +- API-интеграции с внешними системами +- Автоматизация рабочих процессов (RPA) +- Синхронизация данных между различными платформами +- Создание единой экосистемы для всех бизнес-процессов +- Миграция данных и систем +- Мониторинг производительности интегрированных решений + +--- + +## Экономический эффект + +### Сравнение с облачными решениями + +| Характеристика | DLE AI (Локальный) | ChatGPT API | Claude API | +|----------------|-------------------|-------------|------------| +| **Стоимость** | $0 | ~$0.02/запрос | ~$0.03/запрос | +| **Конфиденциальность** | ✅ 100% | ❌ Данные в OpenAI | ❌ Данные в Anthropic | +| **Скорость (кэш)** | 50ms | 500-2000ms | 500-2000ms | +| **Offline работа** | ✅ Да | ❌ Нет | ❌ Нет | +| **Настройка под бизнес** | ✅ Полная | ⚠️ Ограниченная | ⚠️ Ограниченная | +| **Лимиты API** | ❌ Нет | ✅ Есть | ✅ Есть | + +### Экономия при использовании облачных API + +**При 10,000 запросов в месяц:** +- ChatGPT API: $200/месяц = **$2,400/год** +- Claude API: $300/месяц = **$3,600/год** +- DLE AI: **$0/год** ✅ + +**При 50,000 запросов в месяц:** +- ChatGPT API: $1,000/месяц = **$12,000/год** +- Claude API: $1,500/месяц = **$18,000/год** +- DLE AI: **$0/год** ✅ + +**При 100,000 запросов в месяц:** +- ChatGPT API: $2,000/месяц = **$24,000/год** +- Claude API: $3,000/месяц = **$36,000/год** +- DLE AI: **$0/год** ✅ + +### Суммарная экономия по всем направлениям + +| Направление | Экономия в год | ROI | +|-------------|----------------|-----| +| **Обслуживание клиентов** | $57,600 | 5,760% | +| **Работа с поставщиками + AI закупщик** | $64,800 | 6,480% | +| **Работа с партнерами** | $43,200 | 4,320% | +| **Обучение персонала** | $30,000 | 3,000% | +| **Управление персоналом** | $57,600 | 5,760% | +| **Отчетность и анализ** | $144,000 | 14,400% | +| **Контент-маркетинг** | $86,400 | 8,640% | +| **Экономия на API токенах** | $24,000-36,000 | 2,400-3,600% | +| **ИТОГО:** | **$507,600-519,600** | **50,760-51,960%** | + +**Стоимость внедрения DLE**: $1,000 (единоразово, Standard Support) +**ROI**: 50,760-51,960% или **507-519x окупаемость** + +### Дополнительные выгоды + +**Неизмеримые преимущества:** +- 📈 Повышение качества работы +- 😊 Удовлетворенность клиентов +19% +- 👥 Удержание сотрудников +15% +- 🚀 Скорость принятия решений +300% +- 💡 Больше времени на стратегию +- 🎯 Меньше рутины, больше креатива + +--- + +## Настройка и интеграция + +**Что нужно для запуска:** +- ✅ Установить DLE (см. [Инструкцию по установке](./setup-instruction.md)) +- ✅ Запустить Ollama и установить модели +- ✅ Создать базу знаний (FAQ, поставщики, HR) +- ✅ Настроить AI ассистента под ваш бизнес +- ✅ Интегрировать с Telegram/Email (опционально) + +**Время настройки:** +- 🚀 **Быстрый старт**: 20-30 минут (базовый FAQ) +- ⚙️ **Полная настройка**: 1-2 часа (все возможности) + +**Результат:** +- 🤖 Работающий AI ассистент 24/7 +- 📚 База знаний для ответов клиентам +- 🔍 Векторный поиск по вашим данным +- 💰 Экономия до $519,600/год + +### Следующие шаги + +1. 📖 [Установите DLE](./setup-instruction.md) +2. 🤖 [Настройте AI ассистента](./setup-ai-assistant.md) +3. 📚 Загрузите базу знаний +4. 🚀 Начните экономить время и деньги! + +--- + +## Поддержка + +**Нужна помощь с настройкой AI?** + +📧 **Email**: info@hb3-accelerator.com +💬 **Чат**: https://hb3-accelerator.com +📚 **Документация**: [FAQ](./FAQ.md) +🎓 **Обучение**: Онлайн-сессии для токен-холдеров + +--- + +**© 2024-2025 Тарабанов Александр Викторович. Все права защищены.** + +**Последнее обновление**: October 2025 \ No newline at end of file diff --git a/docs/application-description.md b/docs/application-description.md new file mode 100644 index 0000000..d92a819 --- /dev/null +++ b/docs/application-description.md @@ -0,0 +1,332 @@ +# Digital Legal Entity (DLE) - Веб-приложение для управления бизнесом + +> **Полный контроль. Нулевая абонентская плата. AI экономит $507,600-519,600/год.** + +--- + +## 📋 Содержание + +1. [Для кого это приложение](#для-кого-это-приложение) +2. [Ключевые преимущества](#ключевые-преимущества) +3. [Основные возможности](#основные-возможности) +4. [Экономический эффект](#экономический-эффект) +5. [Технические детали](#технические-детали) +6. [Условия приобретения](#условия-приобретения) +7. [Дополнительная документация](#дополнительная-документация) + +--- + +## 🎯 Для кого это приложение + +DLE создано для **всех типов организаций**, нуждающихся в прозрачном коллективном управлении: + +- **Коммерческие организации** (ООО, АО, ИП, холдинги) +- **Некоммерческие организации** (НКО, фонды, ассоциации) +- **Государственные структуры** (муниципалитеты, ведомства) +- **Инвестиционные фонды** и **венчурные компании** +- **Стартапы** и **малый бизнес** +- **Кооперативы** и **объединения** + +--- + +## 💎 Ключевые преимущества + +### Почему DLE, а не SaaS? + +| Параметр | DLE | Обычные SaaS | +|----------|-----|--------------| +| **💰 Стоимость** | $1,000 один раз | $200-500/месяц | +| **📊 Владение данными** | 100% ваши | У провайдера | +| **🔧 Кастомизация** | Полная | Ограниченная | +| **🌍 Соответствие законам** | Под ваш регион | Зависит от провайдера | +| **🛡️ Соответствие регуляторам** | GDPR, CCPA, 152-ФЗ | Ограниченное | +| **🤖 AI без лимитов** | Бесплатно | $200+/месяц | +| **🔗 Блокчейн** | Встроен | Нет или доп. плата | +| **⚡ Обновления** | Бесплатно 5 лет (для держателей токенов) | Зависит от тарифа | + +### 🎁 Что вы получаете + +✅ **Бессрочная лицензия** - платите один раз, используйте вечно +✅ **Бесплатные обновления** - все улучшения без доп. платы +✅ **Полный исходный код** - полная прозрачность +✅ **AI на своем сервере** - 100% конфиденциальность +✅ **Блокчейн-защита** - активы невозможно украсть +✅ **Токенизация активов** - экономия 99% на сделках +✅ **Право голоса** - влияние на развитие продукта +✅ **Готовый пакет документов для регулятора** - политика конфиденциальности, согласие на обработку ПД, пользовательское соглашение, политика cookies +✅ **Гарантия возврата 70%** - в течение 5 лет при отсутствии обновлений + +--- + +## 🚀 Основные возможности + +### 1. CRM и управление контактами + +**Полноценная система управления клиентами**: +- Централизованная база контактов с историей взаимодействий +- Группировка по тегам и категориям +- Система задач и напоминаний +- Импорт из CSV, Excel, внешних CRM +- Экспорт в различных форматах +- Конструктор документов и шаблонов + +### 2. AI ассистент с векторным поиском + +**Локальный AI на вашем сервере**: +- Ollama + Vector Search (RAG) +- Модель qwen2.5:7b (или любая другая) +- 100% конфиденциальность (данные не уходят наружу) +- Нулевые затраты на API токены + +**Ключевые возможности**: +- **📞 Обслуживание клиентов** - ответы 24/7, анализ настроения клиентов +- **📊 Аналитика и бизнес-интеллект** - анализ данных, прогнозирование продаж +- **💰 Финансовое планирование** - автоматическая бухгалтерия, анализ рентабельности +- **🎯 Маркетинг и продажи** - генерация контента, персонализация сообщений +- **👥 HR и управление персоналом** - скрининг резюме, планирование обучения +- **📋 Управление проектами** - автоматическое планирование, отслеживание прогресса +- **🔍 Исследования и разработка** - анализ рынка, генерация идей +- **🛡️ Безопасность и комплаенс** - мониторинг безопасности, анализ соответствия +- **📈 Операционная эффективность** - оптимизация процессов, автоматизация +- **🎓 Обучение и развитие** - персонализированные программы обучения +- **🌐 Международная деятельность** - автоматический перевод, адаптация контента +- **🔮 Стратегическое планирование** - анализ трендов, сценарное планирование +- **📱 Мобильные решения** - разработка приложений, создание чат-ботов +- **🏭 Отраслевые решения** - специализированные решения для разных отраслей +- **🔄 Интеграция и автоматизация** - API-интеграции, автоматизация процессов + +**Экономический эффект**: $507,600-519,600/год при ROI 50,760-51,960% + +> 💡 **Подробная информация**: См. [AI Ассистент - полное описание](./ai-assistant.md) - там детально описаны все возможности, кейсы применения, архитектура работы и расчеты экономии. + +### 3. Омниканальные коммуникации + +**Единый интерфейс для всех каналов**: +- 💬 Telegram бот, 📧 Email, 🌐 Web чат, 📱 SMS, 📋 Веб-формы +- Один контекст для клиента на всех каналах +- AI автоответы с обучением на ваших данных +- Аналитика по каналам и времени ответа + +### 4. Блокчейн-управление и токенизация + +**Смарт-контракты для бизнеса**: +- Токенизация любых активов (недвижимость, IP, акции) +- Управление через голосование токен-холдеров +- Мультичейн поддержка (7+ сетей: Ethereum, Polygon, BSC, Arbitrum, Optimism, Avalanche, Base) +- Прозрачность всех операций на блокчейне + +> 💡 **Подробная информация**: См. [Блокчейн для бизнеса](./blockchain-for-business.md) - практические кейсы использования и [Техническая документация по блокчейну](./blockchain-integration-technical.md) - для разработчиков. + +### 5. Группы и пространства для команд + +- Настраиваемые пространства для проектов +- Детальная система разрешений (20+ типов) +- Роли: Editor, ReadOnly, User +- Интеграция с CRM и коммуникациями + +### 6. Внутренние инструменты + +- Электронные таблицы (аналог Excel) +- Система аналитики и отчетов +- Мониторинг метрик +- WebSSH для управления серверами + +### 7. Безопасность и защита + +**Многоуровневая защита DLE**: +- **Сетевая безопасность** - TLS 1.3, HTTPS, DDoS защита +- **Аутентификация** - SIWE (вход через кошелек), сессии в БД +- **Авторизация** - детальные разрешения (20+ типов), токен-гейтинг +- **Защита данных** - AES-256 шифрование, защита от SQL-инъекций +- **Блокчейн-защита** - токены нельзя украсть без голосования +- **Мониторинг** - логирование, алерты, audit trail + +**Соответствие требованиям регуляторов**: +- **GDPR** - соответствие европейским требованиям по защите персональных данных +- **CCPA** - соответствие калифорнийским требованиям +- **Российское законодательство** - соответствие 152-ФЗ "О персональных данных" +- **Локальное хранение** - все данные остаются на вашем сервере +- **Прозрачность** - полный контроль над обработкой персональных данных + +> 💡 **Подробная информация**: См. [Безопасность DLE](./security.md) - там детально описаны все уровни защиты, сценарии атак, рекомендации по безопасности и соответствие регуляторным требованиям. + +## 💰 Экономический эффект + +### Сравнение с SaaS за 5 лет + +**Типичный стек SaaS**: +``` +CRM (HubSpot): $200/мес × 60 мес = $12,000 +Чат-бот (Intercom): $150/мес × 60 мес = $9,000 +Email (SendGrid): $100/мес × 60 мес = $6,000 +AI (ChatGPT API): $200/мес × 60 мес = $12,000 + ───────────────────────────── + ИТОГО: $39,000 +``` + +**DLE**: +``` +Лицензия (один раз): $1,000 +Обновления (5 лет): $0 +AI без лимитов: $0 + ───────────────────────────── + ИТОГО: $1,000 + +ЭКОНОМИЯ: $38,000 +``` + +### ROI от AI ассистента + +**Сравнение с облачными решениями**: + +| Характеристика | DLE AI (Локальный) | ChatGPT API | Claude API | +|----------------|-------------------|-------------|------------| +| **Стоимость** | $0 | ~$0.02/запрос | ~$0.03/запрос | +| **Конфиденциальность** | ✅ 100% | ❌ Данные в OpenAI | ❌ Данные в Anthropic | +| **Скорость (кэш)** | 50ms | 500-2000ms | 500-2000ms | +| **Offline работа** | ✅ Да | ❌ Нет | ❌ Нет | +| **Настройка под бизнес** | ✅ Полная | ⚠️ Ограниченная | ⚠️ Ограниченная | +| **Лимиты API** | ❌ Нет | ✅ Есть | ✅ Есть | + +**Суммарная экономия по всем направлениям**: +- Обслуживание клиентов: $57,600 +- Работа с поставщиками + AI закупщик: $64,800 +- Работа с партнерами: $43,200 +- Обучение персонала: $30,000 +- Управление персоналом: $57,600 +- Отчетность и анализ: $144,000 +- Контент-маркетинг: $86,400 +- Экономия на API токенах: $24,000-36,000 +- **ИТОГО**: $507,600-519,600/год + +**Инвестиция**: $1,000 +**ROI**: 50,760-51,960% или 507-519x окупаемость ✅ + +### Экономия на токенизации активов + +**Традиционная сделка с недвижимостью ($1M)**: +- Комиссия риелтора: 3-5% = $30,000-50,000 +- Юридические услуги: $5,000-10,000 +- Регистрация права: $2,000-5,000 +- Время: 2-6 месяцев +- **Итого**: $37,000-65,000 + +**Токенизированная сделка через DLE**: +- Gas fees: $50-200 +- Смарт-контракт (один раз): $500 +- Время: 5-10 минут +- **Итого**: $550-700 + +**Экономия**: 99% затрат и 99% времени ✅ + +--- + +## 🔧 Технические детали + +### Архитектура + +**Современный технологический стек**: +- **Frontend**: Vue.js 3 + Vite + Element Plus +- **Backend**: Node.js + Express +- **База данных**: PostgreSQL + pgvector +- **AI**: Ollama (qwen2.5:7b) + FAISS Vector Search +- **Блокчейн**: Ethers.js v6 + Hardhat +- **Контейнеризация**: Docker Compose + +### Принципы проектирования + +✅ **Микросервисная архитектура** - легко масштабировать +✅ **Полный контроль** - вы владеете приложением и данными +✅ **Модульность** - добавляйте новые функции через модули +✅ **Безопасность** - многоуровневая защита (TLS, AES-256, CSRF) +✅ **API-first** - REST + WebSocket для интеграций + +### Развертывание + +**Гибкие варианты установки**: +- **На своем сервере** - полный контроль +- **В облаке** - AWS, Google Cloud, Azure +- **На локальной инфраструктуре** - соответствие регуляторным требованиям +- **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 + +> 💡 **Подробная информация**: См. [Инструкция по установке](./setup-instruction.md) - пошаговая настройка и [Настройка AI ассистента](./setup-ai-assistant.md) - специализированная установка. + +--- + +## 💳 Условия приобретения + +> 💡 **Подробная информация**: См. [Условия обслуживания](./service-terms.md) - там детально описаны лицензионная модель, тарифы, гарантии и процесс приобретения. + +### Краткий обзор + +**Бессрочная лицензия (Perpetual License)**: +- 💰 **Платите один раз** - используйте вечно +- 📄 **Полный исходный код** с документацией +- 🔄 **Бесплатные обновления** 5 лет для держателей лицензионных токенов (см. [legal/service-terms.md](../legal/service-terms.md)) +- 🗳️ **Право голоса** за развитие продукта + +**Тарифы**: +| Пакет | Цена | Голоса | Поддержка | +|-------|------|--------|-----------| +| **Standard Support** | $1,000 USDT | 1 голос | чат 24/7 | +| **Priority Support** | $10,000 USDT | 10 голосов | чат 24/7 | + +**Что включено**: +✅ Бессрочная лицензия на использование +✅ Исходный код с полной документацией +✅ Бесплатные обновления 5 лет для держателей токенов +✅ Техническая поддержка +✅ Токены управления на блокчейне +✅ Готовый пакет документов для регулятора +✅ Гарантия возврата 70% в течение 5 лет + +**Как приобрести**: +1. Свяжитесь с нами: info@hb3-accelerator.com +2. Получите реквизиты для оплаты (USDT) +3. Оплатите лицензию +4. Получите доступ к коду и токены DLE + +--- + +## 📚 Дополнительная документация + +### 🎯 Быстрый старт +- 📋 **[FAQ](./FAQ.md)** - ответы на 50+ вопросов (11 разделов) +- 🔧 **[Установка](./setup-instruction.md)** - пошаговая настройка за 15 минут +- 🤖 **[Настройка AI](./setup-ai-assistant.md)** - запуск AI ассистента + +### 💼 Бизнес и экономика +- 💰 **[Блокчейн для бизнеса](./blockchain-for-business.md)** - токенизация активов, экономия 99% на сделках +- 🤖 **[AI Ассистент](./ai-assistant.md)** - экономия $507,600-519,600/год, философия "AI+Человек" +- 📊 **[Система таблиц](./tables-system.md)** - управление данными и документами + +### 🔧 Техническая документация +- 🔗 **[Блокчейн интеграция](./blockchain-integration-technical.md)** - смарт-контракты, API, примеры кода +- 🛡️ **[Безопасность](./security.md)** - многоуровневая защита, соответствие GDPR/CCPA/152-ФЗ +- ⚖️ **[Условия обслуживания](./service-terms.md)** - лицензирование, поддержка, гарантии + +### 📖 Общая информация +- 📖 **[Основной README](../README.md)** - полный список всех документов +- ⚖️ **[Юридическая документация](../legal/README.md)** - правовая информация + +### 📞 Поддержка и контакты + +**Основные контакты**: +- 📧 **Email**: info@hb3-accelerator.com +- 🌐 **Сайт**: https://hb3-accelerator.com +- 💬 **Чат поддержки**: https://hb3-accelerator.com/ +- 🐙 **GitHub**: https://github.com/VC-HB3-Accelerator +--- + +**© 2024-2025 Тарабанов Александр Викторович. Все права защищены.** + +**Digital Legal Entity (DLE)** - революция в управлении бизнесом через блокчейн и AI. + +**Версия документа**: 2.0.0 +**Последнее обновление**: October 2025 \ No newline at end of file diff --git a/docs/blockchain-for-business.md b/docs/blockchain-for-business.md new file mode 100644 index 0000000..0cb56be --- /dev/null +++ b/docs/blockchain-for-business.md @@ -0,0 +1,1289 @@ +# Блокчейн-интеграция для бизнеса: Решение реальных проблем + +## 📋 Содержание + +1. [Введение: Зачем бизнесу блокчейн?](#введение-зачем-бизнесу-блокчейн) +2. [Смарт-контракт как универсальный идентификатор](#смарт-контракт-как-универсальный-идентификатор) +3. [Токенизация активов](#токенизация-активов) +4. [Решение проблем управления](#решение-проблем-управления) +5. [Финансовые операции без банков](#финансовые-операции-без-банков) +6. [Прозрачность и доверие](#прозрачность-и-доверие) +7. [Автоматизация и снижение издержек](#автоматизация-и-снижение-издержек) +8. [Практические кейсы](#практические-кейсы) +9. [Экономический эффект](#экономический-эффект) + +--- + +## Введение: Зачем бизнесу блокчейн? + +### Проблемы традиционного бизнеса + +Современный бизнес сталкивается с множеством проблем: + +| Проблема | Последствия | Издержки | +|----------|-------------|----------| +| 🏦 **Множество банковских счетов** | Сложность учета, комиссии | 2-5% оборота | +| 📄 **Бюрократия** | Медленные решения, бумажная волокита | 20-30% времени | +| 🤝 **Непрозрачное управление** | Конфликты акционеров, коррупция | До 40% стоимости | +| 💰 **Неликвидные активы** | Невозможно быстро продать/разделить | Потеря возможностей | +| 🌍 **Географические ограничения** | Сложности с международными партнерами | Упущенная прибыль | +| ⏰ **Медленные транзакции** | 3-7 дней на банковские переводы | Заморозка капитала | + +### Решение: Digital Legal Entity на блокчейне + +DLE превращает вашу компанию в **цифровую организацию** с блокчейн-идентичностью, где: +- ✅ Один адрес смарт-контракта = вся идентификация компании +- ✅ Любые активы токенизированы и легко управляемы +- ✅ Прозрачное управление через голосование +- ✅ Мгновенные финансовые операции без посредников +- ✅ Глобальная доступность 24/7 + +--- + +## Смарт-контракт как универсальный идентификатор + +### Концепция: Один адрес для всего + +В традиционном бизнесе у компании множество идентификаторов: +``` +Традиционная компания: +├── ИНН/ОГРН (налоговый номер) +├── Банковский счет №1 (руб) +├── Банковский счет №2 (USD) +├── Банковский счет №3 (EUR) +├── Email: info@company.com +├── Телефон: +7-xxx-xxx-xx-xx +├── Юридический адрес +├── Реквизиты для договоров +└── Множество учетных систем +``` + +**С DLE на блокчейне:** +``` +Digital Legal Entity: +└── 0x742d35Cc6634C0532925a3b844Bc9377F91cAB6C + ↑ + Этот ОДИН адрес смарт-контракта заменяет ВСЁ: + ✅ Налоговый идентификатор + ✅ Банковский счет (мультивалютный) + ✅ Email/телефон (получение платежей и сообщений) + ✅ Юридическая идентичность + ✅ Адрес для коммуникаций + ✅ Система учета активов +``` + +### Как это работает в реальности? + +#### 1. Налоговый идентификатор + +**Традиционно:** +- ИНН (Россия): 10 цифр +- EIN (США): 9 цифр +- VAT ID (ЕС): 8-12 символов +- Разные в каждой юрисдикции + +**С DLE:** +- Адрес контракта: `0x742d35Cc6634C0532925a3b844Bc9377F91cAB6C` +- **Один и тот же** во всех странах и блокчейнах +- Привязка к традиционным номерам хранится в смарт-контракте: + ```solidity + struct DLEInfo { + uint256 jurisdiction; // 643 = Россия, 840 = США + string[] okvedCodes; // Коды ОКВЭД (виды деятельности) + uint256 kpp; // КПП для РФ + string location; // Местоположение + } + ``` + +**Преимущества:** +- ✅ Не нужно регистрироваться в каждой стране +- ✅ Мгновенная верификация через блокчейн +- ✅ Невозможно подделать или украсть идентификатор + +#### 2. Банковский счет (мультивалютный) + +**Традиционно:** +- Отдельный счет для каждой валюты +- Комиссии за открытие: $50-500 +- Ежемесячное обслуживание: $10-100 +- Конвертация: 1-5% комиссии +- Переводы: 3-7 дней + $25-50 + +**С DLE:** +- Адрес контракта принимает любые токены: + - USDT, USDC (стейблкоины = доллары) + - Нативные монеты (ETH, MATIC, BNB) + - Любые ERC20 токены + - Токенизированные активы + +**Пример транзакции:** +``` +Клиент отправляет оплату → 0x742d35... + ↓ + Получено за 30 секунд + Комиссия: $0.10-5 + Видно всем участникам +``` + +**Преимущества:** +- ✅ Один адрес для всех валют +- ✅ Комиссия в 50-100 раз ниже +- ✅ Моментальные транзакции +- ✅ Работает 24/7, включая выходные +- ✅ Нет блокировок и заморозок + +#### 3. Email и телефон для компании + +**Традиционно:** +- Email: info@company.com (можно взломать, потерять домен) +- Телефон: +7-xxx-xxx (можно перехватить SIM) +- Разные каналы для разных целей + +**С DLE:** +- **Адрес контракта** = адрес для коммуникаций +- Подписи криптографическими ключами (невозможно подделать) +- Встроенная омниканальная система: + ``` + 0x742d35Cc6634C0532925a3b844Bc9377F91cAB6C + ↓ + ┌───────────┴───────────┬───────────┬──────────┐ + │ Блокчейн-сообщения │ Telegram │ Email │ Web + │ (криптографически │ (бот) │ (SMTP) │ (форма) + │ подписанные) │ │ │ + └───────────────────────┴───────────┴──────────┘ + ``` + +**Преимущества:** +- ✅ Невозможно взломать (приватный ключ = доступ) +- ✅ Полная история коммуникаций на блокчейне +- ✅ Автоматическая верификация отправителя +- ✅ Интеграция всех каналов в одном месте + +--- + +## Токенизация активов + +### Что такое токенизация? + +**Токенизация** - это превращение любого актива в цифровой токен на блокчейне, который можно: +- 🔄 Быстро купить/продать +- 📊 Разделить на доли (дробное владение) +- 💱 Обменять на другие активы +- 📈 Отслеживать стоимость в реальном времени +- 🌍 Передавать по всему миру мгновенно + +### Типы активов для токенизации + +#### 1. 🏢 Недвижимость + +**Традиционная проблема:** +- Неликвидность (продажа 3-12 месяцев) +- Высокие комиссии (3-6% от стоимости) +- Невозможно разделить (нельзя продать 10% квартиры) +- Бюрократия (десятки документов, нотариусы) + +**Решение через токенизацию:** +``` +Офисное здание = 10,000,000 токенов DLE +├── 1 токен = 0.00001% здания +├── Цена токена: $100 +├── Минимальная покупка: 1 токен ($100) +└── Продажа: 30 секунд на блокчейне +``` + +**Преимущества:** +- ✅ Любой может купить долю от $100 +- ✅ Продажа за 30 секунд вместо 6 месяцев +- ✅ Комиссия 0.1% вместо 5% +- ✅ Автоматическое распределение арендных платежей +- ✅ Прозрачная история владения + +**Пример:** +``` +Вы владеете офисом за 10 млн руб. +↓ Токенизация +Выпускаете 100,000 токенов по 100 руб. +↓ Продаете 30% (30,000 токенов) +Получили 3 млн руб. за 1 день +↓ Аренда 500,000 руб/месяц +Автоматически распределяется: +├── 70% (350,000 руб) → вам +└── 30% (150,000 руб) → новым владельцам токенов +``` + +#### 2. 📈 Акции и доли в бизнесе + +**Традиционная проблема:** +- IPO стоит миллионы и занимает годы +- Доли в ООО не продаются (нужен нотариус, ИФНС) +- Учет акционеров - дорого и сложно +- Дивиденды выплачиваются вручную + +**Решение через DLE:** +``` +Ваша компания = токены DLE +├── 1,000,000 токенов = 100% компании +├── Вы: 700,000 токенов (70%) +├── Партнер: 200,000 токенов (20%) +└── Инвесторы: 100,000 токенов (10%) +``` + +**Преимущества:** +- ✅ "IPO" за 1 день вместо 2 лет +- ✅ Стоимость: $100-1000 вместо $500,000+ +- ✅ Автоматическая выплата дивидендов +- ✅ Мгновенная продажа долей +- ✅ Прозрачный учет владельцев + +**Кейс:** +``` +Стартап ищет инвестиции: + +Традиционно: +├── Поиск инвестора: 6-12 месяцев +├── Юристы и документы: $10,000-50,000 +├── Регистрация изменений: 1-2 месяца +└── ИТОГО: $50,000 + год времени + +С DLE: +├── Выпустить токены: 1 день +├── Продать на DEX: сразу +├── Стоимость: $100 (gas fees) +└── ИТОГО: $100 + 1 день +``` + +#### 3. 🎨 Интеллектуальная собственность + +**Что можно токенизировать:** +- Патенты +- Авторские права (музыка, книги, видео) +- Товарные знаки +- Франшизы +- Лицензии на ПО + +**Пример: Токенизация музыкального альбома** +``` +Альбом исполнителя = 1,000,000 токенов +├── Исполнитель оставляет: 500,000 (50%) +├── Продает фанатам: 500,000 токенов по $1 +└── Доход от стриминга автоматически делится: + ├── 50% → исполнитель + └── 50% → держатели токенов +``` + +**Преимущества:** +- ✅ Фанаты инвестируют в любимого артиста +- ✅ Автоматические роялти +- ✅ Прозрачность доходов +- ✅ Вторичный рынок (токены можно перепродать) + +#### 4. 📦 Товары и инвентарь + +**Проблема:** Товары на складе "мертвый" капитал + +**Решение:** +``` +100 тонн пшеницы = 100,000 токенов +├── 1 токен = 1 кг пшеницы +├── Цена токена: текущая биржевая + 5% +└── Можно продать/купить в любой момент +``` + +**Преимущества:** +- ✅ Ликвидность складских запасов +- ✅ Хеджирование рисков (продать часть заранее) +- ✅ Привлечение финансирования под товары +- ✅ Прозрачная цепочка поставок + +#### 5. 💎 Драгоценности и предметы искусства + +**Кейс: Токенизация бриллианта** +``` +Бриллиант 5 карат = 5,000 токенов +├── 1 токен = 0.001 карата +├── Цена: $100,000 / 5,000 = $20 за токен +├── Физический бриллиант в сейфе (подтверждено сертификатом) +└── Владельцы токенов = совладельцы бриллианта +``` + +**Преимущества:** +- ✅ Доступ к инвестициям от $20 +- ✅ Ликвидность (продажа за минуты) +- ✅ Диверсификация (купить доли в разных камнях) +- ✅ Прозрачное хранение и страхование + +### Как работает токенизация в DLE? + +#### Модель Treasury (Казна) + +``` +┌─────────────────────────────────────────────────┐ +│ DLE Smart Contract │ +│ Адрес: 0x742d35... │ +├─────────────────────────────────────────────────┤ +│ АКТИВЫ (Treasury): │ +│ ├── 10 BTC │ +│ ├── 100,000 USDT │ +│ ├── Токенизированная недвижимость: 3 объекта │ +│ ├── Акции компаний: 10 эмитентов │ +│ └── Интеллектуальная собственность: 5 патентов │ +├─────────────────────────────────────────────────┤ +│ УПРАВЛЕНИЕ: │ +│ ├── Токен-холдеры голосуют за распределение │ +│ ├── 51%+ = решение принято │ +│ └── Автоматическое исполнение смарт-контрактом │ +└─────────────────────────────────────────────────┘ +``` + +**Процесс:** +1. **Компания покупает актив** (недвижимость, оборудование, etc.) +2. **Актив помещается в Treasury Module** смарт-контракта +3. **Токен-холдеры владеют долями** в соответствии с количеством токенов +4. **Доходы от активов** автоматически распределяются пропорционально + +--- + +## Решение проблем управления + +### Традиционные проблемы корпоративного управления + +#### 1. Непрозрачность решений + +**Проблема в классических компаниях:** +``` +Совет директоров: +├── Закрытые заседания +├── Нет записи решений (или потеряны) +├── Невозможно проверить, кто как голосовал +├── Конфликты интересов скрыты +└── Акционеры не знают, что происходит +``` + +**Решение в DLE:** +``` +Каждое предложение (Proposal): +├── ID: #42 +├── Описание: "Купить новый офис за 5 млн" +├── Инициатор: 0xABC...123 +├── Голоса "За": 5,234,567 токенов (62%) +├── Голоса "Против": 3,123,456 токенов (38%) +├── Кто как голосовал: публично на блокчейне +├── Дата голосования: 2025-10-25 +└── Результат: Одобрено ✅ +``` + +**Преимущества:** +- ✅ **Полная прозрачность** - каждый акционер видит всё +- ✅ **Неизменяемая история** - нельзя подделать результаты +- ✅ **Автоматический подсчет** - нет манипуляций +- ✅ **Доказуемость** - любой может проверить на блокчейне + +#### 2. Медленное принятие решений + +**Традиционная схема:** +``` +Предложение изменения → + Подготовка документов (2 недели) → + Согласование с юристами (1 неделя) → + Созыв собрания акционеров (1 месяц) → + Голосование (1 день) → + Оформление протокола (1 неделя) → + Регистрация (2 недели) → + ИТОГО: 3 месяца +``` + +**С DLE на блокчейне:** +``` +Предложение изменения → + Создание Proposal (5 минут) → + Голосование (1-7 дней) → + Автоматическое исполнение (30 секунд) → + ИТОГО: 1-7 дней +``` + +**Экономия:** 90-95% времени! + +#### 3. Высокие издержки на управление + +**Традиционные расходы на корпоративное управление:** +``` +Ежегодные расходы на управление ООО/АО: +├── Бухгалтер: $12,000-36,000/год +├── Юрист: $10,000-50,000/год +├── Нотариус (сделки): $500-5,000/год +├── Реестр акционеров: $2,000-10,000/год +├── Аудит: $5,000-50,000/год +├── Собрания акционеров (организация): $2,000-10,000/год +└── ИТОГО: $31,500-161,000/год +``` + +**С DLE:** +``` +Ежегодные расходы: +├── Gas fees для транзакций: $100-1,000/год +├── RPC провайдеры: $0-500/год (можно бесплатно) +├── Хостинг приложения: $100-500/год +└── ИТОГО: $200-2,000/год +``` + +**Экономия:** 90-99% расходов! + +#### 4. Коррупция и конфликты интересов + +**Традиционная проблема:** +- Директор покупает услуги у своей компании по завышенной цене +- Невозможно отследить +- Сложно доказать +- Долгие судебные разбирательства + +**Решение DLE:** +``` +Предложение: "Купить оборудование у Компании X за $100,000" +↓ +Все токен-холдеры видят: +├── Кто инициировал: 0xABC...123 (Иван Иванов) +├── Владелец Компании X: 0xABC...123 (ТОТ ЖЕ ЧЕЛОВЕК!) +├── Конфликт интересов: ОБНАРУЖЕН ⚠️ +└── Токен-холдеры голосуют "Против" +``` + +**Преимущества:** +- ✅ Автоматическое выявление конфликтов +- ✅ Прозрачность владения +- ✅ Невозможно скрыть связи +- ✅ Коллективное принятие решений + +### Иерархическое управление (DLE владеет другими DLE) + +**Концепция:** Одна компания владеет акциями других компаний + +``` +┌─────────────────────────────────────────┐ +│ Холдинг DLE-A (Материнская компания) │ +│ 1,000,000 токенов │ +└──────────────┬──────────────────────────┘ + │ Владеет токенами: + ┌───────┼───────┬─────────────┐ + ↓ ↓ ↓ ↓ + ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ + │DLE-B │ │DLE-C │ │DLE-D │ │DLE-E │ + │70% │ │51% │ │100% │ │25% │ + │Ритейл │ │Произв.│ │IT │ │Старт. │ + └───────┘ └───────┘ └───────┘ └───────┘ +``` + +**Возможности:** +1. **DLE-A голосует в дочерних компаниях** автоматически +2. **Консолидированное управление** всем холдингом +3. **Прозрачная структура владения** (видно всем) +4. **Автоматические дивиденды** снизу вверх + +**Пример:** +``` +DLE-D заработала 100,000 USDT прибыли +↓ +Голосование в DLE-D: "Выплатить дивиденды" +↓ +100% токенов у DLE-A → 100,000 USDT идут в DLE-A +↓ +Автоматически распределяются между акционерами DLE-A +``` + +--- + +## Финансовые операции без банков + +### Проблемы банковской системы для бизнеса + +| Проблема | Последствия | Ваши потери | +|----------|-------------|-------------| +| 🏦 **Высокие комиссии** | 2-5% за транзакции | $20,000 на $1M оборота | +| ⏰ **Медленные переводы** | 3-7 дней | Заморозка капитала | +| 🌍 **SWIFT комиссии** | $25-50 за перевод | $300-600/месяц | +| 💱 **Конвертация валют** | 3-7% спред | $30,000-70,000/год | +| 🚫 **Блокировки счетов** | Остановка бизнеса | Миллионы убытков | +| 📋 **Комплаенс** | Запросы документов | Время сотрудников | +| 🌐 **Ограничения по странам** | Нет доступа к рынкам | Упущенная прибыль | + +### Решение: Криптовалютные операции через DLE + +#### 1. Мгновенные платежи 24/7 + +**Сравнение:** +``` +Банковский перевод (международный): +├── Время: 3-7 рабочих дней +├── Комиссия: $25-50 + 2-5% конвертации +├── Работает: Пн-Пт, 9:00-18:00 +└── Может быть заблокирован + +Крипто-перевод (через DLE): +├── Время: 30 секунд - 5 минут +├── Комиссия: $0.10-5 +├── Работает: 24/7/365 +└── Невозможно заблокировать +``` + +**Реальный кейс:** +``` +Вы продаете товар в Китай за $100,000 + +Традиционно: +├── SWIFT перевод: 5 дней +├── Комиссия банка: $50 +├── Конвертация USD→CNY: 3% = $3,000 +├── Комиссия китайского банка: $30 +└── ИТОГО: $3,080 комиссий + 5 дней ожидания + +С DLE (USDT): +├── Перевод на блокчейне: 30 секунд +├── Gas fee: $2 +├── Конвертация: 0% (USDT = USD) +└── ИТОГО: $2 комиссия + 30 секунд +``` + +**Экономия:** $3,078 (99.9%) на каждой транзакции! + +#### 2. Мультивалютная казна + +**Один адрес DLE хранит все валюты:** +``` +Treasury DLE: 0x742d35Cc6634C0532925a3b844Bc9377F91cAB6C +├── Стейблкоины (= фиатные валюты): +│ ├── USDT: 500,000 (= $500,000) +│ ├── USDC: 300,000 (= $300,000) +│ ├── EURC: 200,000 (= €200,000) +│ └── XSGD: 100,000 (= S$100,000) +├── Криптовалюты: +│ ├── ETH: 100 ($200,000) +│ ├── BTC: 5 ($250,000) +│ └── MATIC: 1,000,000 ($800,000) +└── Токенизированные активы: + ├── Недвижимость: $5,000,000 + └── Акции компаний: $2,000,000 +``` + +**Преимущества:** +- ✅ Нет отдельных счетов +- ✅ Мгновенная конвертация (через DEX) +- ✅ Прозрачный баланс для всех акционеров +- ✅ Автоматический учет + +#### 3. Автоматические выплаты зарплат и дивидендов + +**Традиционная схема выплаты дивидендов:** +``` +1. Собрание акционеров: решение о дивидендах +2. Бухгалтер считает суммы для каждого +3. Формирование платежных поручений +4. Отправка в банк +5. Банк обрабатывает: 3-7 дней +6. Налоги удерживаются +7. Выплата акционерам + +ИТОГО: 2-4 недели + ошибки + комиссии +``` + +**С DLE:** +```javascript +// Одна транзакция для выплаты дивидендов ВСЕМ акционерам +function distributeDividends(uint256 amount) { + // Смарт-контракт автоматически: + // 1. Берет USDT из казны + // 2. Вычисляет долю каждого токен-холдера + // 3. Отправляет пропорционально токенам + // 4. Всё за 30 секунд! +} +``` + +**Пример:** +``` +Прибыль компании: 1,000,000 USDT +Токен-холдеры: +├── Алиса: 600,000 токенов (60%) → 600,000 USDT +├── Боб: 300,000 токенов (30%) → 300,000 USDT +└── Кэрол: 100,000 токенов (10%) → 100,000 USDT + +Одна транзакция → Все получили за 30 секунд +Комиссия: $5 вместо $50-500 +``` + +#### 4. Глобальные платежи без ограничений + +**Проблемы традиционных платежей:** +- 🚫 Санкции (невозможно отправить деньги в некоторые страны) +- 📋 Комплаенс (нужны документы для каждого перевода) +- 💸 Лимиты (ограничения на сумму) +- ⏰ Задержки (банки проверяют каждую транзакцию) + +**С криптовалютами:** +- ✅ Нет географических ограничений +- ✅ Нет санкций на уровне протокола +- ✅ Нет лимитов на суммы +- ✅ Мгновенные платежи + +**Важно:** Вы всё равно обязаны соблюдать местные законы и платить налоги! + +--- + +## Прозрачность и доверие + +### Проблема доверия в бизнесе + +**Типичные ситуации недоверия:** + +1. **Инвесторы → Учредители** + - "Куда ушли наши деньги?" + - "Почему нет прибыли?" + - "Где отчет о расходах?" + +2. **Партнеры → Друг другу** + - "Ты действительно вложил обещанную сумму?" + - "Кто сколько получает дивидендов?" + - "Почему я не участвую в решениях?" + +3. **Клиенты → Компания** + - "Вы действительно владеете этим активом?" + - "Мои деньги в безопасности?" + - "Есть ли у вас лицензия?" + +### Решение: Блокчейн как источник истины + +#### Прозрачность финансов + +**Каждый токен-холдер видит в реальном времени:** + +``` +Treasury (Казна компании): +├── Активы: +│ ├── 500,000 USDT +│ ├── 10 BTC +│ ├── Недвижимость: 3 объекта +│ └── Акции: 10 компаний +├── Обязательства: +│ ├── Кредит: 100,000 USDT +│ └── Зарплатный фонд: 50,000 USDT/месяц +└── История операций: + ├── 2025-10-20: Получено 200,000 USDT от клиента + ├── 2025-10-21: Выплачено 50,000 USDT зарплат + └── 2025-10-22: Куплено 2 BTC за 100,000 USDT +``` + +**Невозможно:** +- ❌ Скрыть расходы +- ❌ Вывести деньги втихую +- ❌ Подделать баланс +- ❌ Скрыть убытки + +#### Прозрачность решений + +**Каждое решение записано навсегда:** + +``` +Proposal #15: "Купить новый офис за 5 млн" +├── Инициатор: Иван Петров (0xABC...123) +├── Дата создания: 2025-10-15 +├── Срок голосования: 7 дней +├── Голоса: +│ ├── "За": 62% (6,200,000 токенов) +│ │ └── Владельцы: [список адресов] +│ └── "Против": 38% (3,800,000 токенов) +│ └── Владельцы: [список адресов] +├── Статус: ОДОБРЕНО ✅ +└── Исполнено: 2025-10-22 (автоматически) +``` + +**Преимущества:** +- ✅ Нельзя сказать "Я не голосовал за это!" +- ✅ Видно, кто инициировал решение +- ✅ Прозрачна мотивация (связи, интересы) +- ✅ Невозможно переписать историю + +#### Прозрачность владения + +**Все знают, кто чем владеет:** + +``` +Владельцы токенов DLE: +├── 0xABC...123 (Иван Петров): 600,000 токенов (60%) +├── 0xDEF...456 (Компания X): 300,000 токенов (30%) +└── 0xGHI...789 (Фонд Y): 100,000 токенов (10%) +``` + +**Автоматические проверки:** +- ⚠️ Конфликт интересов: обнаружен +- ⚠️ Связанные стороны: найдены +- ⚠️ Концентрация владения: критическая + +### Репутация на блокчейне + +**Каждая компания (DLE) имеет:** +- ✅ Неизменяемую историю операций +- ✅ Рейтинг от партнеров +- ✅ Публичные финансовые показатели +- ✅ Подтвержденные активы + +**Это как:** +- 📊 Кредитная история (но прозрачная) +- ⭐ Рейтинг на маркетплейсе (но невозможно накрутить) +- 📜 Аудит (но постоянный и бесплатный) + +--- + +## Автоматизация и снижение издержек + +### Устранение посредников + +**Кого блокчейн убирает из процесса:** + +``` +Традиционная транзакция: +Компания A → Банк A → SWIFT → Банк B → Компания B + ↓ ↓ ↓ ↓ ↓ + 3-5% 0.5-1% $25-50 0.5-1% 3-5% + ИТОГО: 7-12% комиссий + 3-7 дней + +Блокчейн-транзакция: +Компания A ──────────────────────→ Компания B + $0.10-5, 30 секунд +``` + +**Экономия на $1,000,000 оборота:** +- Традиционно: $70,000-120,000 комиссий +- Блокчейн: $100-500 комиссий +- **Экономия: $69,500-119,500 (99%)** + +### Автоматизация процессов + +#### 1. Корпоративное управление + +**Было (вручную):** +``` +Шаги для принятия решения: +1. Подготовка предложения: 2-5 дней +2. Согласование с юристами: 3-7 дней +3. Рассылка акционерам: 1 день +4. Созыв собрания: 30 дней (по закону) +5. Проведение голосования: 1 день +6. Подсчет голосов: 1-2 дня +7. Оформление протокола: 3-5 дней +8. Регистрация решения: 14-30 дней + +ИТОГО: 55-85 дней +Стоимость: $2,000-10,000 +``` + +**Стало (автоматически):** +``` +1. Создание Proposal: 5 минут +2. Голосование: 1-7 дней (настраивается) +3. Автоматическое исполнение: 30 секунд + +ИТОГО: 1-7 дней +Стоимость: $2-5 (gas fees) +``` + +#### 2. Выплата дивидендов + +**Было (вручную):** +``` +1. Определение суммы дивидендов: 1 день +2. Расчет доли каждого акционера: 2-3 дня +3. Подготовка платежных поручений: 2 дня +4. Отправка в банк: 1 день +5. Обработка банком: 3-7 дней +6. Получение акционерами: 1-3 дня + +ИТОГО: 10-17 дней +Стоимость: $500-2,000 +Ошибки: 5-10% транзакций +``` + +**Стало (автоматически):** +``` +function distributeDividends() { + // Одна транзакция → все получили +} + +ИТОГО: 30 секунд +Стоимость: $5-20 +Ошибки: 0% (математика смарт-контракта) +``` + +#### 3. Аудит и отчетность + +**Было (вручную):** +``` +Ежегодный аудит: +├── Сбор документов: 1-2 недели +├── Проверка аудиторами: 2-4 недели +├── Исправления: 1-2 недели +├── Финальный отчет: 1 неделя +└── Стоимость: $5,000-50,000 + ++ Квартальная отчетность: еще $2,000-10,000/квартал +``` + +**Стало (автоматически):** +``` +Блокчейн = постоянный аудит: +├── Каждая транзакция проверена сетью +├── Невозможно подделать данные +├── Реалтайм отчеты для всех +└── Стоимость: $0 (уже включено в блокчейн) +``` + +**Экономия:** $13,000-90,000/год на аудит и отчетность + +### Смарт-контракты вместо юристов + +**Что автоматизируется:** + +| Процесс | Было | Стало | +|---------|------|-------| +| **Выплата при условии** | Эскроу ($500-2,000) | Смарт-контракт ($5) | +| **Многосторонние подписи** | Нотариус ($100-500) | Multisig ($2-10) | +| **Автоматические платежи** | Бухгалтер ($2,000/мес) | Смарт-контракт ($10/мес) | +| **Распределение роялти** | Юрист ($5,000+) | Смарт-контракт ($20) | + +**Пример: Эскроу для сделки** + +Традиционно: +``` +1. Поиск эскроу-агента +2. Подписание договора эскроу +3. Оплата услуг: $500-2,000 +4. Перевод денег агенту +5. Проверка условий (вручную) +6. Выплата (3-7 дней) +``` + +Со смарт-контрактом: +```solidity +contract Escrow { + // Деньги заблокированы пока условие не выполнено + if (условие_выполнено) { + отправить_деньги_продавцу(); + } else if (срок_истек) { + вернуть_деньги_покупателю(); + } +} +``` +Стоимость: $5, исполнение автоматическое за 30 секунд + +--- + +## Практические кейсы + +### Кейс 1: Стартап привлекает инвестиции + +**Ситуация:** +Технологический стартап ищет $500,000 инвестиций. + +**Традиционный путь:** +``` +1. Поиск инвесторов: 6-12 месяцев +2. Due diligence: 2-3 месяца +3. Переговоры и оценка: 1-2 месяца +4. Юридическое оформление: 1-2 месяца + ├── Изменение устава + ├── Эмиссия акций + └── Регистрация в ИФНС +5. Стоимость процесса: + ├── Юристы: $20,000-50,000 + ├── Оценщики: $5,000-10,000 + ├── Регистрация: $2,000-5,000 + └── ИТОГО: $27,000-65,000 + +ИТОГО: 10-19 месяцев + $27,000-65,000 +``` + +**С DLE на блокчейне:** +``` +1. Создание DLE: 1 день + ├── Выпуск 10,000,000 токенов + ├── Учредители оставляют: 7,000,000 (70%) + └── Для инвесторов: 3,000,000 (30%) + +2. Размещение токенов: + ├── Launchpad на DEX + ├── Цена: $0.167 за токен + ├── Продано за: 3 дня + └── Получено: $500,000 + +3. Стоимость процесса: + ├── Деплой смарт-контракта: $100 + ├── Листинг на DEX: $500 + └── ИТОГО: $600 + +ИТОГО: 4 дня + $600 +``` + +**Результат:** +- ⚡ В 90 раз быстрее +- 💰 В 45-100 раз дешевле +- 🌍 Доступ к глобальным инвесторам +- ✅ Мгновенная ликвидность токенов + +### Кейс 2: Фонд недвижимости + +**Ситуация:** +Инвестиционный фонд владеет офисным зданием за $10,000,000. Хочет привлечь средства для нового проекта. + +**Традиционный путь:** +``` +Варианты: +1. Банковский кредит под залог: + ├── Ставка: 12-18% + ├── Срок оформления: 2-3 месяца + └── Стоимость оценки + юристы: $50,000 + +2. Продать здание целиком: + ├── Срок продажи: 6-18 месяцев + ├── Комиссия агентам: 3-5% ($300,000-500,000) + └── Теряет актив + +3. Привлечь инвесторов в фонд: + ├── Создание ЗПИФ: $50,000-200,000 + ├── Срок: 6-12 месяцев + └── Ежегодное обслуживание: $20,000-50,000 +``` + +**С токенизацией через DLE:** +``` +1. Токенизация здания: + ├── Выпуск 10,000,000 токенов + ├── 1 токен = $1 стоимости здания + └── Срок: 1 день + +2. Продажа 30% токенов: + ├── 3,000,000 токенов на DEX + ├── Цена: $1 за токен + ├── Продано за: 2 недели + └── Получено: $3,000,000 + +3. Арендные платежи: + ├── Аренда: $100,000/месяц + ├── Автоматическое распределение: + │ ├── 70% ($70,000) → фонду + │ └── 30% ($30,000) → держателям токенов + └── Выплаты: ежемесячно, автоматически + +4. Стоимость: + ├── Токенизация: $500 + ├── Листинг: $500 + └── ИТОГО: $1,000 +``` + +**Результат:** +- ⚡ Получили $3M за 2 недели +- 💰 Сохранили актив (владеют 70%) +- 📈 Пассивный доход продолжается +- 🔄 Можно выкупить токены обратно +- 💸 Стоимость 1000$ vs $50,000-200,000 + +### Кейс 3: Музыкальный лейбл + +**Ситуация:** +Независимый музыкальный лейбл хочет выпустить альбом нового артиста. + +**Традиционный путь:** +``` +1. Поиск инвестиций для записи: + ├── Нужно: $50,000 + ├── Источники: банк, инвесторы + ├── Условия: 50% роялти инвесторам + └── Срок поиска: 3-6 месяцев + +2. Выпуск альбома: + ├── Запись: $30,000 + ├── Продвижение: $20,000 + └── Срок: 3-6 месяцев + +3. Доходы от стриминга: + ├── Spotify: $0.003-0.005 за прослушивание + ├── Площадки берут: 30% + ├── Лейбл: 35% + ├── Инвесторы: 35% + └── Артист: 30% + +ИТОГО: 6-12 месяцев, артист получает только 30% +``` + +**С токенизацией через DLE:** +``` +1. Создание DLE для альбома: + ├── Выпуск 1,000,000 токенов + ├── Артист оставляет: 500,000 (50%) + ├── Продажа фанатам: 500,000 по $0.10 + └── Получено: $50,000 за 1 неделю + +2. Выпуск альбома: + ├── Запись: $30,000 + ├── Продвижение: $20,000 + └── Срок: 3-6 месяцев + +3. Доходы от стриминга: + ├── Доход: $10,000/месяц + ├── Автоматическое распределение: + │ ├── 50% ($5,000) → артист + │ └── 50% ($5,000) → держатели токенов (фаны) + └── Выплаты: ежемесячно, автоматически + +4. Бонусы: + ├── Фаны зарабатывают на успехе артиста + ├── Токены можно перепродать (вторичный рынок) + ├── Артист напрямую связан с фанами + └── Прозрачность всех доходов +``` + +**Результат:** +- ⚡ Получили инвестиции за неделю +- 💰 Артист получает 50% вместо 30% +- 🎵 Фаны зарабатывают вместе с артистом +- 🔄 Ликвидность токенов на вторичном рынке + +### Кейс 4: Агрохолдинг (токенизация урожая) + +**Ситуация:** +Фермерское хозяйство выращивает пшеницу. Нужны деньги на посевную (апрель), урожай будет в августе. + +**Традиционный путь:** +``` +1. Кредит в банке: + ├── Сумма: $200,000 + ├── Ставка: 15% годовых + ├── Срок кредита: 6 месяцев + ├── Проценты: $15,000 + └── Срок оформления: 1 месяц + +2. Риски: + ├── Неурожай → нечем платить кредит + ├── Падение цены → убытки + └── Банкротство +``` + +**С токенизацией урожая через DLE:** +``` +1. Апрель (посевная): + ├── Прогноз урожая: 1,000 тонн пшеницы + ├── Выпуск 1,000,000 токенов + ├── 1 токен = 1 кг пшеницы + ├── Цена токена: $0.25 (текущая цена + 10%) + └── Продажа 800,000 токенов → $200,000 + +2. Август (урожай): + ├── Собрано: 1,000 тонн + ├── Цена выросла до $0.30/кг + ├── Держатели токенов могут: + │ ├── Получить физическую пшеницу + │ ├── Продать токены по $0.30 + │ └── Заработать: 20% за 4 месяца + └── Фермер получил деньги без кредита + +3. Преимущества: + ├── Нет процентов (0% vs 15%) + ├── Делится риск урожая с инвесторами + ├── Прямая связь с покупателями + └── Прозрачность всей цепочки +``` + +**Результат:** +- 💰 Экономия $15,000 на процентах +- 🌾 Риски разделены с инвесторами +- 📈 Инвесторы заработали 20% за 4 месяца +- 🔗 Прозрачная цепочка поставок + +--- + +## Экономический эффект + +### Расчет экономии для типичного бизнеса + +**Исходные данные:** +- Оборот: $1,000,000/год +- Сотрудники: 10 человек +- Акционеры: 5 человек +- Международные операции: 20% оборота + +#### 1. Экономия на банковских комиссиях + +``` +Традиционно: +├── Обслуживание счета: $1,200/год +├── Транзакции внутри страны: 1% × $800,000 = $8,000 +├── Международные переводы: 5% × $200,000 = $10,000 +├── SWIFT комиссии: 50 переводов × $35 = $1,750 +├── Конвертация валют: 3% × $200,000 = $6,000 +└── ИТОГО: $26,950/год + +С DLE (крипто): +├── Gas fees: $1,000/год +├── RPC провайдеры: $200/год +└── ИТОГО: $1,200/год + +ЭКОНОМИЯ: $25,750/год (96%) +``` + +#### 2. Экономия на корпоративном управлении + +``` +Традиционно: +├── Бухгалтер: $24,000/год +├── Юрист (корпоративное право): $15,000/год +├── Нотариус (собрания, сделки): $2,000/год +├── Реестр акционеров: $3,000/год +├── Аудит: $10,000/год +└── ИТОГО: $54,000/год + +С DLE: +├── Автоматизация через смарт-контракты +├── Бухгалтер (только налоги): $12,000/год +└── ИТОГО: $12,000/год + +ЭКОНОМИЯ: $42,000/год (78%) +``` + +#### 3. Экономия на привлечении инвестиций + +``` +Традиционно (одна сделка): +├── Юристы: $30,000 +├── Оценщики: $7,000 +├── Due diligence: $10,000 +├── Регистрация изменений: $3,000 +└── ИТОГО: $50,000 + +С DLE (эмиссия токенов): +├── Деплой смарт-контракта: $100 +├── Листинг на DEX: $500 +└── ИТОГО: $600 + +ЭКОНОМИЯ: $49,400 на сделку (99%) +``` + +#### 4. Экономия времени (стоимость упущенных возможностей) + +``` +Традиционно: +├── Принятие решений: 2-3 месяца +├── Выплата дивидендов: 2-3 недели +├── Привлечение инвестиций: 6-12 месяцев +└── Международные переводы: 3-7 дней + +С DLE: +├── Принятие решений: 1-7 дней +├── Выплата дивидендов: 30 секунд +├── Привлечение инвестиций: 1-14 дней +└── Международные переводы: 30 секунд + +Оценка стоимости времени: +├── 10 месяцев экономии × $100,000 оборот/месяц +└── Дополнительная прибыль: $1,000,000 +``` + +### Итоговая экономия за год + +``` +┌─────────────────────────────────────────────┐ +│ ЭКОНОМИЧЕСКИЙ ЭФФЕКТ ДЛЯ БИЗНЕСА С │ +│ ОБОРОТОМ $1,000,000/ГОД │ +├─────────────────────────────────────────────┤ +│ Банковские комиссии: -$25,750 │ +│ Корпоративное управление: -$42,000 │ +│ Привлечение инвестиций: -$49,400 │ +│ ──────────────────────────────────────── │ +│ ИТОГО ЭКОНОМИЯ: $117,150/год │ +│ │ +│ + Дополнительная прибыль от скорости: │ +│ ~$1,000,000 (упущенные возможности) │ +│ │ +│ ИТОГО ЭФФЕКТ: $1,117,150 │ +├─────────────────────────────────────────────┤ +│ ROI: 1,117% на инвестиции в DLE │ +│ Окупаемость: < 1 месяца │ +└─────────────────────────────────────────────┘ +``` + +### Сравнение с конкурентами + +| Решение | Стоимость/год | Комиссии транзакций | Скорость | Прозрачность | +|---------|---------------|---------------------|----------|--------------| +| **Традиционный бизнес** | $54,000+ | 3-7% | 3-7 дней | ❌ Низкая | +| **SaaS решения** | $12,000-60,000 | 2-5% | 1-3 дня | ⚠️ Средняя | +| **DLE на блокчейне** | $1,200-3,000 | 0.01-0.5% | 30 сек | ✅ Полная | + +--- + +## Заключение + +### Почему блокчейн - это будущее бизнеса? + +Digital Legal Entity на блокчейне решает фундаментальные проблемы современного бизнеса: + +1. **🏦 Финансовая свобода** + - Операции без банков + - Мгновенные переводы по всему миру + - Минимальные комиссии (99% экономии) + - Нет географических ограничений + +2. **🔑 Универсальная идентичность** + - Один адрес смарт-контракта = все идентификаторы + - Замена ИНН, банковского счета, email, телефона + - Криптографическая защита от подделок + +3. **💰 Токенизация активов** + - Любой актив становится ликвидным + - Дробное владение (от $1) + - Глобальный рынок 24/7 + - Автоматические доходы + +4. **🗳️ Прозрачное управление** + - Каждый акционер видит всё + - Невозможно скрыть решения + - Автоматическое исполнение + - Защита от коррупции + +5. **⚡ Автоматизация** + - Смарт-контракты вместо юристов + - Автоматические выплаты + - Исключение человеческих ошибок + - 90-99% экономии времени и денег + +### Экономическая выгода + +Для бизнеса с оборотом $1M/год: +- 💰 **Экономия: $117,000/год** (на комиссиях и управлении) +- ⚡ **Дополнительная прибыль: ~$1,000,000** (за счет скорости) +- 📈 **ROI: 1,117%** на внедрение DLE +- 🎯 **Окупаемость: < 1 месяца** + +### Начните сейчас! + +1. 📖 **[Изучите FAQ](./FAQ.md)** - ответы на популярные вопросы +2. 🚀 **[Установите DLE](./setup-instruction.md)** - пошаговая инструкция +3. 🔗 **[Настройте блокчейн](./blockchain-integration-technical.md)** - техническая документация +4. 💬 **[Получите поддержку](https://hb3-accelerator.com/)** - мы поможем! + +--- + +## Дополнительные ресурсы + +### Документация +- 📋 [FAQ](./FAQ.md) +- 🔧 [Установка](./setup-instruction.md) +- 🔗 [Техническая документация по блокчейну](./blockchain-integration-technical.md) +- 📝 [Условия обслуживания](./service-terms.md) + + +### Поддержка +- 💬 **Чат с поддержкой**: https://hb3-accelerator.com/ +- 📧 **Email**: info@hb3-accelerator.com +- 🌐 **Сайт**: https://hb3-accelerator.com + +--- + +**© 2024-2025 Тарабанов Александр Викторович. Все права защищены.** + +**Последнее обновление**: October 2025 + diff --git a/docs/blockchain-integration-technical.md b/docs/blockchain-integration-technical.md new file mode 100644 index 0000000..fccccb2 --- /dev/null +++ b/docs/blockchain-integration-technical.md @@ -0,0 +1,1049 @@ +# Блокчейн интеграция Digital Legal Entity (DLE) + +## 📋 Содержание + +1. [Введение](#введение) +2. [Архитектура смарт-контрактов](#архитектура-смарт-контрактов) +3. [Основной контракт DLE](#основной-контракт-dle) +4. [Модульная система](#модульная-система) +5. [Мультичейн архитектура](#мультичейн-архитектура) +6. [Система голосования (Управление)](#система-голосования-управление) +7. [Деплой смарт-контрактов](#деплой-смарт-контрактов) +8. [Аутентификация через кошелек](#аутентификация-через-кошелек) +9. [Интеграция с frontend](#интеграция-с-frontend) +10. [Безопасность](#безопасность) +11. [Практические примеры](#практические-примеры) + +--- + +## Введение + +Digital Legal Entity (DLE) использует блокчейн-технологии для обеспечения **токенизированного управления** (аналогично акционерному обществу на блокчейне) и **прозрачного принятия решений** через смарт-контракты. + +### Зачем блокчейн в DLE? + +1. **🗳️ Управление как в акционерном обществе** - решения принимаются токен-холдерами через голосование на блокчейне +2. **🔒 Прозрачность** - все голосования и операции записаны на блокчейне +3. **🛡️ Защита от цензуры** - смарт-контракт гарантирует права токен-холдеров +4. **📜 Иммутабельность** - история решений неизменна +5. **🌐 Мультичейн поддержка** - работа в нескольких блокчейнах одновременно + +### Модель управления DLE + +DLE использует **гибридную модель управления**: + +| Аспект | Реализация | +|--------|------------| +| **Голосование** | Токен-холдеры (как акционеры) | +| **Кворум** | 51%+ токенов для принятия решений | +| **Распределение активов** | Через голосование (как в АО) | +| **Изменение параметров** | Через голосование токен-холдеров | +| **Код приложения** | Проприетарный (автор) | +| **Обновления** | Автор разрабатывает, токен-холдеры голосуют за приоритеты | + +Это **токенизированное акционерное общество на блокчейне**, где: +- ✅ Управление параметрами - через голосование токен-холдеров (как акционеров) +- ✅ Распределение активов - через голосование (как в АО) +- ⚠️ Разработка кода - централизована (автор) +- ⚠️ Выпуск обновлений - автор (по приоритетам голосования) + +### Поддерживаемые блокчейны + +DLE работает с любыми **EVM-совместимыми** сетями: +- ✅ Ethereum (mainnet & testnets: Sepolia, Holesky) +- ✅ Polygon (mainnet & testnets) +- ✅ Arbitrum (One & Sepolia) +- ✅ Binance Smart Chain (BSC) +- ✅ Base (mainnet & Sepolia) +- ✅ И любые другие EVM-сети + +--- + +## Архитектура смарт-контрактов + +### Обзор системы + +``` +┌─────────────────────────────────────────────────────────────┐ +│ DLE Ecosystem │ +├─────────────────────────────────────────────────────────────┤ +│ │ +│ ┌─────────────────────────────────────────────────────┐ │ +│ │ DLE Core Contract (ERC20Votes) │ │ +│ │ • Токены управления (ERC20) │ │ +│ │ • Голосование (ERC20Votes) │ │ +│ │ • Подписи (ERC20Permit) │ │ +│ │ • Proposals (предложения) │ │ +│ │ • Мультичейн поддержка │ │ +│ └─────────────────────────────────────────────────────┘ │ +│ ↕ │ +│ ┌──────────────────────────────────────────────────────┐ │ +│ │ Модули (Расширения) │ │ +│ ├──────────────────────────────────────────────────────┤ │ +│ │ • HierarchicalVotingModule │ │ +│ │ - Голосование в других DLE │ │ +│ │ - Владение токенами других DLE │ │ +│ │ │ │ +│ │ • TreasuryModule │ │ +│ │ - Управление казной │ │ +│ │ - Хранение токенов │ │ +│ │ │ │ +│ │ • TimelockModule │ │ +│ │ - Отложенное исполнение │ │ +│ │ - Защита от мгновенных изменений │ │ +│ └──────────────────────────────────────────────────────┘ │ +│ ↕ │ +│ ┌──────────────────────────────────────────────────────┐ │ +│ │ DLEReader (Читатель данных) │ │ +│ │ • Batch чтение данных │ │ +│ │ • Оптимизация RPC запросов │ │ +│ └──────────────────────────────────────────────────────┘ │ +└─────────────────────────────────────────────────────────────┘ +``` + +### Стандарты и библиотеки + +DLE использует проверенные стандарты **OpenZeppelin**: + +| Стандарт | Назначение | +|----------|------------| +| **ERC20** | Базовый функционал токена | +| **ERC20Votes** | Голосование с снапшотами | +| **ERC20Permit** | Подписи без gas (meta-transactions) | +| **ReentrancyGuard** | Защита от реентерабельности | +| **ECDSA** | Проверка подписей | + +--- + +## Основной контракт DLE + +### Структура контракта + +Файл: `backend/contracts/DLE.sol` + +```solidity +contract DLE is ERC20, ERC20Permit, ERC20Votes, ReentrancyGuard, IMultichainMetadata { + // Основные данные DLE + struct DLEInfo { + string name; // Название организации + string symbol; // Символ токена + string location; // Местоположение + string coordinates; // Координаты GPS + uint256 jurisdiction; // Юрисдикция + string[] okvedCodes; // Коды ОКВЭД + uint256 kpp; // КПП (для РФ) + uint256 creationTimestamp; + bool isActive; + } + + // Предложение для голосования + struct Proposal { + uint256 id; + string description; + uint256 forVotes; // Голоса "За" + uint256 againstVotes; // Голоса "Против" + bool executed; + bool canceled; + uint256 deadline; + address initiator; + bytes operation; // Операция для исполнения + uint256 governanceChainId; // Сеть голосования + uint256[] targetChains; // Целевые сети для исполнения + uint256 snapshotTimepoint; + mapping(address => bool) hasVoted; + } +} +``` + +### Ключевые возможности + +#### 1. Токены управления (ERC20) + +DLE токены представляют **право голоса** в управлении: +- 1 токен = 1 голос +- Токены **НЕ передаются** обычными методами (только через governance) +- Подписи EIP-712 для meta-transactions + +```solidity +// Переводы токенов ЗАБЛОКИРОВАНЫ +function transfer(address, uint256) public pure override returns (bool) { + revert ErrTransfersDisabled(); +} + +// Одобрения ЗАБЛОКИРОВАНЫ +function approve(address, uint256) public pure override returns (bool) { + revert ErrApprovalsDisabled(); +} +``` + +#### 2. Голосование (ERC20Votes) + +Использует **снапшоты** голосов: +- Защита от flash-loans +- Голоса берутся из прошлого блока +- Делегирование (опционально) + +```solidity +function getPastVotes(address account, uint256 timepoint) public view returns (uint256) +``` + +#### 3. Мультичейн поддержка + +DLE может быть развернут в **нескольких сетях одновременно**: +- Один адрес во всех сетях (детерминированный деплой) +- Голосование в одной сети (governance chain) +- Исполнение в любых целевых сетях + +```solidity +// Поддерживаемые сети +mapping(uint256 => bool) public supportedChains; +uint256[] public supportedChainIds; + +// Добавление сети (только через голосование) +function _addSupportedChain(uint256 _chainId) internal { + require(!supportedChains[_chainId], "Chain already supported"); + supportedChains[_chainId] = true; + supportedChainIds.push(_chainId); + emit ChainAdded(_chainId); +} +``` + +#### 4. Модульная архитектура + +DLE поддерживает **расширения через модули**: + +```solidity +// Модули +mapping(bytes32 => address) public modules; +mapping(bytes32 => bool) public activeModules; + +// Добавление модуля (только через голосование) +function _addModule(bytes32 _moduleId, address _moduleAddress) internal { + if (_moduleAddress == address(0)) revert ErrZeroAddress(); + if (activeModules[_moduleId]) revert ErrProposalExecuted(); + + modules[_moduleId] = _moduleAddress; + activeModules[_moduleId] = true; + + emit ModuleAdded(_moduleId, _moduleAddress); +} +``` + +### Операции доступные через голосование + +| Операция | Описание | +|----------|----------| +| `_addModule` | Добавить новый модуль | +| `_removeModule` | Удалить модуль | +| `_addSupportedChain` | Добавить блокчейн | +| `_removeSupportedChain` | Удалить блокчейн | +| `_transferTokens` | Перевести токены | +| `_updateDLEInfo` | Обновить информацию DLE | +| `_updateQuorumPercentage` | Изменить кворум | +| `_updateVotingDurations` | Изменить длительность голосования | + +--- + +## Модульная система + +### 1. HierarchicalVotingModule + +**Назначение**: Иерархическое голосование - DLE может голосовать в других DLE. + +**Файл**: `backend/contracts/HierarchicalVotingModule.sol` + +**Возможности**: +- ✅ DLE может владеть токенами других DLE +- ✅ Голосовать в других DLE от своего имени +- ✅ Создавать предложения в других DLE +- ✅ Отслеживать цепочку голосований + +```solidity +struct ExternalDLEInfo { + address dleAddress; + string name; + string symbol; + uint256 tokenBalance; // Баланс токенов этого DLE + bool isActive; + uint256 addedAt; +} + +// Добавить внешний DLE +function addExternalDLE( + address dleAddress, + string memory name, + string memory symbol +) external onlyDLE; + +// Создать предложение в внешнем DLE +function createProposalInExternalDLE( + address externalDLE, + string calldata description, + uint256 duration, + bytes calldata operation, + uint256 chainId +) external onlyDLE returns (uint256); +``` + +**Пример использования**: +```javascript +// DLE-A владеет токенами DLE-B +// DLE-A может голосовать в DLE-B автоматически +const hierarchicalModule = await ethers.getContractAt('HierarchicalVotingModule', moduleAddress); +await hierarchicalModule.voteInExternalDLE(dleBAddress, proposalId, true); +``` + +### 2. TreasuryModule + +**Назначение**: Управление казной (treasury) и активами DLE. + +**Файл**: `backend/contracts/TreasuryModule.sol` + +**Возможности**: +- ✅ Хранение токенов и активов +- ✅ Управление через голосование токен-холдеров +- ✅ Отправка платежей +- ✅ Аккумуляция доходов + +```solidity +// Перевести токены из казны (только через голосование в DLE) +function transferTokens( + address token, + address recipient, + uint256 amount +) external onlyDLE; + +// Получить баланс токена в казне +function getTokenBalance(address token) external view returns (uint256); +``` + +**Пример использования**: +```javascript +// Создать предложение на выплату из казны +const operation = treasuryModule.interface.encodeFunctionData('transferTokens', [ + tokenAddress, + recipientAddress, + ethers.parseEther('100') +]); + +await dleContract.createProposal( + 'Выплата 100 токенов для маркетинга', + 86400, // 24 часа + operation, + chainId, + [chainId] +); +``` + +### 3. TimelockModule + +**Назначение**: Отложенное исполнение операций для безопасности. + +**Файл**: `backend/contracts/TimelockModule.sol` + +**Возможности**: +- ✅ Задержка перед исполнением (timelock) +- ✅ Возможность отмены до исполнения +- ✅ Защита от мгновенных изменений + +```solidity +struct TimelockProposal { + uint256 proposalId; + uint256 executionTime; // Время когда можно исполнить + bytes32 operationHash; + bool executed; + bool canceled; +} + +// Создать timelock предложение +function scheduleProposal( + uint256 proposalId, + bytes calldata operation, + uint256 delay +) external onlyDLE returns (bytes32); + +// Исполнить по истечении таймлока +function executeTimelockProposal(bytes32 operationHash) external; +``` + +### 4. DLEReader + +**Назначение**: Оптимизированное чтение данных из контрактов. + +**Файл**: `backend/contracts/DLEReader.sol` + +**Возможности**: +- ✅ Batch чтение нескольких данных за один RPC запрос +- ✅ Получение детальной информации о DLE +- ✅ Список всех предложений с деталями +- ✅ Оптимизация gas для чтения + +```solidity +// Получить полную информацию о DLE за один запрос +function getDLEFullInfo(address dleAddress) external view returns ( + string memory name, + string memory symbol, + uint256 totalSupply, + DLEInfo memory info, + uint256 proposalCount, + // ... и другие данные +); + +// Получить все предложения (batch read) +function getAllProposals(address dleAddress) external view returns (ProposalInfo[] memory); +``` + +--- + +## Мультичейн архитектура + +### Концепция + +DLE поддерживает **детерминированный деплой** - один адрес во всех сетях: + +``` +Ethereum: 0x742d35Cc6634C0532925a3b844Bc9377F91cAB6C +Polygon: 0x742d35Cc6634C0532925a3b844Bc9377F91cAB6C ← Тот же адрес! +Arbitrum: 0x742d35Cc6634C0532925a3b844Bc9377F91cAB6C +BSC: 0x742d35Cc6634C0532925a3b844Bc9377F91cAB6C +``` + +### Как это работает? + +1. **Генерация init code** - одинаковый bytecode для всех сетей +2. **Фиксированный nonce** - деплой с одного и того же nonce +3. **CREATE opcode** - адрес = keccak256(deployerAddress, nonce) +4. **Результат** - одинаковый адрес во всех сетях + +### Голосование в одной сети + +**Голосование** происходит в **одной сети** (сеть голосования), а **исполнение** - в любых целевых сетях: + +``` +┌─────────────────────────────────────────────────────────┐ +│ Ethereum (Сеть голосования) │ +│ 1. Создание предложения │ +│ 2. Голосование │ +│ 3. Подсчет голосов │ +│ 4. Генерация подписи для исполнения │ +└─────────────────────────────────────────────────────────┘ + ↓ + ┌───────────────┴───────────────┐ + ↓ ↓ +┌───────────────────┐ ┌───────────────────┐ +│ Polygon │ │ Arbitrum │ +│ (Target Chain) │ │ (Target Chain) │ +│ 5. Исполнение │ │ 5. Исполнение │ +│ с подписью │ │ с подписью │ +└───────────────────┘ └───────────────────┘ +``` + +### Мультичейн исполнение + +Исполнение через **подписи** (off-chain coordination): + +```solidity +function executeWithSignatures( + uint256 proposalId, + bytes32 operationHash, + address[] calldata signers, + bytes[] calldata signatures +) external nonReentrant; +``` + +**Процесс**: +1. Предложение одобрено в сети голосования +2. Генерируются подписи токен-холдеров +3. Подписи передаются в целевые сети +4. Контракт проверяет подписи и исполняет операцию + +--- + +## Система голосования (Управление) + +### Создание предложения + +```solidity +function createProposal( + string calldata _description, + uint256 _duration, + bytes calldata _operation, + uint256 _chainId, + uint256[] calldata _targetChains, + address _initiator +) external returns (uint256); +``` + +**Параметры**: +- `_description` - описание предложения +- `_duration` - длительность голосования (в секундах) +- `_operation` - операция для исполнения (encoded function call) +- `_chainId` - ID сети для голосования +- `_targetChains` - целевые сети для исполнения +- `_initiator` - адрес инициатора + +**Пример** (backend): +```javascript +const { ethers } = require('ethers'); + +// Операция: добавить модуль +const operation = dleContract.interface.encodeFunctionData('_addModule', [ + ethers.id('TIMELOCK_MODULE'), // moduleId + timelockModuleAddress +]); + +// Создать предложение +const tx = await dleContract.createProposal( + 'Добавить Timelock Module для защиты', + 86400 * 3, // 3 дня + operation, + 1, // Ethereum mainnet + [1, 137, 42161], // Ethereum, Polygon, Arbitrum + walletAddress +); + +const receipt = await tx.wait(); +const proposalId = receipt.events[0].args.proposalId; +``` + +### Голосование + +```solidity +function vote(uint256 _proposalId, bool _support) external; +``` + +**Параметры**: +- `_proposalId` - ID предложения +- `_support` - true = "За", false = "Против" + +**Пример** (frontend): +```javascript +// Подключение к контракту +const dleContract = new ethers.Contract(dleAddress, dleAbi, signer); + +// Голосование "За" +await dleContract.vote(proposalId, true); + +// Голосование "Против" +await dleContract.vote(proposalId, false); +``` + +### Исполнение предложения + +```solidity +function execute(uint256 _proposalId) external nonReentrant; +``` + +**Условия исполнения**: +1. ✅ Голосование завершено (прошел deadline) +2. ✅ Кворум достигнут (например, 10% токенов проголосовало) +3. ✅ Больше голосов "За", чем "Против" +4. ✅ Предложение еще не исполнено + +**Пример**: +```javascript +// Проверить, можно ли исполнить +const proposal = await dleContract.proposals(proposalId); +const canExecute = ( + proposal.deadline < Date.now() / 1000 && + !proposal.executed && + proposal.forVotes > proposal.againstVotes +); + +if (canExecute) { + await dleContract.execute(proposalId); +} +``` + +### Кворум + +Кворум определяет **минимальное количество голосов** для принятия решения: + +```solidity +uint256 public quorumPercentage; // Процент от totalSupply (например, 10%) + +function _hasQuorum(uint256 _forVotes, uint256 _againstVotes) internal view returns (bool) { + uint256 totalVotes = _forVotes + _againstVotes; + uint256 requiredVotes = (totalSupply() * quorumPercentage) / 100; + return totalVotes >= requiredVotes; +} +``` + +**Изменение кворума** (только через голосование): +```javascript +const operation = dleContract.interface.encodeFunctionData('_updateQuorumPercentage', [ + 15 // Новый кворум 15% +]); + +await dleContract.createProposal( + 'Увеличить кворум до 15%', + 86400 * 7, + operation, + chainId, + [chainId] +); +``` + +--- + +## Деплой смарт-контрактов + +### Мультичейн деплой + +**Скрипт**: `backend/scripts/deploy/deploy-multichain.js` + +**Возможности**: +- ✅ Деплой в несколько сетей одновременно (parallel) +- ✅ Детерминированный адрес (один адрес во всех сетях) +- ✅ Автоматическая верификация контрактов +- ✅ Retry логика при ошибках +- ✅ Nonce management для синхронизации + +**Запуск**: +```bash +cd backend +yarn deploy:multichain +``` + +**Конфигурация** (база данных): +Параметры деплоя хранятся в таблице `settings`: +- `supported_chain_ids` - список ID сетей для деплоя +- `rpc_providers` - RPC URLs для каждой сети +- `dle_config` - конфигурация DLE (название, символ, партнеры и т.д.) + +**Пример конфигурации**: +```json +{ + "name": "My Company DLE", + "symbol": "MYCO", + "location": "Moscow, Russia", + "coordinates": "55.7558,37.6173", + "jurisdiction": 643, + "okvedCodes": ["62.01", "62.02"], + "kpp": 770401001, + "quorumPercentage": 10, + "initialPartners": ["0x742d35..."], + "initialAmounts": [1000000], + "supportedChainIds": [1, 137, 42161] +} +``` + +### Деплой модулей + +**Скрипт**: `backend/scripts/deploy/deploy-modules.js` + +**Запуск**: +```bash +cd backend +yarn deploy:modules +``` + +**Процесс**: +1. Загрузка адреса DLE из базы +2. Параллельный деплой всех модулей во всех сетях +3. CREATE2 деплой для детерминированных адресов +4. Автоматическая верификация +5. Сохранение адресов модулей в базу данных + +### Верификация контрактов + +**Автоматическая верификация** через Etherscan API: + +```javascript +async function verifyDLEAfterDeploy(chainId, contractAddress, constructorArgs, apiKey, params) { + await hre.run("verify:verify", { + address: contractAddress, + constructorArguments: constructorArgs, + contract: "contracts/DLE.sol:DLE" + }); +} +``` + +**Поддерживаемые сканеры**: +- Etherscan (Ethereum, Sepolia, Holesky) +- Polygonscan +- Arbiscan +- BSCScan +- Basescan + +--- + +## Аутентификация через кошелек + +### SIWE (Sign-In with Ethereum) + +DLE использует стандарт **SIWE** для аутентификации: + +**Файл**: `backend/routes/auth.js` + +**Процесс аутентификации**: + +``` +┌──────────────┐ ┌──────────────┐ +│ Frontend │ │ Backend │ +└──────┬───────┘ └──────┬───────┘ + │ │ + │ 1. Запрос nonce │ + ├──────────────────────────────────>│ + │ │ + │ 2. Возврат nonce │ + │<──────────────────────────────────┤ + │ │ + │ 3. Подпись сообщения в кошельке │ + │ (приватный ключ НЕ передается!) │ + │ │ + │ 4. Отправка подписи │ + ├──────────────────────────────────>│ + │ │ + │ 5. Проверка подписи + │ 6. Проверка токенов + │ 7. Создание сессии + │ │ + │ 8. Успешная аутентификация │ + │<──────────────────────────────────┤ + │ │ +``` + +### Запрос nonce + +```javascript +// POST /api/auth/nonce +app.post('/api/auth/nonce', async (req, res) => { + const { address } = req.body; + + // Генерируем случайный nonce + const nonce = crypto.randomBytes(32).toString('hex'); + + // Сохраняем в БД с шифрованием + await db.query( + 'INSERT INTO nonces (identity_value_encrypted, nonce_encrypted, expires_at) VALUES ($1, $2, $3)', + [encrypt(address.toLowerCase()), encrypt(nonce), expiresAt] + ); + + res.json({ nonce }); +}); +``` + +### Верификация подписи + +```javascript +// POST /api/auth/verify +app.post('/api/auth/verify', async (req, res) => { + const { address, signature, nonce } = req.body; + + // Формируем SIWE сообщение + const message = new SiweMessage({ + domain: req.get('host'), + address: ethers.getAddress(address), + statement: 'Sign in with Ethereum to the app.', + uri: req.get('origin'), + version: '1', + chainId: 1, + nonce: nonce + }); + + // Проверяем подпись + const isValid = await verifySignature( + message.prepareMessage(), + signature, + address + ); + + if (!isValid) { + return res.status(401).json({ error: 'Invalid signature' }); + } + + // Проверяем токены в смарт-контракте + const userAccessLevel = await getUserAccessLevel(address); + + // Создаем сессию + req.session.userId = userId; + req.session.address = address; + req.session.authenticated = true; + req.session.userAccessLevel = userAccessLevel; + + res.json({ success: true, userAccessLevel }); +}); +``` + +### Проверка уровня доступа + +```javascript +async function getUserAccessLevel(address) { + // Получаем адрес DLE контракта из настроек + const dleAddress = await getSettingValue('contract_address'); + if (!dleAddress) { + return { level: 'user', tokenCount: 0, hasAccess: false }; + } + + // Подключаемся к контракту + const dleContract = new ethers.Contract(dleAddress, dleAbi, provider); + + // Получаем баланс токенов + const tokenCount = await dleContract.balanceOf(address); + + // Пороги доступа из настроек + const editorThreshold = await getSettingValue('editor_token_threshold') || 100; + const readonlyThreshold = await getSettingValue('readonly_token_threshold') || 1; + + // Определяем уровень доступа + if (tokenCount >= editorThreshold) { + return { level: 'editor', tokenCount, hasAccess: true }; + } else if (tokenCount >= readonlyThreshold) { + return { level: 'readonly', tokenCount, hasAccess: true }; + } else { + return { level: 'user', tokenCount: 0, hasAccess: false }; + } +} +``` + +--- + +## Интеграция с frontend + +### Подключение кошелька + +**Файл**: `frontend/src/services/web3Service.js` + +```javascript +import { ethers } from 'ethers'; + +export async function connectWallet() { + if (!window.ethereum) { + throw new Error('MetaMask не установлен'); + } + + // Запрашиваем доступ к кошельку + await window.ethereum.request({ method: 'eth_requestAccounts' }); + + // Создаем provider + const provider = new ethers.BrowserProvider(window.ethereum); + const signer = await provider.getSigner(); + const address = await signer.getAddress(); + + return { provider, signer, address }; +} +``` + +### Подпись сообщения + +```javascript +export async function signMessage(signer, message) { + try { + const signature = await signer.signMessage(message); + return signature; + } catch (error) { + throw new Error('Пользователь отклонил подпись'); + } +} +``` + +### Аутентификация + +```javascript +import axios from 'axios'; + +export async function authenticateWithWallet(address, signer) { + // 1. Получаем nonce + const { data } = await axios.post('/api/auth/nonce', { address }); + const { nonce } = data; + + // 2. Формируем сообщение SIWE + const message = `Sign in with Ethereum to the app.\n\nNonce: ${nonce}`; + + // 3. Подписываем + const signature = await signMessage(signer, message); + + // 4. Отправляем на верификацию + const response = await axios.post('/api/auth/verify', { + address, + signature, + nonce, + issuedAt: new Date().toISOString() + }); + + return response.data; +} +``` + +### Взаимодействие с контрактом + +```javascript +import { ethers } from 'ethers'; +import dleAbi from '@/contracts/DLE.json'; + +export async function getDLEContract(address, signerOrProvider) { + return new ethers.Contract(address, dleAbi.abi, signerOrProvider); +} + +// Создать предложение +export async function createProposal(contract, description, duration, operation, chainId) { + const tx = await contract.createProposal( + description, + duration, + operation, + chainId, + [chainId] + ); + + const receipt = await tx.wait(); + return receipt; +} + +// Голосовать +export async function voteOnProposal(contract, proposalId, support) { + const tx = await contract.vote(proposalId, support); + await tx.wait(); +} + +// Получить информацию о предложении +export async function getProposal(contract, proposalId) { + const proposal = await contract.proposals(proposalId); + return { + id: proposal.id.toString(), + description: proposal.description, + forVotes: ethers.formatEther(proposal.forVotes), + againstVotes: ethers.formatEther(proposal.againstVotes), + executed: proposal.executed, + deadline: new Date(proposal.deadline * 1000) + }; +} +``` + +### Vue компонент для голосования + +```vue + + + + + +``` + +--- + +## Безопасность + +> 💡 **Подробная информация**: См. [Безопасность DLE](./security.md) - там детально описаны все уровни защиты, сценарии атак и рекомендации по безопасности. + +### Краткий обзор технических аспектов + +**Ключевые принципы безопасности смарт-контрактов:** +- 🔒 **ReentrancyGuard** - защита от реентерабельности +- 🚫 **Блокировка переводов** - токены передаются только через governance +- 📸 **Снапшоты голосов** - защита от flash-loan атак +- ✍️ **EIP-712 подписи** - поддержка контрактных кошельков +- ✅ **Валидация параметров** - проверка всех входных данных +- 💰 **Custom errors** - экономия gas при ошибках + +**Примеры реализации:** + +```solidity +// Защита от реентерабельности +import "@openzeppelin/contracts/utils/ReentrancyGuard.sol"; + +contract DLE is ReentrancyGuard { + function execute(uint256 _proposalId) external nonReentrant { + // Операция защищена от реентерабельности + } +} + +// Блокировка переводов токенов +function transfer(address, uint256) public pure override returns (bool) { + revert ErrTransfersDisabled(); +} + +// Снапшоты голосов +uint256 public snapshotTimepoint = block.number - 1; + +function vote(uint256 _proposalId, bool _support) external { + uint256 votingPower = getPastVotes(msg.sender, snapshotTimepoint); + require(votingPower > 0, "No voting power"); +} +``` + +--- + +## Практические примеры + +> 💡 **Подробные примеры и кейсы**: См. [Блокчейн для бизнеса](./blockchain-for-business.md) - там детально описаны реальные бизнес-кейсы, экономические расчеты и практические примеры использования DLE. + +### Краткий обзор технических примеров + +**Основные сценарии использования:** + +1. **Мультичейн деплой** - развертывание DLE в нескольких сетях одновременно +2. **Добавление модулей** - расширение функциональности через голосование +3. **Иерархическое голосование** - DLE может голосовать в других DLE +4. **Управление казной** - распределение средств через голосование токен-холдеров +--- + +## Заключение + +Блокчейн-интеграция в DLE обеспечивает: +- ✅ **Управление как в акционерном обществе** - токен-холдеры голосуют за решения +- ✅ **Прозрачность** всех решений на блокчейне +- ✅ **Мультичейн поддержка** для работы в нескольких сетях +- ✅ **Модульная архитектура** для расширения функциональности +- ✅ **Безопасность** через проверенные стандарты OpenZeppelin + +### Дополнительные ресурсы + +- 📖 [Основной README](../README.md) +- 📋 [FAQ](./FAQ.md) +- 🔧 [Инструкция по установке](./setup-instruction.md) +- 📝 [Условия обслуживания](./service-terms.md) +- ⚖️ [Юридическая документация](../legal/README.md) + +### Контакты и поддержка + +- 🌐 **Портал**: https://hb3-accelerator.com/ +- 📧 **Email**: info@hb3-accelerator.com +- 🐙 **GitHub**: https://github.com/VC-HB3-Accelerator + +--- + +**© 2024-2025 Тарабанов Александр Викторович. Все права защищены.** + +**Последнее обновление**: October 2025 + diff --git a/docs/security.md b/docs/security.md new file mode 100644 index 0000000..ae3539f --- /dev/null +++ b/docs/security.md @@ -0,0 +1,1309 @@ +# Безопасность Digital Legal Entity (DLE) + +## 📋 Содержание + +1. [Введение](#введение) +2. [Модель безопасности](#модель-безопасности) +3. [Контроль доступа на основе токенов](#контроль-доступа-на-основе-токенов) +4. [Безопасность смарт-контрактов](#безопасность-смарт-контрактов) +5. [Защита от взлома кошельков](#защита-от-взлома-кошельков) +6. [Безопасность веб-приложения](#безопасность-веб-приложения) +7. [Управление модулями](#управление-модулями) +8. [Аудит и мониторинг](#аудит-и-мониторинг) +9. [Рекомендации по безопасности](#рекомендации-по-безопасности) +10. [Сценарии атак и защита](#сценарии-атак-и-защита) + +--- + +## Введение + +Digital Legal Entity (DLE) построен с фокусом на **безопасность на всех уровнях**: +- 🔐 Контроль доступа через блокчейн-токены +- 🛡️ Защита смарт-контрактов от взлома +- 🔒 Невозможность кражи токенов даже при взломе кошелька +- ⚖️ Управление только через голосование с кворумом + +### Ключевые принципы безопасности + +1. **Защита по умолчанию** - все действия запрещены, пока явно не разрешены +2. **Минимальные привилегии** - каждый получает только необходимые права +3. **Прозрачность** - все действия записаны на блокчейне +4. **Неизменяемость** - невозможно подделать историю +5. **Коллективный контроль** - критичные операции только через голосование + +--- + +## Модель безопасности + +### Архитектура безопасности + +``` +┌─────────────────────────────────────────────────────────────┐ +│ Уровни защиты DLE │ +├─────────────────────────────────────────────────────────────┤ +│ │ +│ Уровень 1: Блокчейн (Неизменяемая база) │ +│ ┌───────────────────────────────────────────────────────┐ │ +│ │ • Смарт-контракт DLE (проверен, иммутабельный) │ │ +│ │ • Токены управления (ERC20Votes) │ │ +│ │ • История всех операций на блокчейне │ │ +│ │ • Невозможность изменения правил без голосования │ │ +│ └───────────────────────────────────────────────────────┘ │ +│ ↑ │ +│ Уровень 2: Веб-приложение (Backend) │ +│ ┌───────────────────────────────────────────────────────┐ │ +│ │ • Проверка токенов в реальном времени │ │ +│ │ • Аутентификация через кошелек (SIWE) │ │ +│ │ • Шифрование данных (AES-256) │ │ +│ │ • Rate limiting и защита от DDoS │ │ +│ └───────────────────────────────────────────────────────┘ │ +│ ↑ │ +│ Уровень 3: Frontend (Vue.js) │ +│ ┌───────────────────────────────────────────────────────┐ │ +│ │ • Подключение к кошельку │ │ +│ │ • Подпись транзакций │ │ +│ │ • XSS защита (DOMPurify) │ │ +│ │ • CSRF токены │ │ +│ └───────────────────────────────────────────────────────┘ │ +│ ↑ │ +│ Уровень 4: Пользователь │ +│ ┌───────────────────────────────────────────────────────┐ │ +│ │ • Приватный ключ кошелька (MetaMask, WalletConnect) │ │ +│ │ • Подтверждение каждой операции │ │ +│ └───────────────────────────────────────────────────────┘ │ +└─────────────────────────────────────────────────────────────┘ +``` + +### Модель угроз + +| Угроза | Уровень риска | Защита | +|--------|---------------|--------| +| **Взлом кошелька** | 🟡 Средний | Токены нельзя перевести без голосования | +| **Взлом веб-приложения** | 🟢 Низкий | Все права проверяются на блокчейне, управление через блокчейн-сканеры | +| **Компрометация смарт-контракта** | 🟢 Низкий | Аудит, OpenZeppelin, иммутабельность | +| **DDoS атака** | 🟡 Средний | Rate limiting, CDN, резервные сервера | +| **Фишинг** | 🟠 Высокий | Обучение пользователей, проверка домена | +| **Insider threat** | 🟢 Низкий | Все действия через голосование | + +### ⚠️ Критически важно: Веб-приложение - это только интерфейс + +**Ключевая особенность архитектуры DLE:** + +``` +┌─────────────────────────────────────────────────────────┐ +│ Веб-приложение (интерфейс) │ +│ │ +│ Frontend + Backend = УДОБСТВО использования │ +│ • Красивый UI │ +│ • Удобная навигация │ +│ • Быстрый доступ к функциям │ +│ │ +│ ⚠️ Может быть взломано/недоступно │ +│ ✅ НО! Активы бизнеса защищены │ +└─────────────────────────────────────────────────────────┘ + ↓ +┌─────────────────────────────────────────────────────────┐ +│ Блокчейн (реальная власть) │ +│ │ +│ Смарт-контракты = РЕАЛЬНОЕ управление активами │ +│ • Токены управления │ +│ • Казна с активами │ +│ • Правила голосования │ +│ • История всех решений │ +│ │ +│ 🔒 Защищено криптографией │ +│ ✅ Работает независимо от веб-приложения │ +└─────────────────────────────────────────────────────────┘ +``` + +**Что происходит при взломе веб-приложения:** + +``` +Веб-приложение взломано/недоступно: +├── ❌ Веб-интерфейс не работает +├── ❌ Backend может показывать неверную информацию +├── ❌ Frontend может быть подменен +│ +НО: +├── ✅ Все активы бизнеса остаются на блокчейне +├── ✅ Смарт-контракты продолжают работать +├── ✅ Токены невозможно украсть +├── ✅ Можно управлять через Etherscan/Polygonscan/др. +└── ✅ Можно создать новый frontend и подключить к тем же контрактам +``` + +**Реальный пример:** + +1. Злоумышленник взламывает ваш сервер с веб-приложением +2. Пытается показать поддельные балансы токенов +3. **Но**: Реальные балансы на блокчейне остаются неизменными +4. Вы открываете Etherscan и видите правду +5. Создаете предложение через Etherscan на восстановление +6. Голосуете и исполняете предложение +7. Восстанавливаете веб-приложение +8. **Результат**: Ни один токен не потерян ✅ + +--- + +## Контроль доступа на основе токенов + +### Принцип работы + +**Без токенов доступ к приложению НЕВОЗМОЖЕН.** + +``` +Попытка доступа к DLE: +├── 1. Пользователь подключает кошелек +├── 2. Backend проверяет баланс токенов в смарт-контракте +├── 3. Если токенов НЕТ → Доступ ЗАПРЕЩЕН +└── 4. Если токены ЕСТЬ → Доступ разрешен (уровень зависит от количества) +``` + +### Уровни доступа + +| Токенов на балансе | Уровень доступа | Права | +|-------------------|-----------------|-------| +| **0 токенов** | ❌ Нет доступа | Только страница "Нет доступа" | +| **1+ токенов** | ✅ ReadOnly | Просмотр данных | +| **100+ токенов** | ✅ Editor | Редактирование, создание | +| **Любое количество** | 🗳️ Голосование | 1 токен = 1 голос | + +### Проверка токенов в реальном времени + +**Backend** постоянно проверяет баланс токенов: + +```javascript +// Каждый запрос проверяет токены +async function checkAccess(req, res, next) { + const address = req.session.address; + + // Получаем баланс токенов из смарт-контракта + const dleContract = new ethers.Contract(dleAddress, dleAbi, provider); + const balance = await dleContract.balanceOf(address); + + if (balance === 0n) { + return res.status(403).json({ + error: 'Доступ запрещен: нет токенов' + }); + } + + // Определяем уровень доступа + const accessLevel = determineAccessLevel(balance); + req.user = { address, balance, accessLevel }; + + next(); +} +``` + +**Важно**: Проверка происходит на **каждом запросе**, поэтому: +- ✅ Если токены переведены → доступ мгновенно теряется +- ✅ Если токены получены → доступ мгновенно появляется +- ✅ Невозможно обойти проверку + +### Начальное распределение токенов + +**Токены распределяет владелец при деплое смарт-контракта:** + +```solidity +constructor(DLEConfig memory config) { + // Создаем токены + _mint(address(this), totalSupply); + + // Распределяем среди партнеров + for (uint i = 0; i < config.initialPartners.length; i++) { + _transfer( + address(this), + config.initialPartners[i], + config.initialAmounts[i] + ); + } +} +``` + +**Процесс**: +1. Владелец кошелька деплоит смарт-контракт DLE +2. Указывает адреса партнеров и количество токенов для каждого +3. Токены автоматически распределяются при деплое +4. После этого все изменения только через голосование + +**Пример распределения**: +```javascript +const config = { + initialPartners: [ + '0xAlice...', // Основатель 1 + '0xBob...', // Основатель 2 + '0xCarol...' // Инвестор + ], + initialAmounts: [ + 500000, // 50% для Alice + 300000, // 30% для Bob + 200000 // 20% для Carol + ] +}; +``` + +--- + +## Безопасность смарт-контрактов + +### Защита от переводов токенов + +**КРИТИЧНО**: Токены управления **НЕЛЬЗЯ** перевести обычными способами! + +```solidity +// Переводы ЗАБЛОКИРОВАНЫ +function transfer(address to, uint256 amount) + public + pure + override + returns (bool) +{ + revert ErrTransfersDisabled(); +} + +// Одобрения ЗАБЛОКИРОВАНЫ +function approve(address spender, uint256 amount) + public + pure + override + returns (bool) +{ + revert ErrApprovalsDisabled(); +} + +// TransferFrom ЗАБЛОКИРОВАН +function transferFrom(address from, address to, uint256 amount) + public + pure + override + returns (bool) +{ + revert ErrTransfersDisabled(); +} +``` + +**Что это означает**: +- ❌ Невозможно отправить токены на биржу +- ❌ Невозможно продать токены на DEX +- ❌ Невозможно передать токены другому лицу напрямую +- ❌ Злоумышленник НЕ может украсть токены даже со взломанного кошелька + +### Единственный способ перевода токенов + +**Только через голосование с кворумом:** + +```solidity +// Перевод токенов (только через голосование) +function _transferTokens(address recipient, uint256 amount) internal { + require(msg.sender == address(this), "Only through governance"); + _transfer(address(this), recipient, amount); +} +``` + +**Процесс перевода**: +``` +1. Создание предложения + ├── "Перевести 1000 токенов на адрес 0xNew..." + └── Требуется: минимум 1 токен для создания + +2. Голосование + ├── Длительность: 1-30 дней (настраивается) + ├── Каждый токен = 1 голос + └── Требуется: кворум (например, 10% от всех токенов) + +3. Проверка кворума + ├── Если "За" > "Против" И кворум достигнут + └── → Предложение одобрено + +4. Исполнение + ├── Смарт-контракт автоматически переводит токены + └── Событие записано на блокчейне навсегда +``` + +### Настройка кворума + +**Кворум устанавливается при деплое** и может быть изменен только через голосование: + +```solidity +uint256 public quorumPercentage; // Например, 10% + +function _hasQuorum(uint256 forVotes, uint256 againstVotes) + internal + view + returns (bool) +{ + uint256 totalVotes = forVotes + againstVotes; + uint256 required = (totalSupply() * quorumPercentage) / 100; + return totalVotes >= required; +} +``` + +**Примеры кворума**: +- 5% - легко достичь (для активных организаций) +- 10% - стандартный (рекомендуется) +- 20% - строгий (для критичных решений) +- 51% - абсолютное большинство + +### Защита от реентерабельности + +```solidity +import "@openzeppelin/contracts/utils/ReentrancyGuard.sol"; + +contract DLE is ReentrancyGuard { + function execute(uint256 proposalId) + external + nonReentrant // Защита от реентерабельности + { + // Исполнение предложения + } +} +``` + +### Защита от flash-loans + +**Снапшоты голосов** предотвращают атаки с временным займом токенов: + +```solidity +// Голоса берутся из ПРОШЛОГО блока +uint256 public snapshotTimepoint = block.number - 1; + +function vote(uint256 proposalId, bool support) external { + // Используем баланс из прошлого блока + uint256 votingPower = getPastVotes(msg.sender, snapshotTimepoint); + require(votingPower > 0, "No voting power"); + + // Голосование +} +``` + +**Почему это безопасно**: +1. Злоумышленник берет flash-loan на 1,000,000 токенов +2. Пытается проголосовать +3. Смарт-контракт проверяет баланс в **прошлом блоке** +4. В прошлом блоке у злоумышленника было 0 токенов +5. Голосование отклонено ❌ + +### Валидация всех параметров + +```solidity +// Проверка адресов +if (address == address(0)) revert ErrZeroAddress(); + +// Проверка наличия токенов +if (balanceOf(msg.sender) == 0) revert ErrNotHolder(); + +// Проверка длительности голосования +if (duration < minVotingDuration) revert ErrTooShort(); +if (duration > maxVotingDuration) revert ErrTooLong(); + +// Проверка поддерживаемых сетей +if (!supportedChains[chainId]) revert ErrUnsupportedChain(); +``` + +### Custom errors для экономии gas + +```solidity +// Экономия gas: custom errors вместо require +error ErrZeroAddress(); +error ErrNotHolder(); +error ErrAlreadyVoted(); +error ErrTransfersDisabled(); +error ErrApprovalsDisabled(); +error ErrProposalMissing(); +error ErrWrongChain(); +``` + +--- + +## Защита от взлома кошельков + +### Сценарий: Злоумышленник получил приватный ключ + +**Что может сделать злоумышленник:** + +``` +Попытки злоумышленника: + +1. ❌ Отправить токены на свой адрес + └── БЛОКИРОВАНО: transfer() заблокирован + +2. ❌ Продать токены на DEX (Uniswap, etc.) + └── БЛОКИРОВАНО: approve() заблокирован + +3. ❌ Отправить через transferFrom + └── БЛОКИРОВАНО: transferFrom() заблокирован + +4. ❓ Создать предложение "Перевести токены мне" + └── Требуется голосование других токен-холдеров + └── Кворум: 10%+ должны проголосовать "За" + └── СКОРЕЕ ВСЕГО ПРОВАЛИТСЯ +``` + +### Реальный пример атаки + +``` +Злоумышленник взломал кошелек Alice (500,000 токенов): + +1. Создает предложение: + "Перевести 500,000 токенов на адрес 0xEvil..." + +2. Голосует "За" своими 500,000 голосами (50%) + +3. Но кворум = 10% = 100,000 голосов + Уже достигнут? ДА ✅ + +4. "За" = 500,000 (50%) + "Против" = 0 + +5. Результат: Предложение ОДОБРЕНО ❌ + +ПРОБЛЕМА: Если у Alice большинство токенов! +``` + +### Защита от атаки с большинством токенов + +**Решение 1: Timelock Module** + +```solidity +// Отложенное исполнение (например, 3 дня) +uint256 public constant TIMELOCK_DELAY = 3 days; + +function scheduleProposal(uint256 proposalId) external { + // Предложение одобрено, но исполнится только через 3 дня + executionTime = block.timestamp + TIMELOCK_DELAY; +} +``` + +**Преимущество**: Другие токен-холдеры видят опасное предложение и могут: +- Проголосовать "Против" +- Создать контр-предложение +- Принять меры (например, обратиться в суд) + +**Решение 2: Мультиподпись** + +```solidity +// Требуется несколько подписей для критичных операций +mapping(uint256 => mapping(address => bool)) public approvals; + +function executeWithApprovals( + uint256 proposalId, + address[] calldata signers, + bytes[] calldata signatures +) external { + // Проверяем подписи нескольких токен-холдеров + require(signers.length >= minSigners, "Not enough signers"); + + for (uint i = 0; i < signers.length; i++) { + // Проверка подписи + verifySignature(proposalId, signers[i], signatures[i]); + } + + // Исполнение +} +``` + +**Решение 3: Холодный кошелек для крупных холдеров** + +Рекомендуется держать токены на: +- 🥶 **Hardware wallet** (Ledger, Trezor) - максимальная защита +- 🔒 **Мультиподпись** (Gnosis Safe) - требуется несколько подписей +- ❄️ **Холодное хранение** - offline, не подключен к интернету + +### Мониторинг подозрительных предложений + +**Backend автоматически детектирует опасные предложения:** + +```javascript +// Детектор подозрительных предложений +function detectSuspiciousProposal(proposal) { + const alerts = []; + + // Проверка 1: Перевод большого количества токенов + if (proposal.operation.includes('_transferTokens')) { + const amount = decodeAmount(proposal.operation); + const percentage = (amount / totalSupply) * 100; + + if (percentage > 10) { + alerts.push({ + level: 'HIGH', + message: `Предложение переводит ${percentage}% всех токенов!` + }); + } + } + + // Проверка 2: Инициатор голосует своими токенами + if (proposal.forVotes === proposal.initiatorBalance) { + alerts.push({ + level: 'MEDIUM', + message: 'Инициатор голосует только своими токенами' + }); + } + + // Проверка 3: Быстрое голосование (< 24 часов) + if (proposal.duration < 86400) { + alerts.push({ + level: 'MEDIUM', + message: 'Голосование менее 24 часов - мало времени на проверку' + }); + } + + // Отправляем уведомления всем токен-холдерам + if (alerts.length > 0) { + notifyAllTokenHolders(proposal, alerts); + } +} +``` + +--- + +## Безопасность веб-приложения + +### Аутентификация через SIWE + +**Sign-In with Ethereum** - стандарт безопасной аутентификации: + +```javascript +// Генерация nonce (одноразовый) +const nonce = crypto.randomBytes(32).toString('hex'); + +// Сохранение в БД с шифрованием +await db.query( + 'INSERT INTO nonces (address_encrypted, nonce_encrypted, expires_at) VALUES ($1, $2, $3)', + [encrypt(address), encrypt(nonce), expiresAt] +); + +// Проверка подписи +const message = new SiweMessage({ + domain: req.get('host'), + address: ethers.getAddress(address), + nonce: nonce, + chainId: 1 +}); + +const isValid = await verifySignature( + message.prepareMessage(), + signature, + address +); +``` + +**Безопасность**: +- ✅ Приватный ключ **никогда** не покидает кошелек +- ✅ Каждый nonce используется **один раз** +- ✅ Nonce истекает через 5 минут +- ✅ Подделать подпись невозможно без приватного ключа + +### Шифрование данных + +```javascript +// AES-256 шифрование +const crypto = require('crypto'); + +function encrypt(text, key) { + const iv = crypto.randomBytes(16); + const cipher = crypto.createCipheriv('aes-256-cbc', key, iv); + + let encrypted = cipher.update(text, 'utf8', 'hex'); + encrypted += cipher.final('hex'); + + return iv.toString('hex') + ':' + encrypted; +} + +function decrypt(encrypted, key) { + const parts = encrypted.split(':'); + const iv = Buffer.from(parts[0], 'hex'); + const encryptedText = parts[1]; + + const decipher = crypto.createDecipheriv('aes-256-cbc', key, iv); + let decrypted = decipher.update(encryptedText, 'hex', 'utf8'); + decrypted += decipher.final('utf8'); + + return decrypted; +} +``` + +**Что шифруется**: +- 🔐 Адреса кошельков в БД +- 🔐 Nonces для аутентификации +- 🔐 Сессионные данные +- 🔐 Приватные сообщения + +### Rate Limiting + +```javascript +const rateLimit = require('express-rate-limit'); + +// Ограничение запросов +const apiLimiter = rateLimit({ + windowMs: 15 * 60 * 1000, // 15 минут + max: 100, // максимум 100 запросов + message: 'Слишком много запросов, попробуйте позже' +}); + +// Ограничение для аутентификации (более строгое) +const authLimiter = rateLimit({ + windowMs: 15 * 60 * 1000, + max: 5, // максимум 5 попыток аутентификации + skipSuccessfulRequests: true +}); + +app.use('/api/', apiLimiter); +app.use('/api/auth/', authLimiter); +``` + +### CSRF защита + +```javascript +const csrf = require('csurf'); + +// CSRF токены для всех форм +const csrfProtection = csrf({ cookie: true }); + +app.post('/api/action', csrfProtection, async (req, res) => { + // Проверка CSRF токена автоматическая +}); +``` + +### XSS защита + +```javascript +import DOMPurify from 'dompurify'; + +// Очистка HTML от опасного кода +function sanitizeHTML(html) { + return DOMPurify.sanitize(html, { + ALLOWED_TAGS: ['b', 'i', 'em', 'strong', 'a', 'p'], + ALLOWED_ATTR: ['href'] + }); +} + +// Использование +const userInput = req.body.comment; +const safeHTML = sanitizeHTML(userInput); +``` + +### Helmet.js для защиты заголовков + +```javascript +const helmet = require('helmet'); + +app.use(helmet({ + contentSecurityPolicy: { + directives: { + defaultSrc: ["'self'"], + scriptSrc: ["'self'", "'unsafe-inline'"], + styleSrc: ["'self'", "'unsafe-inline'"], + imgSrc: ["'self'", "data:", "https:"], + } + }, + hsts: { + maxAge: 31536000, + includeSubDomains: true, + preload: true + } +})); +``` + +### Clean Logs система + +**Автоматическая очистка логов от чувствительных данных:** + +```javascript +function cleanLogs() { + const sensitivePatterns = [ + /0x[a-fA-F0-9]{40}/g, // Адреса кошельков + /pk_[a-zA-Z0-9]{64}/g, // Приватные ключи (если случайно залогированы) + /nonce:\s*[a-f0-9]{64}/gi, // Nonces + ]; + + // Замена чувствительных данных на *** + let cleanedLog = logContent; + sensitivePatterns.forEach(pattern => { + cleanedLog = cleanedLog.replace(pattern, '[REDACTED]'); + }); + + return cleanedLog; +} +``` + +--- + +## Управление модулями + +### Только смарт-контракт DLE управляет модулями + +**Модификатор `onlyDLE`** гарантирует, что только смарт-контракт DLE может вызывать функции модуля: + +```solidity +// Модуль: TreasuryModule +contract TreasuryModule { + address public immutable dleContract; + + modifier onlyDLE() { + require(msg.sender == dleContract, "Only DLE can call"); + _; + } + + // Только DLE может переводить токены из казны + function transferTokens( + address token, + address recipient, + uint256 amount + ) external onlyDLE { + IERC20(token).transfer(recipient, amount); + } +} +``` + +**Что это означает**: +- ❌ Владелец кошелька **НЕ может** напрямую вызвать функции модуля +- ❌ Backend **НЕ может** вызвать функции модуля +- ❌ Злоумышленник **НЕ может** взаимодействовать с модулем +- ✅ **Только** смарт-контракт DLE через голосование + +### Процесс использования модуля + +``` +1. Токен-холдер создает предложение + └── "Перевести 1000 USDC из Treasury на маркетинг" + +2. Предложение содержит закодированный вызов функции модуля + └── operation = treasuryModule.transferTokens(USDC, marketing, 1000) + +3. Голосование + +4. Если одобрено, DLE контракт вызывает модуль: + └── TreasuryModule.transferTokens() ✅ + └── msg.sender = DLE контракт ✅ + +5. Модуль проверяет msg.sender и исполняет +``` + +### Добавление нового модуля + +**Только через голосование:** + +```solidity +// Операция добавления модуля +function _addModule(bytes32 moduleId, address moduleAddress) internal { + require(msg.sender == address(this), "Only through voting"); + require(moduleAddress != address(0), "Invalid address"); + require(!activeModules[moduleId], "Module already exists"); + + modules[moduleId] = moduleAddress; + activeModules[moduleId] = true; + + emit ModuleAdded(moduleId, moduleAddress); +} +``` + +**Процесс**: +1. Деплой нового модуля +2. Создание предложения: "Добавить модуль X по адресу 0x..." +3. Голосование +4. Если одобрено → модуль добавлен +5. Модуль можно использовать + +### Удаление скомпрометированного модуля + +Если модуль оказался уязвимым: + +``` +1. Токен-холдер создает экстренное предложение + └── "Удалить скомпрометированный модуль X" + └── Длительность: 1 день (экстренное голосование) + +2. Голосование (ускоренное) + +3. Модуль удален + └── Больше нельзя вызвать из DLE контракта +``` + +--- + +## Аудит и мониторинг + +### Прозрачность на блокчейне + +**Все действия записаны навсегда:** + +```solidity +// События для аудита +event ProposalCreated(uint256 proposalId, address initiator); +event ProposalVoted(uint256 proposalId, address voter, bool support); +event ProposalExecuted(uint256 proposalId, bytes operation); +event ModuleAdded(bytes32 moduleId, address moduleAddress); +event TokensTransferred(address recipient, uint256 amount); +``` + +**Проверка в блокчейн-сканере:** +``` +https://etherscan.io/address/0xDLE_CONTRACT_ADDRESS +└── Все транзакции видны публично +└── Невозможно скрыть или удалить +``` + +### Мониторинг в реальном времени + +**Backend отслеживает все события:** + +```javascript +// Подписка на события смарт-контракта +dleContract.on('ProposalCreated', async (proposalId, initiator, event) => { + logger.info(`Новое предложение #${proposalId} от ${initiator}`); + + // Получаем детали предложения + const proposal = await dleContract.proposals(proposalId); + + // Анализ безопасности + const risks = analyzeProposalRisks(proposal); + + // Уведомление токен-холдеров + if (risks.level === 'HIGH') { + await notifyAllTokenHolders({ + type: 'SECURITY_ALERT', + proposalId, + risks + }); + } +}); +``` + +### Система алертов + +```javascript +// Критичные события требуют немедленного уведомления +const criticalEvents = [ + 'ProposalCreated', // Новое предложение + 'ModuleAdded', // Добавлен модуль + 'TokensTransferred' // Переведены токены +]; + +async function sendAlert(event, data) { + // Email уведомления + await sendEmail({ + to: allTokenHolders, + subject: `[DLE Alert] ${event}`, + body: formatAlert(data) + }); + + // Telegram уведомления + await sendTelegram({ + chat: dleNotificationsChat, + message: formatAlert(data) + }); + + // Запись в логи + logger.warn(`ALERT: ${event}`, data); +} +``` + +--- + +## Рекомендации по безопасности + +### Для владельцев токенов + +1. **🥶 Используйте hardware wallet** (Ledger, Trezor) + - Приватный ключ никогда не покидает устройство + - Подтверждение каждой операции на физическом устройстве + +2. **🔐 Храните seed фразу безопасно** + - Напишите на бумаге, не храните в цифровом виде + - Используйте металлические пластины для долговечности + - Храните в сейфе или банковской ячейке + +3. **🚨 Включите уведомления** + - Email алерты на новые предложения + - Telegram боты для критичных событий + +4. **👀 Проверяйте все предложения** + - Читайте описание перед голосованием + - Проверяйте адреса получателей + - Используйте timelock для критичных операций + +5. **❄️ Разделите токены** + - Горячий кошелек: 10-20% для повседневного использования + - Холодный кошелек: 80-90% для долгосрочного хранения + +### Для администраторов + +1. **🔄 Регулярные обновления** + ```bash + # Еженедельное обновление + docker-compose pull + docker-compose up -d + ``` + +2. **💾 Резервные копии** + ```bash + # Ежедневный бэкап базы данных + docker exec dapp-postgres pg_dump -U user db > backup.sql + ``` + +3. **📊 Мониторинг логов** + ```bash + # Проверка логов на подозрительную активность + docker logs dapp-backend | grep -i "error\|warning\|failed" + ``` + +4. **🔑 Ротация ключей шифрования** + - Меняйте ключ шифрования раз в год + - Храните старые ключи для расшифровки исторических данных + +5. **🛡️ Firewall настройка** + ```bash + # Разрешить только необходимые порты + ufw allow 80/tcp # HTTP + ufw allow 443/tcp # HTTPS + ufw enable + ``` + +### Для разработчиков + +1. **✅ Аудит смарт-контрактов** + - Используйте Slither для статического анализа + - Mythril для поиска уязвимостей + - Ручной аудит критичного кода + +2. **🧪 Тестирование** + ```bash + # Запуск тестов + cd backend + yarn test + + # Покрытие кода + yarn coverage + ``` + +3. **📝 Код-ревью** + - Все изменения через pull requests + - Минимум 2 ревьюера для критичных изменений + +4. **🔒 Безопасные зависимости** + ```bash + # Проверка уязвимостей + yarn audit + npm audit fix + ``` + +--- + +## Сценарии атак и защита + +### Сценарий 1: Фишинговая атака + +**Атака:** +``` +1. Злоумышленник создает поддельный сайт: dlle.com (вместо dle.com) +2. Отправляет фишинговые письма токен-холдерам +3. Просит подключить кошелек и подписать транзакцию +``` + +**Защита:** +```javascript +// Backend проверяет домен в SIWE сообщении +const message = new SiweMessage({ + domain: req.get('host'), // Должен быть правильный домен + uri: req.get('origin') +}); + +// Frontend показывает предупреждение +if (window.location.hostname !== 'dle.app') { + alert('⚠️ ВНИМАНИЕ: Это НЕ официальный сайт DLE!'); +} +``` + +**Рекомендации пользователям:** +- ✅ Всегда проверяйте URL перед подключением кошелька +- ✅ Используйте закладки браузера +- ✅ Проверяйте SSL сертификат (зеленый замок) + +### Сценарий 2: Взлом backend сервера + +**Атака:** +``` +1. Злоумышленник получает доступ к backend серверу +2. Пытается изменить код для обхода проверки токенов +3. Или полностью выводит веб-приложение из строя +``` + +**Защита:** +``` +✅ Проверка токенов происходит на блокчейне (неизменяемо) +✅ Backend может быть скомпрометирован, но: + ├── Невозможно изменить баланс токенов в смарт-контракте + ├── Невозможно создать поддельные токены + ├── Невозможно изменить правила смарт-контракта + └── Пользователи увидят расхождение между backend и блокчейном +``` + +**Критично: Веб-приложение - это только интерфейс!** + +Даже при **полном взломе** веб-приложения: +- ✅ **Все активы бизнеса защищены** на блокчейне +- ✅ **Смарт-контракты продолжают работать** независимо от веб-приложения +- ✅ **Можно управлять через блокчейн-сканеры** (Etherscan, Polygonscan, и др.) + +### Управление через блокчейн-сканеры + +**Если веб-приложение недоступно, используйте блокчейн-сканеры:** + +#### 1. Проверка баланса токенов + +``` +1. Откройте Etherscan: https://etherscan.io +2. Введите адрес смарт-контракта DLE +3. Перейдите на вкладку "Read Contract" +4. Вызовите функцию balanceOf(address) +5. Введите адрес вашего кошелька +6. Нажмите "Query" - увидите баланс токенов ✅ +``` + +**Пример**: +``` +Contract Address: 0x1234...DLE +Function: balanceOf +Address: 0xYourWallet... +Result: 500000 (ваш баланс токенов) +``` + +#### 2. Создание предложения через Etherscan + +``` +1. Откройте Etherscan и найдите смарт-контракт DLE +2. Перейдите на вкладку "Write Contract" +3. Подключите кошелек MetaMask +4. Найдите функцию createProposal +5. Заполните параметры: + - description: "Восстановить веб-приложение" + - operation: закодированный вызов функции + - votingDuration: 86400 (1 день в секундах) +6. Нажмите "Write" и подтвердите транзакцию ✅ +``` + +**Пример создания предложения**: +```solidity +// Через Etherscan Write Contract +createProposal( + "Перевести 10,000 USDT на восстановление инфраструктуры", + 0x..., // закодированный вызов transferTokens + 86400 // 1 день +) +``` + +#### 3. Голосование через Etherscan + +``` +1. Откройте смарт-контракт DLE на Etherscan +2. Вкладка "Write Contract" +3. Подключите кошелек +4. Функция vote(uint256 proposalId, bool support) + - proposalId: номер предложения (например, 5) + - support: true (за) или false (против) +5. Нажмите "Write" ✅ +``` + +#### 4. Проверка состояния предложения + +``` +1. Вкладка "Read Contract" на Etherscan +2. Функция proposals(uint256) +3. Введите ID предложения +4. Увидите все детали: + - Описание + - Голоса "За" и "Против" + - Статус (Active, Executed, Failed) + - Время окончания голосования +``` + +#### 5. Исполнение одобренного предложения + +``` +1. Если предложение одобрено и время истекло +2. Откройте "Write Contract" +3. Функция execute(uint256 proposalId) +4. Введите ID предложения +5. Нажмите "Write" - предложение исполнится ✅ +``` + +### Популярные блокчейн-сканеры для DLE + +| Сеть | Блокчейн-сканер | URL | +|------|-----------------|-----| +| **Ethereum Mainnet** | Etherscan | https://etherscan.io | +| **Polygon** | Polygonscan | https://polygonscan.com | +| **Binance Smart Chain** | BscScan | https://bscscan.com | +| **Arbitrum** | Arbiscan | https://arbiscan.io | +| **Optimism** | Optimistic Etherscan | https://optimistic.etherscan.io | +| **Avalanche** | SnowTrace | https://snowtrace.io | +| **Base** | BaseScan | https://basescan.org | + +### Преимущества управления через блокчейн-сканеры + +**1. Полная независимость от веб-приложения** +``` +Веб-приложение взломано → Блокчейн работает ✅ +Backend сервер упал → Смарт-контракты работают ✅ +Frontend недоступен → Можно управлять через Etherscan ✅ +``` + +**2. Невозможно подделать данные** +``` +Злоумышленник на backend → Блокчейн-сканер показывает правду +Поддельный frontend → Etherscan покажет реальные токены +Измененная логика → Смарт-контракт работает как задумано +``` + +**3. Доступ 24/7 из любой точки мира** +``` +Нет доступа к серверу → Etherscan доступен всегда +Приложение на обслуживании → Управление через блокчейн +DDoS атака на сайт → Блокчейн недоступен для DDoS +``` + +**Реакция на взлом:** +1. Пользователи замечают странное поведение веб-приложения +2. Проверяют баланс токенов напрямую через Etherscan ✅ +3. Создают предложение через Etherscan на восстановление +4. Голосуют за восстановление инфраструктуры +5. Администраторы восстанавливают backend из резервной копии +6. **Никакие токены и активы не потеряны** ✅ + +**Вывод**: Веб-приложение - это лишь удобный интерфейс. Реальная власть и активы находятся на блокчейне, где они защищены криптографией и невозможно их изменить или украсть через взлом веб-приложения. + +### Сценарий 3: 51% атака + +**Атака:** +``` +1. Злоумышленник покупает или получает >51% всех токенов +2. Создает предложение "Перевести все активы мне" +3. Голосует всеми своими токенами "За" +4. Предложение одобрено +``` + +**Защита:** +```javascript +// Timelock Module дает время на реакцию +const TIMELOCK = 7 days; + +// Другие токен-холдеры могут: +1. Проголосовать "Против" (если у них еще 49%) +2. Создать контр-предложение +3. Обратиться в правоохранительные органы +4. Отменить предложение через emergency функцию (если настроена) +``` + +**Долгосрочная защита:** +- Равномерное распределение токенов между партнерами +- Мультиподпись для крупных операций +- Квадратичное голосование (опция для будущих версий) + +### Сценарий 4: Social Engineering + +**Атака:** +``` +1. Злоумышленник выдает себя за поддержку DLE +2. Просит токен-холдера "для верификации" подписать сообщение +3. Сообщение на самом деле - одобрение перевода токенов +``` + +**Защита:** +```javascript +// Frontend всегда показывает ЧТО подписывается +function signMessage(message) { + // Показываем пользователю точное содержимое + const confirmation = confirm(` + Вы собираетесь подписать: + ${message} + + ⚠️ НИКОГДА не подписывайте сообщения по просьбе "поддержки"! + + Продолжить? + `); + + if (!confirmation) return; + + // Подпись +} +``` + +**Рекомендации:** +- ❌ Поддержка **НИКОГДА** не попросит подписать сообщение +- ❌ Не доверяйте "срочным" запросам +- ✅ Всегда проверяйте, что подписываете +- ✅ При сомнениях - свяжитесь с официальной поддержкой + +--- + +## Заключение + +### Многоуровневая защита DLE + +``` +┌─────────────────────────────────────────────────────┐ +│ Уровни безопасности DLE │ +├─────────────────────────────────────────────────────┤ +│ 1️⃣ Блокчейн │ +│ └── Токены нельзя украсть даже со взломом │ +│ │ +│ 2️⃣ Смарт-контракты │ +│ └── Аудит, OpenZeppelin, иммутабельность │ +│ │ +│ 3️⃣ Голосование с кворумом │ +│ └── Невозможно единоличное решение │ +│ │ +│ 4️⃣ Timelock │ +│ └── Время на реакцию при атаке │ +│ │ +│ 5️⃣ Backend проверки │ +│ └── Проверка токенов в реальном времени │ +│ │ +│ 6️⃣ Frontend защита │ +│ └── XSS, CSRF, rate limiting │ +│ │ +│ 7️⃣ Мониторинг и алерты │ +│ └── Детекция подозрительных действий │ +└─────────────────────────────────────────────────────┘ +``` + +### Ключевые преимущества безопасности + +1. **🔐 Контроль доступа через токены** + - Без токенов доступ невозможен + - Проверка в реальном времени на блокчейне + +2. **🛡️ Защита от кражи токенов** + - Невозможно перевести без голосования + - Даже при взломе кошелька токены защищены + +3. **🌐 Независимость от веб-приложения** + - Даже при взломе веб-приложения активы бизнеса защищены на блокчейне + - Можно управлять через блокчейн-сканеры (Etherscan, Polygonscan и др.) + - Смарт-контракты работают независимо от frontend/backend + - Веб-приложение - это только удобный интерфейс, реальная власть на блокчейне + +4. **⚖️ Коллективное управление** + - Критичные решения только через голосование + - Кворум предотвращает единоличные действия + +5. **🔒 Модули под контролем смарт-контракта** + - Только DLE контракт может вызывать модули + - Никакого прямого доступа + +6. **📊 Полная прозрачность** + - Все действия на блокчейне + - Невозможно скрыть или подделать + +### Следующие шаги + +1. 📖 [Изучите техническую документацию](./blockchain-integration-technical.md) +2. 🔧 [Настройте безопасное окружение](./setup-instruction.md) +3. 📋 [Прочитайте FAQ](./FAQ.md) +4. 💬 [Получите поддержку](https://hb3-accelerator.com/) +--- + +**© 2024-2025 Тарабанов Александр Викторович. Все права защищены.** + +**Последнее обновление**: October 2025 + diff --git a/docs/service-terms.md b/docs/service-terms.md new file mode 100644 index 0000000..f80aa36 --- /dev/null +++ b/docs/service-terms.md @@ -0,0 +1,42 @@ + + +# Условия приобретения и обслуживания Digital Legal Entity — краткое резюме + +> Важно: это краткое резюме условий. Канонический и юридически значимый полный текст находится здесь: [legal/service-terms.md](../legal/service-terms.md). + +Ключевые тезисы: +- Тип лицензии: бессрочная (Perpetual), права определяются количеством токенов (1 или 10). +- Обновления и базовое обслуживание: бесплатно 5 лет с даты on-chain передачи токена. +- Голосование за развитие: 1 токен = 1 голос, решения большинством ≥51%. +- Возврат 70% возможен при соблюдении условий программы (см. оригинал). +- Поддержка, релизы, база знаний — через приложение `https://hb3-accelerator.com/`. +- Полный перечень ограничений/ответственности — в оригинале. + +## 📚 Дополнительная документация + +### Изучите возможности DLE +- 🤖 **[AI Ассистент](./ai-assistant.md)** - второй пилот для команды, высвобождает время для стратегии +- 💼 **[Блокчейн для бизнеса](./blockchain-for-business.md)** - токенизация активов и решение бизнес-задач +- 🛡️ **[Безопасность DLE](./security.md)** - многоуровневая защита вашего бизнеса + +### Техническая документация +- 🔗 **[Техническая документация по блокчейну](./blockchain-integration-technical.md)** - для разработчиков +- 🔧 **[Инструкция по установке](./setup-instruction.md)** - пошаговая настройка +- 📝 **[Описание приложения](./application-description.md)** - обзор функциональности +- 📋 **[FAQ](./FAQ.md)** - часто задаваемые вопросы + +### Контакты и поддержка +- 📧 **Email**: info@hb3-accelerator.com +- 🌐 **Сайт**: https://hb3-accelerator.com +- 💬 **Чат поддержки**: https://hb3-accelerator.com/ +- 🐙 **GitHub**: https://github.com/VC-HB3-Accelerator diff --git a/docs/setup-ai-assistant.md b/docs/setup-ai-assistant.md new file mode 100644 index 0000000..2841ab6 --- /dev/null +++ b/docs/setup-ai-assistant.md @@ -0,0 +1,929 @@ +# Инструкция по настройке AI Ассистента с векторным поиском + +## 🤖 Полное руководство по запуску интеллектуального помощника + +Этот документ описывает пошаговый процесс настройки AI ассистента для решения бизнес-задач через электронные таблицы и векторный поиск. + +--- + +## 📚 Что вы настроите + +После выполнения инструкции у вас будет: + +✅ Работающий AI ассистент с локальной моделью (Ollama) +✅ База знаний для ответов клиентам (FAQ) +✅ Автоматизация работы с поставщиками +✅ Система обучения персонала +✅ Векторный поиск по вашим данным +✅ Значительная экономия времени и ресурсов + +> 💡 **Экономический эффект**: См. [AI Ассистент](./ai-assistant.md) - там подробно описаны все возможности и расчеты экономии. + +--- + +## ⏱️ Время настройки + +- **Быстрая настройка**: 20-30 минут (базовый FAQ) +- **Полная настройка**: 1-2 часа (все возможности) + +--- + +## Шаг 1: Установка и запуск Ollama + +### 1.1 Проверка статуса Ollama + +1. Перейдите в **Настройки** → вкладка **Интеграции** +2. Найдите блок **"Ollama"** и нажмите **"Подробнее"** +3. Проверьте статус подключения: + - ✅ **"Ollama is running"** — все готово, переходите к шагу 1.3 + - ❌ **"Ollama API not responding"** — переходите к шагу 1.2 + +### 1.2 Запуск Ollama (если не запущен) + +Если Ollama не запущен, выполните в терминале: + +```bash +# Для Docker (рекомендуется) +docker-compose up -d ollama + +# Или локально +ollama serve +``` + +Обновите страницу и проверьте статус снова. + +### 1.3 Установка модели для AI + +1. В разделе **Ollama** нажмите **"Установить модель"** +2. Выберите модель: + - **qwen2.5:7b** (рекомендуется) — для русского языка, 4.7 GB + - **llama2:7b** — для английского, 3.8 GB + - **mistral:7b** — универсальная, 4.1 GB +3. Нажмите **"Установить"** +4. Дождитесь завершения загрузки (5-10 минут в зависимости от скорости интернета) + +> 💡 **Подсказка**: Модель скачивается один раз и хранится локально + +### 1.4 Установка Embedding модели + +1. В том же разделе найдите **"Установить Embedding модель"** +2. Выберите модель: + - **mxbai-embed-large:latest** (рекомендуется) — 670 MB + - **nomic-embed-text:latest** — альтернатива, 274 MB +3. Нажмите **"Установить"** + +> ⚠️ **Важно**: Embedding модель нужна для векторного поиска (RAG) + +--- + +## Шаг 2: Создание базы знаний (электронные таблицы) + +### 2.1 Создание таблицы FAQ + +1. Перейдите в **Таблицы** (в главном меню) +2. Нажмите **"+ Создать таблицу"** +3. Заполните: + - **Название**: `FAQ - Часто задаваемые вопросы` + - **Описание**: `База знаний для AI ассистента по работе с клиентами` +4. Нажмите **"Создать"** + +### 2.2 Настройка столбцов таблицы + +Добавьте следующие столбцы: + +#### Столбец 1: Вопрос (обязательный для RAG) + +1. Нажмите **"+ Добавить столбец"** +2. Заполните: + - **Название**: `Вопрос` + - **Тип**: `Текст` + - **Назначение**: Выберите `Вопрос для AI` ⭐ +3. Нажмите **"Сохранить"** + +> ⚠️ **Критично**: Обязательно выберите назначение "Вопрос для AI" — это поле будет индексироваться для векторного поиска + +#### Столбец 2: Ответ (обязательный для RAG) + +1. Нажмите **"+ Добавить столбец"** +2. Заполните: + - **Название**: `Ответ` + - **Тип**: `Текст` + - **Назначение**: Выберите `Ответ AI` ⭐ +3. Нажмите **"Сохранить"** + +#### Столбец 3: Продукт (опционально, для фильтрации) + +1. Нажмите **"+ Добавить столбец"** +2. Заполните: + - **Название**: `Продукт` + - **Тип**: `Множественный выбор` + - **Варианты**: `Базовый`, `Премиум`, `Корпоративный` + - **Назначение**: Выберите `Фильтр по продукту` +3. Нажмите **"Сохранить"** + +#### Столбец 4: Теги (опционально, для категоризации) + +1. Нажмите **"+ Добавить столбец"** +2. Заполните: + - **Название**: `Теги` + - **Тип**: `Множественный выбор` + - **Варианты**: `Оплата`, `Доставка`, `Возврат`, `Гарантия`, `Техподдержка` + - **Назначение**: Выберите `Теги пользователя` +3. Нажмите **"Сохранить"** + +#### Столбец 5: Приоритет (опционально) + +1. Нажмите **"+ Добавить столбец"** +2. Заполните: + - **Название**: `Приоритет` + - **Тип**: `Число` + - **Назначение**: Выберите `Приоритет` +3. Нажмите **"Сохранить"** + +> 💡 **Подсказка**: Вопросы с более высоким приоритетом будут показываться AI первыми + +### 2.3 Заполнение базы знаний + +Добавьте типовые вопросы и ответы: + +**Пример 1: Оплата** + +| Вопрос | Ответ | Продукт | Теги | Приоритет | +|--------|-------|---------|------|-----------| +| Как оплатить заказ? | Мы принимаем оплату банковской картой, через PayPal, или банковским переводом. Выберите удобный способ при оформлении заказа. | Все | Оплата | 10 | +| Можно ли оплатить частями? | Да, для заказов от 50,000₽ доступна рассрочка на 3, 6 или 12 месяцев без переплаты. | Премиум, Корпоративный | Оплата | 8 | + +**Пример 2: Доставка** + +| Вопрос | Ответ | Продукт | Теги | Приоритет | +|--------|-------|---------|------|-----------| +| Сколько времени занимает доставка? | Стандартная доставка: 3-5 рабочих дней по России. Экспресс-доставка: 1-2 дня в крупных городах. | Все | Доставка | 10 | +| Сколько стоит доставка? | Бесплатная доставка при заказе от 5,000₽. Для заказов менее 5,000₽ стоимость доставки 300₽. | Все | Доставка | 9 | + +**Пример 3: Возврат** + +| Вопрос | Ответ | Продукт | Теги | Приоритет | +|--------|-------|---------|------|-----------| +| Как вернуть товар? | Возврат возможен в течение 14 дней с момента получения. Товар должен быть в оригинальной упаковке, с сохранением товарного вида. Свяжитесь с поддержкой для оформления возврата. | Все | Возврат | 10 | +| Когда вернут деньги? | Возврат денежных средств производится в течение 5-10 рабочих дней после получения товара на наш склад. | Все | Возврат | 8 | + +> 💡 **Рекомендация**: Добавьте минимум 20-30 вопросов для качественной работы AI. Чем больше вопросов, тем точнее ответы! + +### 2.4 Активация таблицы как источника для AI + +1. В правом верхнем углу таблицы найдите **⚙️ Настройки таблицы** +2. Включите переключатель **"Использовать как источник для AI"** ✅ +3. Нажмите **"Сохранить"** + +> ✅ **Готово!** Таблица теперь индексируется для векторного поиска + +--- + +## Шаг 3: Настройка AI провайдера (Ollama) + +### 3.1 Открытие настроек Ollama + +1. Перейдите в **Настройки** → **Интеграции** +2. Найдите блок **"Ollama"** и нажмите **"Подробнее"** + +### 3.2 Проверка Base URL + +1. Проверьте поле **Base URL**: + - Для Docker: `http://ollama:11434` ✅ + - Для локального: `http://localhost:11434` +2. Если URL неверный, исправьте и нажмите **"Сохранить"** + +### 3.3 Выбор модели + +1. В поле **"Модель (LLM)"** выберите установленную модель: + - `qwen2.5:7b` (рекомендуется для русского) +2. В поле **"Embeddings-модель"** выберите: + - `mxbai-embed-large:latest` +3. Нажмите **"Сохранить"** + +--- + +## Шаг 4: Настройка AI Ассистента + +### 4.1 Открытие настроек ассистента + +1. Перейдите в **Настройки** → **Интеграции** +2. Найдите блок **"ИИ-ассистент"** и нажмите **"Подробнее"** + +### 4.2 Настройка системного промта + +В поле **"Системный промт"** введите инструкции для AI: + +**Базовый промт (для начала)**: + +``` +Вы — профессиональный ассистент службы поддержки компании. + +Правила: +1. Отвечайте вежливо и профессионально +2. Используйте информацию из базы знаний +3. Если информации нет — предложите связаться с оператором +4. Отвечайте кратко и по существу +5. Всегда заканчивайте вопросом "Чем еще могу помочь?" +``` + +**Продвинутый промт (с персонализацией)**: + +``` +Вы — профессиональный ассистент службы поддержки компании "Название вашей компании". + +О компании: +- Мы занимаемся [краткое описание бизнеса] +- Наши ценности: качество, надежность, клиентоориентированность + +Стиль общения: +- Дружелюбный, но профессиональный +- Обращайтесь к клиенту на "Вы" +- Используйте эмодзи умеренно (1-2 на сообщение) + +Правила ответа: +1. ОБЯЗАТЕЛЬНО: Отвечайте ТОЛЬКО на русском языке. Все вопросы и ответы должны быть на русском языке +2. Сначала ищите ответ в базе знаний (RAG) +3. Если нашли — отвечайте на основе найденной информации +4. Если не нашли — честно скажите и предложите помощь оператора +5. Не придумывайте информацию о ценах, сроках, условиях +6. При сложных вопросах предлагайте связаться с менеджером + +Всегда заканчивайте: "Чем еще могу помочь? 😊" +``` + +### 4.3 Выбор моделей + +1. **LLM-модель**: Выберите `qwen2.5:7b (ollama)` +2. **Embedding-модель**: Выберите `mxbai-embed-large:latest (ollama)` + +> 💡 **Подсказка**: Модели автоматически подтянутся из настроек Ollama + +> 📊 **Размер контекстного окна**: +> - **Qwen2.5:7b**: Базовый контекст = **32,768 токенов** (~24,000 русских слов) +> - Всего данных, отправляемых в модель: +> - Системный промпт: ~500-2000 символов (~300-1200 токенов) +> - История диалога: до 20 сообщений (~100-500 токенов на сообщение = ~2000-10000 токенов) +> - RAG контекст: ~500-2000 токенов (из найденных данных) +> - Текущий вопрос: ~50-200 токенов +> - **Итого**: примерно 3,000-15,000 токенов (запас достаточен) +> - Если нужен больший контекст → используйте Qwen3 с YaRN (до 131K токенов) + +### 4.4 Выбор RAG-таблицы + +1. В поле **"Выбранные RAG-таблицы"** выберите созданную таблицу: + - `FAQ - Часто задаваемые вопросы` +2. Нажмите **"Сохранить"** + +### 4.5 Настройка правил AI (Rules) + +Создайте набор правил для управления поведением AI: + +1. Нажмите кнопку **"Создать"** рядом с полем "Набор правил" +2. В модальном окне заполните: + +**Название**: `Гибридный режим (RAG + генерация)` + +**Описание**: `AI сначала ищет в базе знаний, если не находит — генерирует ответ` + +**Правила (JSON)**: +```json +{ + "checkUserTags": true, + "searchRagFirst": true, + "generateIfNoRag": true, + "temperature": 0.7, + "maxTokens": 500 +} +``` + +3. Нажмите **"Сохранить"** +4. Выберите созданное правило в выпадающем списке + +> 💡 **Что означают параметры**: +> - `checkUserTags: true` — учитывать теги пользователя при поиске +> - `searchRagFirst: true` — сначала искать в базе знаний +> - `generateIfNoRag: true` — генерировать ответ, если ничего не найдено +> - `temperature: 0.7` — баланс между точностью и креативностью (0.0-1.0) +> - `maxTokens: 500` — максимальная длина ответа + +### 4.6 Настройки RAG поиска + +Разверните раздел **"🔍 Настройки RAG поиска"**: + +**Базовые настройки:** +1. **Метод поиска**: Выберите `Гибридный поиск` (рекомендуется) +2. **Максимальное количество результатов**: `5` +3. **Порог релевантности**: `0.1` (от 0.01 до 1.0) + +**Извлечение ключевых слов:** +1. ✅ **Включить извлечение ключевых слов** +2. **Минимальная длина слова**: `3` +3. **Максимальное количество ключевых слов**: `10` +4. ✅ **Удалять стоп-слова** + +**Веса поиска (для гибридного):** +1. **Семантический поиск**: `70%` (точность) +2. **Поиск по ключевым словам**: `30%` (скорость) + +**Дополнительные настройки:** +1. ✅ **Нечеткий поиск** (для опечаток) +2. ✅ **Стемминг слов** (находит разные формы слова) +3. ☐ **Поиск синонимов** (пока отключен) + +### 4.7 Сохранение настроек + +Нажмите кнопку **"Сохранить"** внизу формы. + +--- + +## Шаг 5: Тестирование AI Ассистента + +### 5.1 Использование встроенного тестера + +1. На странице настроек AI ассистента прокрутите вниз до блока **"🔍 Мониторинг системы"** +2. В разделе **"🧠 Тест RAG-функциональности"**: + - Убедитесь, что выбрана таблица `FAQ - Часто задаваемые вопросы` + - Введите тестовый вопрос: `Как оплатить заказ?` + - Нажмите **"Тестировать RAG"** +3. Наблюдайте за процессом: + - 🔍 Ищем ответ в базе знаний... (векторный поиск) + - 🤖 Генерируем ответ с помощью ИИ... (LLM генерация) + - ✅ Готово! +4. Проверьте результат: + - Должен отобразиться ответ из вашей таблицы + - Score (оценка близости): чем ближе к 0, тем лучше + +> 💡 **Хороший Score**: от -300 до 0 (ответ найден) +> ⚠️ **Плохой Score**: больше 300 (ответ не найден, AI придумает свой) + +### 5.2 Тестирование через Web Chat + +1. Перейдите на главную страницу приложения +2. Найдите виджет **"💬 Чат с AI"** (обычно справа внизу) +3. Нажмите на виджет, чтобы открыть чат +4. Введите вопрос: `Сколько стоит доставка?` +5. Проверьте ответ AI + +**Ожидаемый результат:** +``` +🤖 AI Ассистент: +Бесплатная доставка при заказе от 5,000₽. +Для заказов менее 5,000₽ стоимость доставки 300₽. + +Чем еще могу помочь? 😊 +``` + +### 5.3 Тестирование разных сценариев + +Попробуйте задать различные вопросы: + +**✅ Вопрос из базы знаний:** +``` +Пользователь: "Как вернуть товар?" +AI: [Ответ из таблицы FAQ] +``` + +**⚠️ Вопрос НЕ из базы знаний:** +``` +Пользователь: "Какая погода сегодня?" +AI: "Извините, я специализируюсь на вопросах о нашей компании и продуктах. + По вопросам погоды обратитесь к специализированным сервисам. + Чем еще могу помочь?" +``` + +**🎯 Вопрос с опечаткой:** +``` +Пользователь: "Как аплатить заказ?" (опечатка) +AI: [Найдет правильный ответ благодаря нечеткому поиску] +``` + +--- + +## Шаг 6: Расширенные возможности (опционально) + +### 6.1 Создание таблицы для работы с поставщиками + +#### Структура таблицы "База поставщиков" + +1. Создайте новую таблицу: `База поставщиков` +2. Добавьте столбцы: + +| Столбец | Тип | Описание | +|---------|-----|----------| +| Название компании | Текст | Наименование поставщика | +| Категория товаров | Множественный выбор | Электроника, Мебель, Одежда, и т.д. | +| Контактное лицо | Текст | ФИО менеджера | +| Email | Текст | Электронная почта | +| Телефон | Текст | Контактный телефон | +| Цены | Текст | Прайс-лист (краткое описание) | +| Условия оплаты | Текст | Отсрочка, предоплата, и т.д. | +| Минимальный заказ | Число | Минимальная сумма заказа | +| Срок доставки | Текст | Сроки поставки | +| Рейтинг | Число | Оценка от 1 до 10 | +| Примечания | Текст | Дополнительная информация | + +3. Активируйте как источник для AI +4. Заполните данными о ваших поставщиках + +#### Промт для AI закупщика + +Добавьте в системный промт: + +``` +ДОПОЛНИТЕЛЬНО - Работа с поставщиками: + +Когда пользователь спрашивает о поставщиках: +1. Ищите в базе "База поставщиков" +2. Фильтруйте по категории товаров +3. Сортируйте по рейтингу и условиям +4. Предоставьте ТОП-3 рекомендации + +Формат ответа: +🏆 TOP-3 поставщика по запросу "[категория]": + +1. [Название] ⭐ [Рейтинг]/10 + 📧 [Email] | 📞 [Телефон] + 💰 Условия: [Условия оплаты] + 🚚 Доставка: [Срок доставки] + 📦 Минимум: [Минимальный заказ]₽ + +2. ... +3. ... + +Рекомендую связаться с [Название первого поставщика] — лучшие условия. +``` + +### 6.2 Создание таблицы для обучения персонала + +#### Структура таблицы "База знаний для сотрудников" + +1. Создайте новую таблицу: `База знаний для сотрудников` +2. Добавьте столбцы: + +| Столбец | Тип | Описание | +|---------|-----|----------| +| Вопрос | Текст | Вопрос сотрудника (назначение: Вопрос для AI) | +| Ответ | Текст | Подробный ответ (назначение: Ответ AI) | +| Категория | Множественный выбор | Продажи, HR, Финансы, IT, Маркетинг | +| Отдел | Множественный выбор | Для какого отдела актуально | +| Сложность | Число | От 1 (простой) до 5 (сложный) | +| Инструкции | Текст | Пошаговые инструкции (если есть) | +| Ссылки | Текст | Ссылки на документы/видео | +| Дата обновления | Дата | Когда информация обновлялась | + +3. Примеры вопросов: + +**Категория "Продажи":** +- "Как оформить возврат клиенту?" +- "Какие скидки можно давать постоянным клиентам?" +- "Как работать с корпоративными клиентами?" + +**Категория "HR":** +- "Как оформить отпуск?" +- "Куда обращаться по больничному?" +- "Как происходит адаптация новых сотрудников?" + +**Категория "IT":** +- "Как получить доступ к корпоративной почте?" +- "Что делать при проблемах с VPN?" +- "Как создать заявку в техподдержку?" + +### 6.3 Создание связей между таблицами + +#### Пример: Связь "Клиенты" → "Заказы" + +1. Создайте таблицу **"Клиенты"**: + - Название, Email, Телефон, Статус (VIP/Обычный) + +2. Создайте таблицу **"Заказы"**: + - Номер заказа, Дата, Сумма + +3. В таблице "Заказы" добавьте столбец: + - **Название**: `Клиент` + - **Тип**: `Связь (Relation)` + - **Связанная таблица**: выберите `Клиенты` + - **Показывать поле**: выберите `Название` + +4. Добавьте еще один столбец в "Заказы": + - **Название**: `Email клиента` + - **Тип**: `Lookup (Подстановка)` + - **Связь через**: выберите столбец `Клиент` + - **Подставлять поле**: выберите `Email` + +**Результат**: При выборе клиента автоматически подставится его Email! + +#### Использование AI с связанными таблицами + +AI автоматически понимает связи и может отвечать на вопросы: + +``` +Пользователь: "Покажи все заказы клиента Иванов" +AI: [Ищет в таблице Заказы, фильтрует по клиенту Иванов] +``` + +--- + +## Шаг 7: Интеграция с Telegram и Email (опционально) + +### 7.1 Настройка Telegram бота + +1. Перейдите в **Настройки** → **Интеграции** → **Telegram** +2. Создайте бота через [@BotFather](https://t.me/botfather) в Telegram: + - Отправьте `/newbot` + - Выберите имя и username бота + - Скопируйте **Bot Token** +3. В настройках DLE введите: + - **Bot Token**: вставьте токен от BotFather + - **Bot Username**: username вашего бота (например, `@mycompany_bot`) +4. Нажмите **"Сохранить"** +5. В настройках AI ассистента выберите этот Telegram бот в поле **"Telegram-бот"** + +**Результат**: AI будет отвечать на сообщения в Telegram! + +### 7.2 Настройка Email интеграции + +1. Перейдите в **Настройки** → **Интеграции** → **Email** +2. Заполните IMAP настройки (для получения писем): + - **IMAP Host**: `imap.gmail.com` (для Gmail) + - **IMAP Port**: `993` + - **IMAP User**: ваш email + - **IMAP Password**: пароль приложения (не основной пароль!) +3. Заполните SMTP настройки (для отправки писем): + - **SMTP Host**: `smtp.gmail.com` + - **SMTP Port**: `587` + - **SMTP User**: ваш email + - **SMTP Password**: пароль приложения + - **From Email**: email для отправки +4. Нажмите **"Тест IMAP"** и **"Тест SMTP"** для проверки +5. Нажмите **"Сохранить"** +6. В настройках AI ассистента выберите этот Email в поле **"Email для связи"** + +> ⚠️ **Важно для Gmail**: Создайте "Пароль приложения" в настройках безопасности Google + +**Результат**: AI будет отвечать на входящие email автоматически! + +--- + +## Шаг 8: Мониторинг и оптимизация + +### 8.1 Проверка статуса сервисов + +1. Перейдите в **Настройки** → **Интеграции** → **ИИ-ассистент** +2. Прокрутите вниз до **"🔍 Мониторинг системы"** +3. Нажмите **"🔄 Обновить статус"** +4. Проверьте статусы: + - 🟢 **Backend**: должен быть "Работает" + - 🟢 **Postgres**: должен быть "Работает" + - 🟢 **Ollama**: должен показывать количество моделей + - 🟢 **Vector Search**: должен быть "Работает" + +> ⚠️ Если что-то красное (🔴) — см. раздел "Решение проблем" ниже + +### 8.2 Анализ качества ответов + +Регулярно проверяйте качество ответов AI: + +1. **Score в тестере RAG**: + - **-300 до 0** ✅ — отличное совпадение + - **0 до 300** ⚠️ — среднее совпадение + - **>300** ❌ — совпадение не найдено + +2. **Если Score плохой**: + - Добавьте больше похожих вопросов в таблицу + - Используйте разные формулировки одного вопроса + - Увеличьте порог релевантности (например, до 0.2) + +### 8.3 Оптимизация настроек RAG + +Экспериментируйте с настройками для улучшения результатов: + +**Для более точных ответов:** +``` +Метод поиска: Семантический +Порог релевантности: 0.05 (ниже = строже) +Веса: Семантический 100% / Ключевые слова 0% +``` + +**Для более быстрых ответов:** +``` +Метод поиска: Поиск по ключевым словам +Максимальное количество результатов: 3 +``` + +**Для баланса (рекомендуется):** +``` +Метод поиска: Гибридный +Веса: Семантический 70% / Ключевые слова 30% +Порог релевантности: 0.1 +``` + +--- + +## ✅ AI Ассистент готов к работе! + +### Что у вас теперь есть + +✅ **Локальный AI ассистент** без зависимости от облака +✅ **База знаний FAQ** для ответов клиентам +✅ **Векторный поиск** для точных ответов +✅ **Настроенные правила** поведения AI +✅ **Система мониторинга** для контроля качества + +### Экономический эффект + +При правильной настройке AI ассистента вы получите: + +✅ **Автоматизацию рутинных задач** - высвобождение времени для стратегии +✅ **Повышение качества обслуживания** - AI работает 24/7 без усталости +✅ **Снижение операционных расходов** - меньше персонала на рутинных задачах +✅ **Ускорение принятия решений** - мгновенный доступ к информации + +> 💡 **Подробная информация**: См. [AI Ассистент - полное описание](./ai-assistant.md#экономический-эффект) - там детально описаны все возможности, кейсы применения и расчеты экономии. + +--- + +## 📚 Следующие шаги + +### Расширьте возможности AI + +1. **Добавьте больше таблиц**: + - База знаний для партнеров + - Инструкции для персонала + - Каталог продуктов + - База контактов + +2. **Создайте правила для разных сценариев**: + - Строгий режим (только RAG) — для финансов + - Креативный режим (больше генерации) — для маркетинга + - Гибридный режим (баланс) — для поддержки + +3. **Интегрируйте с другими системами**: + - CRM (синхронизация клиентов) + - Складская система (остатки товаров) + - Бухгалтерия (счета и оплаты) + +### Обучите команду + +1. Покажите сотрудникам, как работает AI +2. Объясните, как добавлять новые вопросы в базу +3. Установите процесс регулярного обновления базы знаний +4. Назначьте ответственного за качество ответов AI + +--- + +## 🆘 Решение проблем + +### Проблема: Ollama не запускается + +**Симптомы**: Статус "Ollama API not responding" + +**Решение**: +```bash +# Проверить контейнер +docker ps | grep ollama + +# Перезапустить +docker-compose restart ollama + +# Проверить логи +docker-compose logs ollama +``` + +### Проблема: AI отвечает неточно + +**Симптомы**: Ответы не соответствуют базе знаний + +**Решение**: +1. Проверьте Score в тестере (должен быть < 300) +2. Добавьте больше вариантов вопросов в таблицу +3. Уменьшите порог релевантности (например, до 0.05) +4. Проверьте, что столбцы имеют правильные назначения ("Вопрос для AI", "Ответ AI") + +### Проблема: Vector Search не работает + +**Симптомы**: Статус Vector Search показывает ошибку + +**Решение**: +1. Проверьте, установлена ли Embedding модель +2. Пересоберите индекс: на странице таблицы нажмите **"🔄 Пересобрать индекс"** +3. Проверьте, что таблица активирована как источник для AI + +### Проблема: AI отвечает на неправильном языке + +**Симптомы**: Ответы на английском вместо русского + +**Решение**: +1. Измените системный промт, добавив в начало: `ВСЕГДА отвечай на русском языке.` +2. Используйте модель `qwen2.5:7b` вместо `llama2:7b` +3. В правилах AI установите `"language": "ru"` + +### Проблема: Медленные ответы + +**Симптомы**: AI отвечает дольше 5-10 секунд + +**Решение**: +1. Используйте меньшую модель (`mistral:7b` вместо `qwen2.5:14b`) +2. Уменьшите `maxResults` в настройках RAG (например, до 3) +3. Отключите "Поиск синонимов" в дополнительных настройках +4. Используйте SSD для хранения моделей + +--- + +## 📖 Дополнительная документация + +### Изучите возможности AI + +- 🤖 **[AI Ассистент - полное описание](./ai-assistant.md)** - все возможности и кейсы применения +- 📊 **[Система электронных таблиц](./tables-system.md)** - техническое описание таблиц (временный) +- ⚙️ **[Конфигурация AI](./setup-ai-assistant.md#техническая-документация-для-разработчиков)** - технические детали настройки + +### Общая документация + +- 🛡️ **[Безопасность](./security.md)** - как AI защищает ваши данные +- 💼 **[Блокчейн для бизнеса](./blockchain-for-business.md)** - интеграция AI с блокчейном +- 📋 **[FAQ](./FAQ.md)** - часто задаваемые вопросы + +### Поддержка + +- 💬 **Чат поддержки**: https://hb3-accelerator.com/ +- 📧 **Email**: info@hb3-accelerator.com +- 📚 **База знаний**: https://hb3-accelerator.com + +--- + +## 🔧 Техническая документация (для разработчиков) + +### Архитектура системы AI + +``` +┌───────────────────────────────────────────────────────────┐ +│ Настройка AI Ассистента в DLE │ +├───────────────────────────────────────────────────────────┤ +│ │ +│ 🤖 AI Провайдеры: │ +│ ├── OpenAI (GPT-4, GPT-3.5) │ +│ ├── Anthropic (Claude) │ +│ ├── Google (Gemini) │ +│ └── Ollama (локальные модели) │ +│ │ +│ ⚙️ Настройки AI: │ +│ ├── System Prompt │ +│ ├── Выбор LLM модели │ +│ ├── Выбор Embedding модели │ +│ ├── Выбор RAG-таблиц │ +│ ├── Правила (Rules) │ +│ └── Настройки RAG поиска │ +│ │ +│ 📋 Правила (Rules): │ +│ ├── JSON конфигурация поведения │ +│ ├── Создание/редактирование/удаление │ +│ └── Привязка к AI ассистенту │ +│ │ +│ 🔗 Интеграции: │ +│ ├── Email (IMAP + SMTP) │ +│ └── Telegram Bot │ +│ │ +│ 🔍 RAG: │ +│ ├── Выбор таблиц для поиска │ +│ ├── Настройки поиска (гибридный/семантический) │ +│ ├── Порог релевантности │ +│ └── Извлечение ключевых слов │ +│ │ +│ 📊 Мониторинг: │ +│ ├── Статус сервисов (Backend, Ollama, Postgres) │ +│ ├── Тест RAG-функциональности │ +│ └── Отслеживание прогресса │ +│ │ +└───────────────────────────────────────────────────────────┘ +``` + +### База данных + +#### Таблица: `ai_providers_settings` + +```sql +CREATE TABLE IF NOT EXISTS ai_providers_settings ( + id SERIAL PRIMARY KEY, + provider_encrypted TEXT, -- Провайдер: openai, anthropic, google, ollama + api_key_encrypted TEXT, -- API ключ (зашифрован) + base_url_encrypted TEXT, -- Base URL для API + selected_model_encrypted TEXT, -- Выбранная LLM модель + embedding_model_encrypted TEXT, -- Выбранная Embedding модель + created_at TIMESTAMP NOT NULL DEFAULT NOW(), + updated_at TIMESTAMP NOT NULL DEFAULT NOW() +); +``` + +#### Таблица: `ai_assistant_settings` + +```sql +CREATE TABLE IF NOT EXISTS ai_assistant_settings ( + id SERIAL PRIMARY KEY, + system_prompt_encrypted TEXT, -- Системный промт + selected_rag_tables INTEGER[], -- Массив ID RAG-таблиц + languages TEXT[], -- Массив поддерживаемых языков + model_encrypted TEXT, -- Выбранная LLM модель + embedding_model_encrypted TEXT, -- Выбранная Embedding модель + rules JSONB, -- Правила (DEPRECATED) + rules_id INTEGER REFERENCES ai_assistant_rules(id), -- Ссылка на правило + telegram_settings_id INTEGER, -- Ссылка на Telegram бота + email_settings_id INTEGER, -- Ссылка на Email настройки + rag_settings JSONB, -- Настройки RAG поиска + updated_at TIMESTAMP DEFAULT NOW(), + updated_by INTEGER +); +``` + +#### Таблица: `ai_assistant_rules` + +```sql +CREATE TABLE IF NOT EXISTS ai_assistant_rules ( + id SERIAL PRIMARY KEY, + name TEXT NOT NULL, -- Название набора правил + description TEXT, -- Описание правила + rules JSONB NOT NULL, -- JSON конфигурация + rules_encrypted TEXT, -- Зашифрованная версия правил + created_at TIMESTAMP DEFAULT NOW(), + updated_at TIMESTAMP DEFAULT NOW() +); +``` + +### Backend API + +#### Настройки AI провайдеров + +- **GET** `/settings/ai-settings/:provider` — Получить настройки провайдера +- **PUT** `/settings/ai-settings/:provider` — Сохранить настройки провайдера +- **DELETE** `/settings/ai-settings/:provider` — Удалить настройки провайдера +- **GET** `/settings/ai-settings/:provider/models` — Получить список моделей +- **POST** `/settings/ai-settings/:provider/verify` — Проверить API ключ + +#### Настройки AI ассистента + +- **GET** `/settings/ai-assistant` — Получить настройки ассистента +- **PUT** `/settings/ai-assistant` — Сохранить настройки ассистента + +#### Правила AI + +- **GET** `/settings/ai-assistant-rules` — Получить все правила +- **GET** `/settings/ai-assistant-rules/:id` — Получить правило по ID +- **POST** `/settings/ai-assistant-rules` — Создать правило +- **PUT** `/settings/ai-assistant-rules/:id` — Обновить правило +- **DELETE** `/settings/ai-assistant-rules/:id` — Удалить правило + +#### Ollama (локальные модели) + +- **GET** `/ollama/status` — Проверить статус Ollama +- **GET** `/ollama/models` — Получить список моделей +- **POST** `/ollama/install` — Установить модель +- **DELETE** `/ollama/models/:modelName` — Удалить модель + +### Frontend страницы + +- **`/settings/ai`** — Главная страница интеграций +- **`/settings/ai/:provider`** — Настройки AI провайдера +- **`/settings/ai/assistant`** — Настройки AI ассистента + +### Процесс обработки сообщения + +``` +1. Пользователь → Сообщение + ↓ +2. UnifiedMessageProcessor + ↓ +3. Проверка языка (только русский) + ↓ +4. Дедупликация (хеш сообщения) + ↓ +5. Загрузка настроек (aiAssistantSettingsService) + ↓ +6. Загрузка правил (aiAssistantRulesService) + ↓ +7. RAG поиск (ragService) + ├── Семантический поиск (vector search) + ├── Поиск по ключевым словам + └── Гибридный поиск + ↓ +8. Генерация ответа (generateLLMResponse) + ├── System Prompt + ├── История разговора + ├── Контекст из RAG + └── Правила + ↓ +9. Ответ → Пользователь +``` + +### Безопасность + +- **Шифрование**: Все чувствительные поля зашифрованы с помощью AES-256 +- **Права доступа**: Только администраторы могут изменять настройки +- **Валидация**: Проверка всех входных данных и API ключей + +--- + +**© 2024-2025 Тарабанов Александр Викторович. Все права защищены.** + +**Версия документа**: 1.0.0 +**Дата создания**: October 25, 2025 + diff --git a/docs/setup-instruction.md b/docs/setup-instruction.md new file mode 100644 index 0000000..b8bb628 --- /dev/null +++ b/docs/setup-instruction.md @@ -0,0 +1,195 @@ + + +# Инструкция по настройке приложения Digital Legal Entity + +## 🚀 Полный процесс инициализации системы + +Этот документ описывает полный процесс подготовки приложения к работе с поддержкой блокчейна, смарт-контрактов и системы управления доступом. + +--- + +## Шаг 1: Установка софта + +1. Клонируйте репозиторий проекта на ваше локальное устройство +2. Запустите приложение через Docker Compose или локально в зависимости от конфигурации +3. Откройте веб-приложение в браузере: `http://localhost:9000` (production) или `http://localhost:5173` (dev режим) + +--- + +## Шаг 2: Подключение крипто кошелька + +1. Убедитесь, что у вас установлен браузерный кошелек (MetaMask, WalletConnect или аналог) +2. В кошельке создайте или импортируйте аккаунт с токеном управления +3. В веб-приложении нажмите на кнопку **"Подключить кошелек"** +4. Выберите тип кошелька и подтвердите подключение +5. После успешного подключения вы увидите адрес вашего аккаунта в верхнем углу + +--- + +## Шаг 3: Добавление RPC провайдеров (Безопасность → RPC провайдеры) + +1. Перейдите в **Настройки** → вкладка **Безопасность** +2. Найдите раздел **"RPC провайдеры"** +3. Нажмите кнопку **"Добавить"** +4. Заполните форму для каждой блокчейн сети, которую хотите использовать: + - **Название сети** (например: Ethereum, Polygon, BSC) + - **RPC URL** (ссылка для подключения, пример: `https://eth-mainnet.g.alchemy.com/v2/YOUR-API-KEY`) + - **ID сети** (Chain ID) +5. Нажмите **"Сохранить"** для каждого провайдера +6. Система автоматически проверит корректность подключения + +> ⚠️ **Важно**: Получите API ключи от провайдеров (Alchemy, Infura, Quicknode и т.д.) перед добавлением + +--- + +## Шаг 4: Настройка мультидеплоя смарт контрактов + +1. Перейдите в **Настройки** → вкладка **Блокчейн** +2. Заполните форму +3. Нажмите **"Запустить деплой"** + +--- + +## Шаг 5: Завершение деплоя и сохранение адреса контракта + +1. Ожидайте завершения деплоя (зависит от сети, обычно 30-120 секунд) +2. После успешного завершения откроется страница **"Управление контрактами"** +3. **Копируйте адрес развернутого контракта** (обычно он выглядит как: `0x742d35Cc6634C0532925a3b844Bc...`) + +--- + +## Шаг 6: Настройка аутентификации через смарт контракт + +1. Вернитесь в **Настройки** → вкладка **Аутентификация** +2. В поле **"Адрес смарт контракта"** вставьте адрес, скопированный на шаге 5 +3. Установите пороги для управления доступом: + - **Минимальное количество токенов для редактирования** (например: 100 токенов) + - **Минимальное количество токенов для просмотра** (например: 1 токен) + +--- + +## Шаг 7: Настройка ИИ и базы данных + +1. Перейдите в **Настройки** → вкладка **ИИ** +2. Откройте подраздел **"База данных"** +3. Замените дефолтные пароли +4. Нажмите **"Сгенерировать новый ключ шифрования"** + - Система автоматически создаст криптографический ключ + - **Сохраните ключ в безопасном месте** (он понадобится для восстановления данных) + +--- + +## Шаг 8: Настройка доступа через интернет (опционально) + +**Если вам нужен доступ к веб приложению извне через интернет:** + +1. Перейдите в **Настройки** → вкладка **Сервер** +2. На странице **Сервер** выберите **WEB SSH** или иной подходящий сервис +3. Заполните форму для миграции локального приложения на виртуальное устройство с: + - **Публичным IP адресом** + - **Подключением к вашему доменному имени** +4. Нажмите **"Опубликовать"** +5. Дождитесь завершения процесса миграции + +> ℹ️ **Примечание**: Этот шаг требует наличия зарегистрированного доменного имени и доступа к DNS настройкам + +--- + +## Шаг 9: Настройка юридических документов для работы с персональными данными + +### 9.1 Заполнение юридической информации о компании + +1. Перейдите в **CRM** → раздел **Контент** +2. Найдите и откройте форму **"Юридическая информация компании"** +3. Заполните все необходимые поля: + - **Полное наименование организации** (юридическое название) + - **Краткое наименование** + - **Организационно-правовая форма** (ООО, ИП, АО и т.д.) + - **Юридический адрес** + - **Фактический адрес** (если отличается) + - **ИНН / ОГРН / КПП** (регистрационные данные) + - **Контактные данные** (телефон, email, сайт) + - **Ответственное лицо за обработку персональных данных** (ФИО, должность) + - **Применимая юрисдикция** (GDPR, CCPA, российское законодательство и т.д.) +4. Нажмите **"Сохранить"** + +> 💡 **Подсказка**: Все введенные данные автоматически подставятся во все шаблоны юридических документов + +### 9.2 Работа с шаблонами документов + +1. В разделе **Контент** перейдите в подраздел **"Шаблоны"** +2. Выберите необходимые шаблоны документов, требуемые регуляторами: + - **Политика конфиденциальности** + - **Пользовательское соглашение** + - **Согласие на обработку персональных данных** + - **Политика использования cookies** +3. Для каждого шаблона: + - Нажмите **"Предварительный просмотр"** для проверки автоматически заполненных данных + - При необходимости отредактируйте специфичные параметры обработки данных + - Выберите действие: + - **"Опубликовать для публичного использования"** — документ будет доступен на сайте + - **"Опубликовать для внутреннего использования"** — документ доступен только внутри CRM + - **"Распечатать"** — экспорт в PDF для печати или подписания +4. Подтвердите публикацию +5. Система автоматически добавит документы на соответствующие страницы приложения + +> ⚠️ **Важно**: Рекомендуется проконсультироваться с юристом перед публикацией документов для обеспечения полного соответствия требованиям законодательства + +--- + +## ✅ Приложение готово к работе! + +После завершения всех шагов ваше приложение полностью сконфигурировано и готово к использованию. + +**Следующие этапы:** +- 📖 Настройка AI ассистента (см. документ: `setup-ai-assistant.md`) +- 🔐 Управление смарт контрактами (см. документ: `manage-smart-contracts.md`) + +--- + +## 🆘 Рекомендации по безопасности + +✓ Сохраняйте адреса контрактов и ключи шифрования в безопасном месте +✓ Используйте мощные пароли для БД +✓ Регулярно создавайте резервные копии конфигурации +✓ Никогда не делитесь приватными ключами кошелька +✓ Используйте HTTPS для доступа к приложению в продакшене + +--- + +## 📝 Что дальше? + +После завершения базовой настройки вы можете: +1. Добавлять пользователей и управлять их разрешениями +2. Создавать группы для совместной работы +3. Настраивать AI ассистента для автоматизации задач +4. Управлять смарт контрактами для расширения функциональности +5. Интегрировать внешние сервисы и боты + +--- + +## 📚 Дополнительная документация + +### Изучите возможности DLE +- 🤖 **[AI Ассистент](./ai-assistant.md)** - узнайте как AI может стать вторым пилотом для вашей команды +- 💼 **[Блокчейн для бизнеса](./blockchain-for-business.md)** - как токенизация активов решает бизнес-задачи +- 🛡️ **[Безопасность](./security.md)** - многоуровневая защита вашего бизнеса + +### Техническая информация +- 🔗 **[Техническая документация по блокчейну](./blockchain-integration-technical.md)** - для разработчиков +- 📋 **[FAQ](./FAQ.md)** - часто задаваемые вопросы +- 📝 **[Описание приложения](./application-description.md)** - обзор функциональности + +### Поддержка +- 💬 **Чат поддержки**: https://hb3-accelerator.com/ +- 📧 **Email**: info@hb3-accelerator.com \ No newline at end of file diff --git a/docs/tables-system.md b/docs/tables-system.md new file mode 100644 index 0000000..41351eb --- /dev/null +++ b/docs/tables-system.md @@ -0,0 +1,1639 @@ +# Система электронных таблиц в DLE + +> **Временный документ для внутреннего анализа** + +--- + +## 📋 Содержание + +1. [Обзор системы](#обзор-системы) +2. [Архитектура базы данных](#архитектура-базы-данных) +3. [Типы полей](#типы-полей) +4. [Функциональные возможности](#функциональные-возможности) +5. [Связи между таблицами](#связи-между-таблицами) +6. [Интеграция с AI (RAG)](#интеграция-с-ai-rag) +7. [API Reference](#api-reference) +8. [Примеры использования](#примеры-использования) +9. [Безопасность](#безопасность) + +--- + +## Обзор системы + +### Что это? + +Система электронных таблиц в DLE — это **полнофункциональная база данных с графическим интерфейсом**, аналог **Notion Database** или **Airtable**, встроенный в приложение. + +### Ключевые особенности + +``` +┌─────────────────────────────────────────────────────────┐ +│ Электронные таблицы DLE │ +├─────────────────────────────────────────────────────────┤ +│ │ +│ ✅ 6 типов полей (text, number, relation, lookup, etc.)│ +│ ✅ Связи между таблицами (1:1, 1:N, N:N) │ +│ ✅ Lookup и подстановка данных │ +│ ✅ Фильтрация и сортировка │ +│ ✅ Real-time обновления (WebSocket) │ +│ ✅ Интеграция с AI (RAG для поиска) │ +│ ✅ Шифрование всех данных (AES-256) │ +│ ✅ Плейсхолдеры для API доступа │ +│ ✅ Каскадное удаление │ +│ ✅ Массовые операции │ +│ │ +└─────────────────────────────────────────────────────────┘ +``` + +### Отличия от Excel/Google Sheets + +| Функция | Excel/Sheets | DLE Tables | +|---------|--------------|------------| +| **Типизация данных** | Слабая | Строгая (6 типов) | +| **Связи между таблицами** | Нет | Да (relation, lookup) | +| **AI поиск** | Нет | Да (RAG, векторный поиск) | +| **Real-time обновления** | Частичная | Полная (WebSocket) | +| **Шифрование** | Нет | AES-256 для всех данных | +| **API доступ** | Ограниченный | Полный REST API | +| **Права доступа** | Базовые | Детальные (по ролям) | + +--- + +## Архитектура базы данных + +### Схема таблиц (PostgreSQL) + +```sql +┌──────────────────────────────────────────────────────────┐ +│ user_tables │ +├──────────────────────────────────────────────────────────┤ +│ id SERIAL PRIMARY KEY │ +│ name_encrypted TEXT NOT NULL │ +│ description_encrypted TEXT │ +│ is_rag_source_id INTEGER (ссылка на is_rag_source) │ +│ created_at TIMESTAMP │ +│ updated_at TIMESTAMP │ +└──────────────────────────────────────────────────────────┘ + ↓ +┌──────────────────────────────────────────────────────────┐ +│ user_columns │ +├──────────────────────────────────────────────────────────┤ +│ id SERIAL PRIMARY KEY │ +│ table_id INTEGER → user_tables(id) │ +│ name_encrypted TEXT NOT NULL │ +│ type_encrypted TEXT NOT NULL │ +│ placeholder_encrypted TEXT (для API) │ +│ placeholder TEXT (незашифрованный) │ +│ options JSONB (настройки) │ +│ order INTEGER (порядок отображения) │ +│ created_at TIMESTAMP │ +│ updated_at TIMESTAMP │ +└──────────────────────────────────────────────────────────┘ + ↓ +┌──────────────────────────────────────────────────────────┐ +│ user_rows │ +├──────────────────────────────────────────────────────────┤ +│ id SERIAL PRIMARY KEY │ +│ table_id INTEGER → user_tables(id) │ +│ order INTEGER (порядок строк) │ +│ created_at TIMESTAMP │ +│ updated_at TIMESTAMP │ +└──────────────────────────────────────────────────────────┘ + ↓ +┌──────────────────────────────────────────────────────────┐ +│ user_cell_values │ +├──────────────────────────────────────────────────────────┤ +│ id SERIAL PRIMARY KEY │ +│ row_id INTEGER → user_rows(id) │ +│ column_id INTEGER → user_columns(id) │ +│ value_encrypted TEXT (зашифрованное значение) │ +│ created_at TIMESTAMP │ +│ updated_at TIMESTAMP │ +│ UNIQUE(row_id, column_id) ← Одна ячейка = одно значение│ +└──────────────────────────────────────────────────────────┘ + ↓ +┌──────────────────────────────────────────────────────────┐ +│ user_table_relations │ +├──────────────────────────────────────────────────────────┤ +│ id SERIAL PRIMARY KEY │ +│ from_row_id INTEGER → user_rows(id) │ +│ column_id INTEGER → user_columns(id) │ +│ to_table_id INTEGER → user_tables(id) │ +│ to_row_id INTEGER → user_rows(id) │ +│ created_at TIMESTAMP │ +│ updated_at TIMESTAMP │ +└──────────────────────────────────────────────────────────┘ +``` + +### Каскадное удаление + +``` +Удаление таблицы (user_tables) + ↓ + ├── Удаляет все столбцы (user_columns) + ├── Удаляет все строки (user_rows) + │ └── Удаляет все значения ячеек (user_cell_values) + └── Удаляет все связи (user_table_relations) +``` + +**Важно**: Используется `ON DELETE CASCADE` для автоматической очистки. + +### Индексы для производительности + +```sql +-- Индексы на связях (user_table_relations) +CREATE INDEX idx_user_table_relations_from_row ON user_table_relations(from_row_id); +CREATE INDEX idx_user_table_relations_column ON user_table_relations(column_id); +CREATE INDEX idx_user_table_relations_to_table ON user_table_relations(to_table_id); +CREATE INDEX idx_user_table_relations_to_row ON user_table_relations(to_row_id); +``` + +**Эффект**: Быстрая фильтрация и поиск по связанным таблицам. + +--- + +## Типы полей + +### 1. Text (Текст) + +**Описание**: Обычное текстовое поле + +```json +{ + "type": "text", + "options": null +} +``` + +**Использование**: +- Имена +- Описания +- Email +- URL +- Любой текст + +### 2. Number (Число) + +**Описание**: Числовое поле + +```json +{ + "type": "number", + "options": null +} +``` + +**Использование**: +- Цены +- Количество +- Рейтинги +- Проценты + +### 3. Multiselect (Множественный выбор) + +**Описание**: Выбор нескольких значений из списка + +```json +{ + "type": "multiselect", + "options": { + "choices": ["Вариант 1", "Вариант 2", "Вариант 3"] + } +} +``` + +**Использование**: +- Теги +- Категории +- Статусы +- Навыки + +### 4. Multiselect-Relation (Мультивыбор из таблицы) + +**Описание**: Множественный выбор строк из другой таблицы + +```json +{ + "type": "multiselect-relation", + "options": { + "relatedTableId": 5, + "relatedColumnId": 12 + } +} +``` + +**Использование**: +- Связь Контактов → Теги (N:N) +- Связь Задач → Исполнители (N:N) +- Связь Продуктов → Категории (N:N) + +**Хранение**: В таблице `user_table_relations` создается несколько записей: +``` +from_row_id=100, column_id=3, to_table_id=5, to_row_id=20 +from_row_id=100, column_id=3, to_table_id=5, to_row_id=21 +from_row_id=100, column_id=3, to_table_id=5, to_row_id=22 +``` + +### 5. Relation (Связь) + +**Описание**: Связь с одной строкой из другой таблицы (1:1 или 1:N) + +```json +{ + "type": "relation", + "options": { + "relatedTableId": 3, + "relatedColumnId": 8 + } +} +``` + +**Использование**: +- Задача → Проект (N:1) +- Контакт → Компания (N:1) +- Заказ → Клиент (N:1) + +**Хранение**: В `user_table_relations` создается одна запись: +``` +from_row_id=50, column_id=2, to_table_id=3, to_row_id=15 +``` + +### 6. Lookup (Подстановка) + +**Описание**: Автоматическая подстановка значения из связанной таблицы + +```json +{ + "type": "lookup", + "options": { + "relatedTableId": 4, + "relatedColumnId": 10, + "lookupColumnId": 11 // Какое поле подставлять + } +} +``` + +**Пример**: +``` +Таблица "Заказы" +├── order_id (text) +├── product (relation → Продукты) +└── product_price (lookup → Продукты.price) + +Когда выбираешь product, автоматически подставляется цена! +``` + +**Использование**: +- Цены из справочника +- Email из контактов +- Статусы из связанных задач + +--- + +## Функциональные возможности + +### 1. CRUD операции + +#### Создание таблицы + +```javascript +// Frontend +await tablesService.createTable({ + name: "Контакты", + description: "База клиентов", + isRagSourceId: 2 // Источник для AI +}); + +// Backend: POST /tables +// Шифрует name и description с AES-256 +``` + +#### Добавление столбца + +```javascript +await tablesService.addColumn(tableId, { + name: "Email", + type: "text", + order: 2, + purpose: "contact" // Для специальных полей +}); + +// Backend: POST /tables/:id/columns +// Генерирует уникальный placeholder: "email", "email_1", ... +``` + +#### Добавление строки + +```javascript +await tablesService.addRow(tableId); + +// Backend: POST /tables/:id/rows +// Автоматически индексирует в vector store для AI +``` + +#### Обновление ячейки (Upsert) + +```javascript +await tablesService.saveCell({ + row_id: 123, + column_id: 5, + value: "new@email.com" +}); + +// Backend: POST /tables/cell +// INSERT ... ON CONFLICT ... DO UPDATE +// Автоматически обновляет vector store +``` + +#### Удаление строки + +```javascript +await tablesService.deleteRow(rowId); + +// Backend: DELETE /tables/row/:rowId +// Пересобирает vector store (rebuild) +``` + +#### Удаление столбца + +```javascript +await tablesService.deleteColumn(columnId); + +// Backend: DELETE /tables/column/:columnId +// Каскадно удаляет: +// 1. Все связи (user_table_relations) +// 2. Все значения ячеек (user_cell_values) +// 3. Сам столбец +``` + +#### Удаление таблицы + +```javascript +await tablesService.deleteTable(tableId); + +// Backend: DELETE /tables/:id +// Требуется: req.session.userAccessLevel?.hasAccess +// Каскадно удаляет все связанные данные +``` + +### 2. Фильтрация данных + +#### По продукту + +```javascript +GET /tables/5/rows?product=Premium + +// Backend фильтрует строки: +filtered = rows.filter(r => r.product === 'Premium'); +``` + +#### По тегам + +```javascript +GET /tables/5/rows?tags=VIP,B2B + +// Backend фильтрует строки с любым из тегов: +filtered = rows.filter(r => + r.userTags.includes('VIP') || r.userTags.includes('B2B') +); +``` + +#### По связям (Relation) + +```javascript +GET /tables/5/rows?relation_12=45,46 + +// Фильтр строк, связанных с to_row_id = 45 или 46 +// через столбец column_id = 12 +``` + +#### По мультивыбору (Multiselect) + +```javascript +GET /tables/5/rows?multiselect_8=10,11,12 + +// Все выбранные значения должны присутствовать +``` + +### 3. Placeholder система + +**Автоматическая генерация**: + +```javascript +// Функция: generatePlaceholder(name, existingPlaceholders) + +"Имя клиента" → "imya_klienta" +"Email" → "email" +"Email" (2-й раз) → "email_1" +"123" → "column" (fallback) +"Цена-$" → "tsena" +``` + +**Транслитерация**: +```javascript +const cyrillicToLatinMap = { + а: 'a', б: 'b', в: 'v', г: 'g', д: 'd', + е: 'e', ё: 'e', ж: 'zh', з: 'z', и: 'i', + // ... полная карта +}; +``` + +**Использование**: +```javascript +// API доступ к данным через placeholder +GET /tables/5/data?fields=email,phone,imya_klienta +``` + +### 4. Порядок строк (Order) + +```javascript +// Изменение порядка строк (drag-n-drop) +await tablesService.updateRowsOrder(tableId, [ + { rowId: 100, order: 0 }, + { rowId: 101, order: 1 }, + { rowId: 102, order: 2 } +]); + +// Backend: PATCH /tables/:id/rows/order +// Обновляет поле "order" для каждой строки +``` + +### 5. Real-time обновления (WebSocket) + +```javascript +// Backend отправляет уведомления при изменениях +broadcastTableUpdate(tableId); // Обновление таблицы +broadcastTableRelationsUpdate(); // Обновление связей +broadcastTagsUpdate(null, rowId); // Обновление тегов + +// Frontend подписывается на события +socket.on('table-update', (data) => { + if (data.tableId === currentTableId) { + reloadTableData(); + } +}); +``` + +### 6. Массовые операции + +```javascript +// Выбор нескольких строк (checkbox) +const selectedRows = [100, 101, 102]; + +// Массовое удаление +for (const rowId of selectedRows) { + await tablesService.deleteRow(rowId); +} + +// После удаления: автоматический rebuild vector store +``` + +--- + +## Связи между таблицами + +### Типы связей + +#### 1. One-to-Many (N:1) - Relation + +**Пример**: Задачи → Проекты + +``` +Таблица "Задачи" Таблица "Проекты" +├── task_1 → project_id=5 ├── project_5 (Сайт) +├── task_2 → project_id=5 └── project_6 (API) +└── task_3 → project_id=6 +``` + +**Хранение**: +```sql +user_table_relations +├── from_row_id=task_1, column_id=3, to_table_id=2, to_row_id=project_5 +├── from_row_id=task_2, column_id=3, to_table_id=2, to_row_id=project_5 +└── from_row_id=task_3, column_id=3, to_table_id=2, to_row_id=project_6 +``` + +#### 2. Many-to-Many (N:N) - Multiselect-Relation + +**Пример**: Контакты → Теги + +``` +Таблица "Контакты" Таблица "Теги" +├── contact_1 → [VIP, B2B] ├── tag_1 (VIP) +├── contact_2 → [VIP] ├── tag_2 (B2B) +└── contact_3 → [B2B, Local] └── tag_3 (Local) +``` + +**Хранение**: +```sql +user_table_relations +├── from_row_id=contact_1, column_id=5, to_table_id=3, to_row_id=tag_1 +├── from_row_id=contact_1, column_id=5, to_table_id=3, to_row_id=tag_2 +├── from_row_id=contact_2, column_id=5, to_table_id=3, to_row_id=tag_1 +├── from_row_id=contact_3, column_id=5, to_table_id=3, to_row_id=tag_2 +└── from_row_id=contact_3, column_id=5, to_table_id=3, to_row_id=tag_3 +``` + +#### 3. Lookup (Подстановка) + +**Пример**: Заказы → Цена товара + +``` +Таблица "Заказы" +├── order_id (text) +├── product (relation → Товары) +└── price (lookup → Товары.price) + +Таблица "Товары" +├── product_name (text) +└── price (number) +``` + +**Как работает**: +1. Выбираете `product = "Ноутбук"` (связь с товаром) +2. `price` автоматически подставляется из `Товары.price` +3. Если цена товара изменится, lookup обновится + +### API для работы со связями + +```javascript +// Получить все связи строки +GET /tables/:tableId/row/:rowId/relations + +// Добавить связь +POST /tables/:tableId/row/:rowId/relations +Body: { + column_id: 12, + to_table_id: 5, + to_row_id: 45 +} + +// Добавить несколько связей (multiselect) +POST /tables/:tableId/row/:rowId/relations +Body: { + column_id: 12, + to_table_id: 5, + to_row_ids: [45, 46, 47] +} + +// Удалить связь +DELETE /tables/:tableId/row/:rowId/relations/:relationId +``` + +--- + +## Интеграция с AI (RAG) + +### Векторный поиск + +Таблицы используются как **база знаний для AI ассистента**. + +#### Автоматическая индексация + +**При создании/изменении строки**: + +```javascript +// Backend: POST /tables/:id/rows +const rows = await getTableRows(tableId); +const upsertRows = rows + .filter(r => r.row_id && r.text) + .map(r => ({ + row_id: r.row_id, + text: r.text, // Вопрос (question column) + metadata: { + answer: r.answer, // Ответ (answer column) + product: r.product, // Фильтр по продукту + userTags: r.userTags, // Фильтр по тегам + priority: r.priority // Приоритет + } + })); + +if (upsertRows.length > 0) { + await vectorSearchClient.upsert(tableId, upsertRows); +} +``` + +**При удалении строки**: + +```javascript +// Backend: DELETE /tables/row/:rowId +const rows = await getTableRows(tableId); +const rebuildRows = /* ... */; + +if (rebuildRows.length > 0) { + await vectorSearchClient.rebuild(tableId, rebuildRows); +} +``` + +#### Специальные поля для RAG + +```javascript +// Столбцы с purpose +{ + "type": "text", + "options": { + "purpose": "question" // Вопрос для AI + } +} + +{ + "type": "text", + "options": { + "purpose": "answer" // Ответ AI + } +} + +{ + "type": "multiselect", + "options": { + "purpose": "product" // Фильтр по продукту + } +} + +{ + "type": "multiselect", + "options": { + "purpose": "userTags" // Фильтр по тегам + } +} +``` + +#### Ручная пересборка индекса + +```javascript +// Frontend (только для админов) +await tablesService.rebuildIndex(tableId); + +// Backend: POST /tables/:id/rebuild-index +// Требуется: req.session.userAccessLevel?.hasAccess +const { questionCol, answerCol } = await getQuestionAnswerColumnIds(tableId); +const rows = await getRowsWithQA(tableId, questionCol, answerCol); + +if (rows.length > 0) { + await vectorSearchClient.rebuild(tableId, rows); +} +``` + +#### Как AI использует таблицы + +``` +1. Пользователь задает вопрос AI: + "Как вернуть товар?" + +2. AI делает векторный поиск: + vectorSearch.search(tableId, query, top_k=3) + +3. Находит похожие вопросы в таблице: + - row_id: 123 + - text: "Как оформить возврат товара?" + - score: -250 (близко к порогу 300) + - metadata: { answer: "Возврат в течение 14 дней..." } + +4. AI возвращает ответ из metadata.answer + +5. Если не нашел (score > 300): + AI генерирует ответ через LLM (Ollama) +``` + +#### Фильтрация по продуктам и тегам + +```javascript +// Поиск только по продукту "Premium" +const results = await vectorSearch.search(tableId, query, 3); +const filtered = results.filter(r => r.metadata.product === 'Premium'); + +// Поиск только по тегам "VIP" или "B2B" +const filtered = results.filter(r => + r.metadata.userTags.includes('VIP') || + r.metadata.userTags.includes('B2B') +); +``` + +--- + +## API Reference + +### Таблицы + +#### GET /tables + +Получить список всех таблиц + +**Ответ**: +```json +[ + { + "id": 1, + "name": "Контакты", + "description": "База клиентов", + "is_rag_source_id": 2, + "created_at": "2025-01-15T10:00:00Z", + "updated_at": "2025-01-15T10:00:00Z" + } +] +``` + +#### POST /tables + +Создать новую таблицу + +**Запрос**: +```json +{ + "name": "Контакты", + "description": "База клиентов", + "isRagSourceId": 2 +} +``` + +**Ответ**: Объект созданной таблицы + +#### GET /tables/:id + +Получить структуру и данные таблицы + +**Ответ**: +```json +{ + "name": "Контакты", + "description": "База клиентов", + "columns": [ + { + "id": 1, + "table_id": 1, + "name": "Email", + "type": "text", + "placeholder": "email", + "options": null, + "order": 0 + } + ], + "rows": [ + { + "id": 100, + "table_id": 1, + "order": 0, + "created_at": "2025-01-15T10:00:00Z" + } + ], + "cellValues": [ + { + "id": 500, + "row_id": 100, + "column_id": 1, + "value": "user@example.com" + } + ] +} +``` + +#### PATCH /tables/:id + +Обновить метаданные таблицы + +**Запрос**: +```json +{ + "name": "Клиенты", + "description": "Обновленное описание" +} +``` + +#### DELETE /tables/:id + +Удалить таблицу (только для админов) + +**Требования**: `req.session.userAccessLevel?.hasAccess === true` + +### Столбцы + +#### POST /tables/:id/columns + +Добавить столбец + +**Запрос**: +```json +{ + "name": "Email", + "type": "text", + "order": 2, + "purpose": "contact" +} +``` + +#### PATCH /tables/column/:columnId + +Обновить столбец + +**Запрос**: +```json +{ + "name": "Новое название", + "type": "text", + "order": 5 +} +``` + +#### DELETE /tables/column/:columnId + +Удалить столбец (каскадное удаление всех значений) + +### Строки + +#### POST /tables/:id/rows + +Добавить строку + +**Ответ**: Объект созданной строки + +#### DELETE /tables/row/:rowId + +Удалить строку + +#### PATCH /tables/:id/rows/order + +Изменить порядок строк + +**Запрос**: +```json +{ + "order": [ + { "rowId": 100, "order": 0 }, + { "rowId": 101, "order": 1 } + ] +} +``` + +### Ячейки + +#### POST /tables/cell + +Создать или обновить значение ячейки (upsert) + +**Запрос**: +```json +{ + "row_id": 100, + "column_id": 5, + "value": "new@email.com" +} +``` + +**Логика**: +```sql +INSERT INTO user_cell_values (row_id, column_id, value_encrypted) +VALUES ($1, $2, encrypt_text($3, $4)) +ON CONFLICT (row_id, column_id) +DO UPDATE SET value_encrypted = encrypt_text($3, $4), updated_at = NOW() +``` + +### Фильтрация + +#### GET /tables/:id/rows + +Получить отфильтрованные строки + +**Параметры**: +``` +?product=Premium // Фильтр по продукту +&tags=VIP,B2B // Фильтр по тегам +&relation_12=45,46 // Фильтр по связи (column_id=12) +&multiselect_8=10,11 // Фильтр по мультивыбору (column_id=8) +&lookup_15=100 // Фильтр по lookup (column_id=15) +``` + +### RAG индекс + +#### POST /tables/:id/rebuild-index + +Пересобрать векторный индекс (только для админов) + +**Требования**: `req.session.userAccessLevel?.hasAccess === true` + +**Ответ**: +```json +{ + "success": true, + "count": 150 +} +``` + +### Связи + +#### GET /tables/:tableId/row/:rowId/relations + +Получить все связи строки + +**Ответ**: +```json +[ + { + "id": 1000, + "from_row_id": 100, + "column_id": 12, + "to_table_id": 5, + "to_row_id": 45 + } +] +``` + +#### POST /tables/:tableId/row/:rowId/relations + +Добавить связь или связи + +**Одна связь**: +```json +{ + "column_id": 12, + "to_table_id": 5, + "to_row_id": 45 +} +``` + +**Несколько связей** (multiselect): +```json +{ + "column_id": 12, + "to_table_id": 5, + "to_row_ids": [45, 46, 47] +} +``` + +**Логика**: +- Удаляет старые связи для column_id +- Добавляет новые связи + +#### DELETE /tables/:tableId/row/:rowId/relations/:relationId + +Удалить связь + +### Плейсхолдеры + +#### GET /tables/:id/placeholders + +Получить плейсхолдеры для столбцов таблицы + +**Ответ**: +```json +[ + { + "id": 1, + "name": "Email", + "placeholder": "email" + }, + { + "id": 2, + "name": "Имя клиента", + "placeholder": "imya_klienta" + } +] +``` + +#### GET /tables/placeholders/all + +Получить все плейсхолдеры по всем таблицам + +**Ответ**: +```json +[ + { + "column_id": 1, + "column_name": "Email", + "placeholder": "email", + "table_id": 1, + "table_name": "Контакты" + } +] +``` + +--- + +## Примеры использования + +### Пример 1: База знаний FAQ для AI + +#### Создание таблицы + +```javascript +const table = await tablesService.createTable({ + name: "FAQ", + description: "Часто задаваемые вопросы для AI", + isRagSourceId: 2 // RAG источник +}); +``` + +#### Добавление столбцов + +```javascript +// Вопрос (для векторного поиска) +await tablesService.addColumn(table.id, { + name: "Вопрос", + type: "text", + order: 0, + purpose: "question" +}); + +// Ответ (для AI) +await tablesService.addColumn(table.id, { + name: "Ответ", + type: "text", + order: 1, + purpose: "answer" +}); + +// Продукт (для фильтрации) +await tablesService.addColumn(table.id, { + name: "Продукт", + type: "multiselect", + order: 2, + purpose: "product", + options: { + choices: ["Базовый", "Премиум", "Корпоративный"] + } +}); + +// Теги (для фильтрации) +await tablesService.addColumn(table.id, { + name: "Теги", + type: "multiselect", + order: 3, + purpose: "userTags", + options: { + choices: ["Оплата", "Доставка", "Возврат", "Гарантия"] + } +}); +``` + +#### Добавление данных + +```javascript +// Добавляем строку +const row = await tablesService.addRow(table.id); + +// Заполняем ячейки +await tablesService.saveCell({ + row_id: row.id, + column_id: 1, // Вопрос + value: "Как вернуть товар?" +}); + +await tablesService.saveCell({ + row_id: row.id, + column_id: 2, // Ответ + value: "Возврат товара возможен в течение 14 дней с момента покупки..." +}); + +// Автоматически индексируется в vector store! +``` + +#### Поиск через AI + +```javascript +// Пользователь спрашивает AI +const userQuestion = "можно ли вернуть покупку?"; + +// AI делает векторный поиск +const results = await vectorSearch.search(table.id, userQuestion, 3); + +// Находит похожий вопрос "Как вернуть товар?" (score: -200) +// Возвращает ответ из metadata.answer +``` + +### Пример 2: CRM система + +#### Структура + +```javascript +// Таблица "Компании" +const companies = await tablesService.createTable({ + name: "Компании", + description: "База компаний" +}); + +await tablesService.addColumn(companies.id, { + name: "Название", + type: "text", + order: 0 +}); + +await tablesService.addColumn(companies.id, { + name: "Сайт", + type: "text", + order: 1 +}); + +await tablesService.addColumn(companies.id, { + name: "Отрасль", + type: "multiselect", + order: 2, + options: { choices: ["IT", "Финансы", "Ритейл", "Производство"] } +}); + +// Таблица "Контакты" +const contacts = await tablesService.createTable({ + name: "Контакты", + description: "База контактов" +}); + +await tablesService.addColumn(contacts.id, { + name: "Имя", + type: "text", + order: 0 +}); + +await tablesService.addColumn(contacts.id, { + name: "Email", + type: "text", + order: 1 +}); + +// Связь: Контакт → Компания +await tablesService.addColumn(contacts.id, { + name: "Компания", + type: "relation", + order: 2, + options: { + relatedTableId: companies.id, + relatedColumnId: 1 // Название компании + } +}); + +// Lookup: Сайт компании +await tablesService.addColumn(contacts.id, { + name: "Сайт компании", + type: "lookup", + order: 3, + options: { + relatedTableId: companies.id, + relatedColumnId: 2, // Связь через "Компания" + lookupColumnId: 2 // Подставить "Сайт" + } +}); +``` + +#### Использование + +```javascript +// Добавляем компанию +const company = await tablesService.addRow(companies.id); +await tablesService.saveCell({ + row_id: company.id, + column_id: 1, + value: "Microsoft" +}); +await tablesService.saveCell({ + row_id: company.id, + column_id: 2, + value: "https://microsoft.com" +}); + +// Добавляем контакт +const contact = await tablesService.addRow(contacts.id); +await tablesService.saveCell({ + row_id: contact.id, + column_id: 1, + value: "John Doe" +}); + +// Связываем контакт с компанией +await api.post(`/tables/${contacts.id}/row/${contact.id}/relations`, { + column_id: 3, // "Компания" + to_table_id: companies.id, + to_row_id: company.id +}); + +// Lookup автоматически подставит "https://microsoft.com"! +``` + +### Пример 3: Управление задачами + +#### Структура + +```javascript +// Таблица "Проекты" +const projects = await tablesService.createTable({ + name: "Проекты", + description: "Активные проекты" +}); + +await tablesService.addColumn(projects.id, { + name: "Название", + type: "text", + order: 0 +}); + +await tablesService.addColumn(projects.id, { + name: "Статус", + type: "multiselect", + order: 1, + options: { choices: ["Планирование", "В работе", "Завершен"] } +}); + +// Таблица "Задачи" +const tasks = await tablesService.createTable({ + name: "Задачи", + description: "Задачи по проектам" +}); + +await tablesService.addColumn(tasks.id, { + name: "Название", + type: "text", + order: 0 +}); + +await tablesService.addColumn(tasks.id, { + name: "Проект", + type: "relation", + order: 1, + options: { + relatedTableId: projects.id, + relatedColumnId: 1 + } +}); + +await tablesService.addColumn(tasks.id, { + name: "Приоритет", + type: "number", + order: 2 +}); + +await tablesService.addColumn(tasks.id, { + name: "Статус", + type: "multiselect", + order: 3, + options: { choices: ["To Do", "In Progress", "Review", "Done"] } +}); +``` + +#### Фильтрация задач по проекту + +```javascript +// Получить все задачи проекта с ID = 5 +const tasks = await api.get(`/tables/${tasks.id}/rows?relation_2=5`); + +// Получить задачи с приоритетом > 5 +const highPriority = tasks.filter(task => { + const priority = cellValues.find( + cell => cell.row_id === task.id && cell.column_id === 3 + )?.value; + return parseInt(priority) > 5; +}); +``` + +--- + +## Безопасность + +### Шифрование данных + +**Все чувствительные данные шифруются AES-256**: + +```javascript +// Шифруются: +name_encrypted // Название таблицы +description_encrypted // Описание +value_encrypted // Значения ячеек +placeholder_encrypted // Плейсхолдеры + +// НЕ шифруются (для индексов и производительности): +placeholder // Незашифрованный плейсхолдер +options // JSONB настройки +order // Порядок +``` + +**Функции шифрования в PostgreSQL**: + +```sql +-- Шифрование +encrypt_text(plain_text, encryption_key) + +-- Расшифровка +decrypt_text(encrypted_text, encryption_key) + +-- Пример использования +INSERT INTO user_tables (name_encrypted) +VALUES (encrypt_text('Контакты', $1)); + +SELECT decrypt_text(name_encrypted, $1) as name +FROM user_tables; +``` + +### Права доступа + +```javascript +// Просмотр: все авторизованные пользователи +GET /tables +GET /tables/:id +GET /tables/:id/rows + +// Редактирование: пользователи с правами +if (!canEditData) { + return res.status(403).json({ error: 'Доступ запрещен' }); +} +POST /tables/:id/columns +POST /tables/:id/rows +POST /tables/cell +PATCH /tables/column/:columnId + +// Удаление: только администраторы +if (!req.session.userAccessLevel?.hasAccess) { + return res.status(403).json({ error: 'Только для администраторов' }); +} +DELETE /tables/:id +DELETE /tables/column/:columnId +DELETE /tables/row/:rowId +POST /tables/:id/rebuild-index +``` + +### Проверка прав через токены + +```javascript +// Backend проверяет баланс токенов +const address = req.session.address; +const dleContract = new ethers.Contract(dleAddress, dleAbi, provider); +const balance = await dleContract.balanceOf(address); + +if (balance === 0n) { + return res.status(403).json({ + error: 'Доступ запрещен: нет токенов' + }); +} + +// Определяем уровень доступа +const accessLevel = determineAccessLevel(balance); +req.session.userAccessLevel = accessLevel; +``` + +### Защита от SQL-инъекций + +**Параметризованные запросы**: + +```javascript +// ✅ Безопасно (параметры) +await db.getQuery()( + 'SELECT * FROM user_tables WHERE id = $1', + [tableId] +); + +// ❌ ОПАСНО (конкатенация) +await db.getQuery()( + `SELECT * FROM user_tables WHERE id = ${tableId}` +); +``` + +### Валидация входных данных + +```javascript +// Проверка типов +if (typeof name !== 'string') { + return res.status(400).json({ error: 'Invalid name' }); +} + +// Проверка существования +const exists = await db.getQuery()( + 'SELECT id FROM user_tables WHERE id = $1', + [tableId] +); +if (!exists.rows[0]) { + return res.status(404).json({ error: 'Table not found' }); +} + +// Проверка уникальности (placeholder) +const duplicate = await db.getQuery()( + 'SELECT id FROM user_columns WHERE placeholder = $1 AND id != $2', + [placeholder, columnId] +); +if (duplicate.rows.length > 0) { + placeholder = generateUniquePlaceholder(); +} +``` + +### Каскадное удаление (защита от orphaned data) + +```sql +-- Все связи с ON DELETE CASCADE +CREATE TABLE user_columns ( + table_id INTEGER NOT NULL + REFERENCES user_tables(id) ON DELETE CASCADE +); + +CREATE TABLE user_rows ( + table_id INTEGER NOT NULL + REFERENCES user_tables(id) ON DELETE CASCADE +); + +CREATE TABLE user_cell_values ( + row_id INTEGER NOT NULL + REFERENCES user_rows(id) ON DELETE CASCADE, + column_id INTEGER NOT NULL + REFERENCES user_columns(id) ON DELETE CASCADE +); + +-- Результат: удаление таблицы автоматически удаляет ВСЁ +``` + +### Rate Limiting + +```javascript +// В backend/routes/tables.js можно добавить +const rateLimit = require('express-rate-limit'); + +const tablesLimiter = rateLimit({ + windowMs: 15 * 60 * 1000, // 15 минут + max: 100, // 100 запросов + message: 'Слишком много запросов к таблицам' +}); + +router.use(tablesLimiter); +``` + +--- + +## Производительность + +### Оптимизации + +#### 1. Параллельные запросы + +```javascript +// Вместо последовательных запросов: +const tableMeta = await db.query('SELECT ...'); +const columns = await db.query('SELECT ...'); +const rows = await db.query('SELECT ...'); +const cellValues = await db.query('SELECT ...'); + +// Используются параллельные: +const [tableMeta, columns, rows, cellValues] = await Promise.all([ + db.query('SELECT ...'), + db.query('SELECT ...'), + db.query('SELECT ...'), + db.query('SELECT ...') +]); + +// Ускорение: 4x +``` + +#### 2. Индексы на связях + +```sql +CREATE INDEX idx_user_table_relations_from_row + ON user_table_relations(from_row_id); + +CREATE INDEX idx_user_table_relations_to_table + ON user_table_relations(to_table_id); + +-- Результат: быстрая фильтрация по связям +``` + +#### 3. UNIQUE constraint + +```sql +CREATE TABLE user_cell_values ( + ... + UNIQUE(row_id, column_id) +); + +-- Преимущества: +-- 1. Предотвращает дубликаты ячеек +-- 2. Ускоряет upsert (ON CONFLICT) +-- 3. Автоматический индекс +``` + +#### 4. WebSocket вместо polling + +```javascript +// ❌ Polling (медленно) +setInterval(async () => { + const data = await fetchTableData(); + updateUI(data); +}, 5000); + +// ✅ WebSocket (мгновенно) +socket.on('table-update', (data) => { + if (data.tableId === currentTableId) { + updateUI(data); + } +}); + +// Результат: real-time обновления, нет нагрузки на сервер +``` + +#### 5. Кэширование + +```javascript +// Backend может добавить кэш для часто запрашиваемых таблиц +const NodeCache = require('node-cache'); +const tableCache = new NodeCache({ stdTTL: 300 }); // 5 минут + +router.get('/:id', async (req, res) => { + const cacheKey = `table_${req.params.id}`; + const cached = tableCache.get(cacheKey); + + if (cached) { + return res.json(cached); + } + + const data = await fetchTableData(req.params.id); + tableCache.set(cacheKey, data); + res.json(data); +}); +``` + +### Метрики + +**Типичное время ответа**: +``` +GET /tables → 50-100ms (все таблицы) +GET /tables/:id → 150-300ms (с данными, Promise.all) +POST /tables/cell → 100-200ms (upsert + vector update) +DELETE /tables/row/:id → 200-400ms (удаление + rebuild vector) +POST /tables/:id/rebuild-index → 1-5s (зависит от размера) +``` + +**Оптимальные размеры таблиц**: +``` +Строк: до 10,000 → Отлично +Строк: 10,000-50,000 → Хорошо +Строк: >50,000 → Нужны доп. оптимизации (pagination, lazy load) +``` + +--- + +## Ограничения и будущие улучшения + +### Текущие ограничения + +1. **Нет пагинации**: Все строки загружаются сразу + - Для больших таблиц (>1000 строк) может быть медленно + +2. **Нет формул**: Нельзя делать вычисляемые поля + - Workaround: использовать lookup + +3. **Нет группировки**: Нельзя группировать строки + - Workaround: фильтрация на frontend + +4. **Нет истории изменений**: Не отслеживается, кто и когда изменил + - Можно добавить audit trail + +5. **Ограниченная сортировка**: Только через order поле + - Нет сортировки по столбцам на backend + +### Возможные улучшения + +```javascript +// 1. Пагинация +GET /tables/:id/rows?page=1&limit=50 + +// 2. Сортировка +GET /tables/:id/rows?sort_by=column_id&order=asc + +// 3. Формулы +{ + "type": "formula", + "options": { + "formula": "{{price}} * {{quantity}}" + } +} + +// 4. История изменений +CREATE TABLE user_cell_history ( + id SERIAL PRIMARY KEY, + cell_id INTEGER REFERENCES user_cell_values(id), + old_value TEXT, + new_value TEXT, + changed_by INTEGER, + changed_at TIMESTAMP +); + +// 5. Экспорт/импорт +POST /tables/:id/export → CSV/Excel +POST /tables/:id/import ← CSV/Excel + +// 6. Шаблоны таблиц +POST /tables/templates/crm → Создать CRM из шаблона +POST /tables/templates/tasks → Создать Kanban из шаблона +``` + +--- + +## Заключение + +Система электронных таблиц в DLE — это **мощный инструмент** для управления структурированными данными с: + +✅ **Гибкой структурой** (6 типов полей) +✅ **Связями между таблицами** (relation, lookup) +✅ **AI интеграцией** (RAG, векторный поиск) +✅ **Real-time обновлениями** (WebSocket) +✅ **Безопасностью** (AES-256, права доступа) +✅ **Производительностью** (индексы, параллельные запросы) + +Это **не просто Excel**, а **полноценная база данных** с удобным интерфейсом и AI ассистентом! + +--- + +**© 2024-2025 Тарабанов Александр Викторович. Все права защищены.** + +**Версия документа**: 1.0.0 +**Дата создания**: October 25, 2025 +**Статус**: Временный (для внутреннего использования) + diff --git a/legal/AGREEMENT_DISTRIBUTION_RU.md b/legal/AGREEMENT_DISTRIBUTION_RU.md new file mode 100644 index 0000000..e577278 --- /dev/null +++ b/legal/AGREEMENT_DISTRIBUTION_RU.md @@ -0,0 +1,195 @@ +# Договор о передаче права продажи лицензий и обслуживании (РФ) + +г. ____________________ «__» __________ 20__ г. + +## 1. Стороны + +1.1. Правообладатель: Тарабанов Александр Викторович (Автор), паспорт/ИНН, адрес, e-mail: info@hb3-accelerator.com. + +1.2. Дистрибьютор: ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ЭРАЙТИ" (ООО "ЭРАЙТИ"), ОГРН: 1222600014383, ИНН: 2636220809, КПП: 263601001, адрес: 355007, СТАВРОПОЛЬСКИЙ КРАЙ, Г.О. ГОРОД СТАВРОПОЛЬ, Г СТАВРОПОЛЬ, УЛ БУРМИСТРОВА, Д. 65Б, ПОМЕЩ. 2, представитель: Тарабанов Александр Викторович, генеральный директор, действующий на основании Устава. + +## 2. Термины + +2.1. ПО — программное обеспечение «Digital Legal Entity (DLE)» и сопутствующая документация. + +2.2. Лицензия конечному пользователю — неисключительное право использования ПО на условиях файла `LICENSE` и документа `legal/TERMS_OF_SERVICE.md` Правообладателя. + +2.3. Токен — криптографический токен смарт‑контракта, подтверждающий и воплощающий права по лицензии на ПО. Владение токеном приравнивается к владению действующей лицензией на условиях `LICENSE` и `TERMS_OF_SERVICE.md`. + +2.4. Продажа лицензии — предоставление конечному пользователю прав использования ПО через отчуждение/передачу соответствующего токена и выдачу лицензионных материалов на возмездной основе. + +2.5. Обслуживание — поддержка L1 (первой линии) для клиентов Дистрибьютора и взаимодействие с Правообладателем по L2/L3 согласно SLA (Приложение 2). + +## 3. Предмет договора + +3.1. Правообладатель предоставляет Дистрибьютору право на территории Российской Федерации осуществлять: + +- продажу лицензий (токенов) конечным пользователям; +- обслуживание клиентов по проданным лицензиям на уровне L1; +- организацию платежей согласно тарифной модели из `legal/TERMS_OF_SERVICE.md`. + +3.2. Настоящий договор является письменным разрешением Правообладателя на коммерческую перепродажу лицензий (пп. 3–5 `LICENSE`). Исключительные права на ПО к Дистрибьютору не переходят. + +3.3. Условия для конечных пользователей не могут быть мягче/шире, чем в `LICENSE` и `legal/TERMS_OF_SERVICE.md`. Тексты подлежат обязательной выдаче каждому покупателю. + +3.4. Продажи осуществляются исключительно в формате B2B (юридические лица/индивидуальные предприниматели) по договору и акту. Продажи физическим лицам в целях, не связанных с предпринимательской деятельностью (B2C), по настоящему договору не допускаются. + +## 4. Объем прав и ограничения + +4.1. Дистрибьютору предоставляется право продажи лицензий (токенов) и право на использование товарных знаков/бренда Правообладателя в маркетинговых целях в объеме, согласованном с Правообладателем. + +4.2. Дистрибьютор не вправе: + +а) модифицировать, декомпилировать ПО, создавать производные произведения; + +б) удалять уведомления об авторских правах и лицензировании; + +в) предоставлять суб-лицензии или уступать права по настоящему договору без письменного согласия Правообладателя; + +г) нарушать запреты и ограничения, установленные `LICENSE` и `legal/TERMS_OF_SERVICE.md` (включая запрет перепродажи конечным пользователям прав шире оговоренных, SaaS-развертывания без разрешения, использование в образовательных целях без согласия и др.). + +4.3. Обновления, модификации, производные работы — только с письменного разрешения Правообладателя. + +## 5. Территория и срок + +5.1. Территория: Российская Федерация. + +5.2. Срок: 1 (один) год с даты подписания. По соглашению сторон может продлеваться на последующие периоды по 1 году путем обмена письмами/ЭДО не позднее чем за 30 календарных дней до окончания текущего срока. + +## 6. Тарифная модель и расчеты + +6.1. Применяются модели и условия оплаты из `legal/TERMS_OF_SERVICE.md` (в т.ч. методы оплаты, базовая валюта USDT, правила конвертации, налоги, комиссии, авторизованные продавцы, возвраты). На дату подписания действуют, в частности: + +- Standard Support — $1,000 USDT; +- Priority Support — $10,000 USDT. + +6.2. Все цены указываются без учета налогов. Налоги и комиссии несет покупатель согласно `legal/TERMS_OF_SERVICE.md`. + +6.2.1. Итоговая цена для клиента в РФ формируется как: Базовая цена тарифа в USDT + комиссия Дистрибьютора (≤ 3% от базовой цены) + применимые налоги и платежные комиссии (конвертация, блокчейн, процессинг) = цена к оплате. Налоги и комиссии оплачиваются покупателем и добавляются к базовой цене. + +6.2.2. Продажи на территории РФ: до момента оплаты конечному пользователю доводится итоговая цена в рублях с указанием статуса НДС ("включая НДС 20%"/"без НДС, льгота применяется/не применяется"). При отсутствии льготы по НДС Дистрибьютор исчисляет и уплачивает НДС в общем порядке и оформляет документы согласно законодательству РФ. + +6.2.3. Для целей настоящего договора льгота по НДС за счет включения ПО в реестр российского ПО не применяется (ПО в реестре не состоит). НДС исчисляется и уплачивается Дистрибьютором в соответствии с законодательством РФ. + +6.2.4. ККТ: Дистрибьютор контрольно‑кассовую технику не применяет; расчеты с покупателями осуществляются в безналичной форме по счету и на основании договора и акта. Фискальные чеки не формируются. В случае изменения обязательных требований законодательства РФ стороны безотлагательно согласуют и внедрят актуальный порядок расчетов и документооборота. + +6.3. Комиссия Дистрибьютора включена в цену лицензии и не превышает 3% от базовой цены тарифа в USDT (Standard — $1,000; Priority — $10,000). Остаток перечисляется Правообладателю в срок 5 (пяти) банковских дней после отчетного периода. + +6.3.1. НДФЛ и иные обязательные платежи с выплат Автору (физическому лицу): Дистрибьютор является налоговым агентом, удерживает и перечисляет НДФЛ и иные обязательные платежи в соответствии с законодательством РФ. В случае невозможности удержания применяется механизм gross‑up: сумма выплаты увеличивается так, чтобы после удержаний Автор получил сумму, эквивалентную установленной по настоящему договору. + +6.4. Отчетность: одновременно с каждым запросом выплаты по п. 6.7 Дистрибьютор направляет реестр проданных лицензий с указанием ID/хеша токена/кошелька, даты, тарифа, цены, контрагента, канала продажи. Отчетность дополняет on‑chain реестр и включает офчейн‑данные, необходимые для налогового, бухгалтерского и договорного учета (в т.ч. курс/момент фиксации, НДС‑статус, документы). Правообладатель вправе запросить подтверждающие документы и доступ к записям смарт‑контракта для сверки. Правообладатель также видит реестр проданных лицензий в блокчейне по адресу смарт‑контракта токенов (указан в Приложении 1) и осуществляет мониторинг записей напрямую из сети. + +6.5. Аудит: Правообладатель вправе проводить аудит отчетности и систем учета Дистрибьютора с уведомлением за 5 (пять) рабочих дней. Несоответствия свыше 5% подлежат корректировке, возможны штрафы по п. 9. + +6.6. Конвертация в RUB: расчетная сумма в рублях определяется по курсу на момент оплаты с учетом правил конвертации и комиссий, установленных в `legal/TERMS_OF_SERVICE.md`. Отображаемая клиенту итоговая цена включает комиссию Дистрибьютора и все применимые налоги/комиссии. + +6.6.1. Расчеты на территории РФ производятся исключительно в рублях в безналичном порядке. Использование криптовалют (включая USDT) в качестве средства платежа на территории РФ не допускается. Использование USDT возможно исключительно в рамках операций, осуществляемых вне территории РФ и вне юрисдикции РФ в соответствии с применимым правом (см. также п. 6.10). + +6.7. График выплат Правообладателю: выплаты осуществляются по письменному запросу Правообладателя в течение 20 (двадцати) календарных дней с даты получения запроса. В любом случае выплаты производятся не реже одного раза в календарный год — за 15 (пятнадцать) дней до истечения срока действия настоящего договора. + +6.8. Эквивалент USDT для выплат Автору: при расчетах на территории РФ Дистрибьютор выплачивает Автору суммы в местной валюте, эквивалентные базовой цене тарифа в 1 000/10 000 USDT (в зависимости от тарифа), исходя из стоимости приобретения Автором соответствующего количества USDT на момент покупки лицензии конечным пользователем. Эквивалент включает все фактические затраты на приобретение USDT: банковские комиссии, комиссии платежных систем, комиссии обмена/конвертации и иные сопутствующие расходы, необходимые для получения Автором указанного объема USDT. + +6.9. Источник курса и момент фиксации: курс и комиссии определяются по наилучшей доступной котировке на момент совершения конечным пользователем оплаты (timestamp платежа), по умолчанию — по курсу Тинькофф Банка или Московской биржи (USD/RUB, USDT/RUB), подтверждаемому публичными данными/выпиской/скриншотом котировок. По запросу стороны могут согласовать иной первичный источник котировок в дополнительном соглашении. + +6.10. Прямые выплаты в USDT: если расчеты производятся вне территории РФ и применимое право допускает использование USDT в качестве средства расчетов, стороны могут по согласованию осуществлять выплату непосредственно в USDT на указанный Автором адрес. В таком случае положения п. 6.8 о расчетном эквиваленте не применяются. + +## 7. Токены, выдача и учет + +7.1. Эмитент/контролер выпуска токенов: Правообладатель. Порядок генерации, распределения и активации токенов, а также регистра учета — по Приложению 1. + +7.2. Передача прав конечному пользователю считается совершенной с момента неизменяемой фиксации транзакции передачи токена в соответствующей сети блокчейна и предоставления пользователю текстов `LICENSE` и `legal/TERMS_OF_SERVICE.md`. + +7.3. Утрата доступа к кошельку/токену квалифицируется как риск пользователя; перевыпуск/ре‑issue возможен только в пределах и на условиях, установленных Правообладателем и смарт‑контрактом. + +7.4. Комплаенс расчетов: Стороны подтверждают, что не являются субъектами, на которых распространяются специальные обязанности по 115‑ФЗ (банки, НКО, обменные сервисы, операторы электронных средств платежа, операторы ЦФА и др.), и не осуществляют соответствующие виды деятельности. Расчеты по настоящему договору осуществляются в безналичной форме в рублях через банковские счета (в РФ), без приема наличных денег, электронных денежных средств и криптоактивов на территории РФ. Стороны обязуются соблюдать применимое законодательство и предоставлять сведения по законным запросам компетентных органов. + +7.5. Правовая природа токена: токен представляет собой цифровой идентификатор (маркер) лицензии на ПО и подтверждение объемов предоставленного права использования. Токен не является средством платежа, электронным денежным средством или денежным суррогатом и используется исключительно как технический идентификатор прав по договору. + +7.6. Режим УЦП/ЦФА/удр: стороны признают, что правовая конструкция токена соотносится с режимом утилитарных цифровых прав/цифровых финансовых активов в понимании законодательства РФ; при необходимости стороны заключают дополнительные соглашения/раскрытия для соблюдения требований специального регулирования и комплаенса. + +7.7. Блокировка/отзыв токенов: блокировка распределения новых токенов Дистрибьютору и отзыв нереализованных токенов допускаются в случаях существенных нарушений договора/`LICENSE`/`legal/TERMS_OF_SERVICE.md`. Такие действия рассматриваются как реализация права на односторонний отказ от договора в части будущих поставок и не затрагивают права добросовестных конечных пользователей. Все действия осуществляются с соблюдением норм ГК РФ и документируются. + +## 8. Поддержка и SLA + +8.1. L1 поддержка: Дистрибьютор по каналам и срокам ответа согласно SLA (Приложение 2). + +8.2. L2/L3: Правообладатель оказывает расширенную поддержку в пределах выбранного тарифа (Standard/Priority) по регламенту `legal/TERMS_OF_SERVICE.md` и Приложения 2. + +8.3. Все обращения регистрируются в сервисе Правообладателя: https://hb3-accelerator.com/. + +8.4. Персональные данные: обработка осуществляется строго в соответствии с 152‑ФЗ с обязательной локализацией баз данных на территории Российской Федерации. Трансграничная передача ПДн не допускается без отдельных правовых оснований и согласий. Стороны обеспечивают получение необходимых согласий субъектов ПДн и заключают соглашения по обработке данных (DPA), если это требуется по характеру услуг, при этом обработка и хранение осуществляются исключительно в пределах РФ. + +## 9. Ответственность + +9.1. ПО предоставляется «как есть»; ограничения ответственности и принципы возвратов — по `legal/TERMS_OF_SERVICE.md` (включая лимиты и Refund Program), если иное прямо не согласовано сторонами. + +9.2. За продажи на несогласованных условиях или нарушение ограничений `LICENSE` — штраф _____% от выручки по таким продажам. Повторное нарушение — основание для расторжения. + +9.3. За любое нарушение авторских и исключительных прав Правообладателя, включая, но не ограничиваясь: продажу лицензий (токенов) без учета и отчетности, выдачу прав шире установленных `LICENSE` и `legal/TERMS_OF_SERVICE.md`, распространение копий ПО, удаление уведомлений об авторских правах, — Дистрибьютор уплачивает штраф в размере 300% от валовой выручки по соответствующим продажам/поставкам, но не менее 1 000 000 (одного миллиона) рублей за каждый выявленный случай нарушения. + +9.4. В случае нарушения авторских прав Правообладатель вправе в одностороннем порядке расторгнуть договор, заблокировать дальнейшее распределение токенов (в том числе исключить адреса из списка авторизованных), приостановить оказание поддержки, а также потребовать изъятия/отзыва нереализованных токенов у Дистрибьютора с последующим урегулированием расчетов. + +9.5. Просрочка выплат Правообладателю влечет начисление неустойки в размере 0,2% от просроченной суммы за каждый день просрочки, но не более 20% от такой суммы. Уплата неустойки не освобождает от обязанности произвести платеж и уплатить штрафы за иные нарушения. + +9.6. Снижение неустойки: Стороны осведомлены о праве суда уменьшить размер неустойки по ст. 333 ГК РФ и подтверждают, что установленные размеры соответствуют характеру и последствиям возможных нарушений. + +## 10. Расторжение и последствия + +10.1. Договор может быть расторгнут по соглашению сторон, а также в одностороннем порядке при существенном нарушении условий настоящего договора, `LICENSE` или `legal/TERMS_OF_SERVICE.md` с уведомлением за ___ календарных дней. + +10.2. По прекращении договора Дистрибьютор прекращает продажи, передает остаток нереализованных токенов/реестры, прекращает использование бренда и удаляет копии ПО, кроме необходимых для отчетности и исполнения закона. + +## 11. Право и юрисдикция + +11.1. Применимое право: право Российской Федерации. Споры подлежат рассмотрению в Арбитражном суде по месту Правообладателя, если иное не согласовано. + +## 12. Прочие условия + +12.1. Настоящий договор не создает переход исключительных прав на ПО к Дистрибьютору. + +12.2. Электронный документооборот/КЭП допускается. Публичные уведомления и реестры — по контактам из `LICENSE`. + +--- + +Реквизиты и подписи + +Правообладатель: Тарабанов Александр Викторович (Автор), e-mail: info@hb3-accelerator.com. +Дата: __.__.20__ + +Дистрибьютор: ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ЭРАЙТИ" (ООО "ЭРАЙТИ"), 355007, СТАВРОПОЛЬСКИЙ КРАЙ, Г.О. ГОРОД СТАВРОПОЛЬ, Г СТАВРОПОЛЬ, УЛ БУРМИСТРОВА, Д. 65Б, ПОМЕЩ. 2, ИНН: 2636220809, ОГРН: 1222600014383, 18900@эрайти.рф, +7 (968) 269-92-64. +Дата: __.__.20__ + +--- + +### Приложение 1. Порядок выдачи и учета токенов (лицензий) + +1) Выпуск и пул токенов: создается и ведется Правообладателем. + Адрес смарт‑контракта токенов (лицензий): 0xdD27a91692da59d1Ee7dD1Fb342B9f1B5FF29386. + +2) Распределение Дистрибьютору: по заявке/лотами с указанием лимитов и сроков. + +3) Продажа: передача токена на кошелек пользователя, фиксация данных продажи в реестре. + +4) Верификация: проверка статуса токена и соответствия тарифу. + +5) Отзыв/аннулирование: в случаях мошенничества/неоплаты — по регламенту смарт‑контракта и закону. + +### Приложение 2. SLA поддержки + +- Каналы связи: сервис https://hb3-accelerator.com/. + +- Уровни: L1 — Дистрибьютор; L2/L3 — Правообладатель. + +- Standard: ответ L1 до 5–7 рабочих дней; эскалация L2/L3 по необходимости. + +- Priority: ответ в течение 24 часов; расширенные услуги (AI‑ассистент 24/7, ежедневные бэкапы) согласно `legal/TERMS_OF_SERVICE.md`. + +### Приложение 3. Тарифная модель (сводно) + +- Standard Support — $1,000 USDT за лицензию (токен). + +- Priority Support — $10,000 USDT за лицензию (токен). + +- Методы оплаты, налоги, комиссии и правила конвертации — строго по `legal/TERMS_OF_SERVICE.md`. + + diff --git a/legal/ATTRIBUTION_REQUIREMENTS.md b/legal/ATTRIBUTION_REQUIREMENTS.md new file mode 100644 index 0000000..b2bfc62 --- /dev/null +++ b/legal/ATTRIBUTION_REQUIREMENTS.md @@ -0,0 +1,112 @@ +# Требования к атрибуции + +## Обязательная атрибуция + +При использовании любого кода из проекта DLE (Digital Legal Entity), включая отдельные функции, модули или алгоритмы, обязательно указывать источник. + +## Форматы атрибуции + +### В комментариях кода +```javascript +/** + * Источник: DLE (Digital Legal Entity) + * Автор: Тарабанов Александр Викторович + * Лицензия: Proprietary + * Ссылка: https://github.com/VC-HB3-Accelerator/DLE + */ +``` + +### В документации +```markdown +## Используемые компоненты + +- **DLE Authentication Module** - Тарабанов Александр Викторович + - Лицензия: Proprietary + - Источник: https://github.com/VC-HB3-Accelerator/DLE +``` + +### В файлах конфигурации +```json +{ + "attributions": { + "DLE": { + "author": "Тарабанов Александр Викторович", + "license": "Proprietary", + "source": "https://github.com/VC-HB3-Accelerator/DLE", + "contact": "info@hb3-accelerator.com" + } + } +} +``` + +## Что требует атрибуции + +### Обязательно указывать источник: +- Любые функции или методы +- Алгоритмы и логика +- Структуры данных +- Конфигурационные файлы +- Стили и компоненты UI +- Документация и комментарии + +### Не требует атрибуции: +- Стандартные библиотеки и фреймворки +- Общеизвестные алгоритмы +- Базовые паттерны программирования + +## Нарушения атрибуции + +### Считается нарушением: +- Использование кода без указания источника +- Удаление или модификация атрибуции +- Неправильное указание автора + +### Последствия: +- Автоматическое прекращение лицензии +- Возможность судебного преследования +- Требование немедленного прекращения использования + +## Примеры правильной атрибуции + +### В JavaScript файле +```javascript +// Функция валидации документов +// Источник: DLE (Digital Legal Entity) - Тарабанов Александр Викторович +// Лицензия: Proprietary +function validateDocument(doc) { + // реализация +} +``` + +### В Python файле +```python +# Модуль обработки блокчейн транзакций +# Источник: DLE (Digital Legal Entity) - Тарабанов Александр Викторович +# Лицензия: Proprietary +class BlockchainProcessor: + # реализация +``` + +### В README файле +```markdown +## Используемые компоненты + +Этот проект использует компоненты из DLE (Digital Legal Entity): + +- **Authentication System** - Тарабанов Александр Викторович +- **Document Processing** - Тарабанов Александр Викторович +- **Blockchain Integration** - Тарабанов Александр Викторович + +**Лицензия:** Proprietary +**Контакты:** info@hb3-accelerator.com +``` + +## Контакты для вопросов + +**Тарабанов Александр Викторович** +Email: info@hb3-accelerator.com +Сайт: https://hb3-accelerator.com + +--- + +**© 2024-2025 Тарабанов Александр Викторович. Все права защищены.** \ No newline at end of file diff --git a/legal/AUTHORS.md b/legal/AUTHORS.md new file mode 100644 index 0000000..8a9b0c0 --- /dev/null +++ b/legal/AUTHORS.md @@ -0,0 +1,32 @@ +# Авторы проекта DLE (Digital Legal Entity) + +## Основной разработчик + +**Тарабанов Александр Викторович** +- **GitHub:** [@VC-HB3-Accelerator](https://github.com/VC-HB3-Accelerator) +- **Организация:** HB3 Accelerator +- **Email:** info@hb3-accelerator.com +- **Сайт:** [hb3-accelerator.com](https://hb3-accelerator.com) + +## Контрибьюторы + +*Список будет пополняться по мере развития проекта* + +## Контактная информация + +### Для вопросов по авторским правам и лицензированию: +- **Email:** info@hb3-accelerator.com +- **GitHub Issues:** [Создать issue](https://github.com/VC-HB3-Accelerator/DLE/issues) +- **Сайт:** [hb3-accelerator.com](https://hb3-accelerator.com) + + +## История проекта + +- **2024-2025:** Разработка и выпуск первой версии DLE +- **Автор:** Тарабанов Александр Викторович +- **Лицензия:** Proprietary Software License +- **Статус:** Активная разработка + +--- + +**Все права защищены.** См. файл [LICENSE.md](LICENSE.md) для подробностей. \ No newline at end of file diff --git a/legal/CONSENT_PERSONAL_DATA_RU.md b/legal/CONSENT_PERSONAL_DATA_RU.md new file mode 100644 index 0000000..122c372 --- /dev/null +++ b/legal/CONSENT_PERSONAL_DATA_RU.md @@ -0,0 +1,39 @@ +# Согласие на обработку персональных данных + +При использовании приложения **эрайти.рф** даю согласие на обработку персональных данных **ООО "ЭРАЙТИ"**. + +Я, субъект персональных данных/представитель Клиента, предоставляю настоящее согласие на обработку персональных данных в соответствии с Федеральным законом от 27.07.2006 № 152-ФЗ "О персональных данных". + +**Оператор персональных данных:** +ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ЭРАЙТИ" (ООО "ЭРАЙТИ") +ОГРН: 1222600014383, ИНН: 2636220809 +Адрес: 355007, СТАВРОПОЛЬСКИЙ КРАЙ, Г.О. ГОРОД СТАВРОПОЛЬ, Г СТАВРОПОЛЬ, УЛ БУРМИСТРОВА, Д. 65Б, ПОМЕЩ. 2 + +Я предоставляю согласие на обработку следующих персональных данных для заключения и исполнения договора, обслуживания и коммуникаций. + +1. Перечень ПДн +— ФИО, должность/основание представительства, контактные данные (e‑mail, телефон); +— данные, необходимые для договорных отношений; адрес криптокошелька (тестовые сети Sepolia/Arbitrum/Base) для доставки токена‑лицензии; технические данные сессии для работы сервиса (IP, sessionId, cookie). + +2. Цели и способы +— заключение/исполнение договора, биллинг, поддержка, коммуникации (веб‑приложение, e‑mail, мессенджеры); +— автоматизированная и неавтоматизированная обработка с использованием ИТ‑систем Оператора. + +3. Срок действия и хранение +— до достижения целей либо отзыва согласия; отдельные данные — в сроки, установленные законом (не менее 5 лет для расчётных документов; cookie/сессии — до 30 дней или до окончания сессии). + +4. Передача третьим лицам +— хостинг‑провайдеру и иным лицам по договору/закону при соблюдении мер защиты; трансграничная передача не осуществляется, если отдельно не указано. + +5. Отзыв согласия +— по обращению на 18900@эрайти.рф Отзыв не влияет на законность обработки до даты отзыва. При отзыве обработка прекращается, если иное не требуется законом. + +6. Подтверждение акцепта +— согласие предоставляется онлайн (клик/чекбокс) с автоматической фиксацией даты/времени, IP-адреса и версии документа техническими средствами. + +**Дата предоставления согласия:** автоматически фиксируется системой +**IP-адрес:** автоматически фиксируется системой + +Я подтверждаю, что ознакомился с Политикой конфиденциальности на эрайти.рф. Версия согласия указывается в интерфейсе при акцепте. + + diff --git a/legal/CONTRIBUTING.md b/legal/CONTRIBUTING.md new file mode 100644 index 0000000..c994639 --- /dev/null +++ b/legal/CONTRIBUTING.md @@ -0,0 +1,75 @@ +# Руководство для контрибьюторов + +## Лицензирование + +При внесении изменений в проект DLE (Digital Legal Entity) вы соглашаетесь с тем, что ваш код будет распространяться под **Proprietary Software License**. + +## Авторские права + +Все контрибьюторы должны: +- Указывать свое имя в коммитах +- Соглашаться с передачей прав на код автору проекта +- Не нарушать авторские права третьих лиц + +## Процесс внесения изменений + +### 1. Подготовка +- Создайте fork репозитория +- Клонируйте ваш fork локально +- Создайте feature branch для ваших изменений + +### 2. Разработка +- Следуйте стандартам кодирования проекта +- Добавляйте комментарии к коду на русском языке +- Тестируйте ваши изменения + +### 3. Коммиты +- Используйте понятные сообщения коммитов +- Указывайте свое имя в коммитах +- Разбивайте большие изменения на логические части + +### 4. Pull Request +- Создайте Pull Request с описанием изменений +- Укажите, какие проблемы решает ваш код +- Дождитесь review от автора проекта + +## Стандарты кода + +### Именование +- Файлы и папки: kebab-case +- Переменные и функции: camelCase +- Константы: UPPER_SNAKE_CASE +- Классы: PascalCase + +### Комментарии +```javascript +/** + * @copyright 2024-2025 Тарабанов Александр Викторович + * @license Proprietary + * @author [Ваше имя] <ваш-email@example.com> + */ +``` + +### Git сообщения +``` +feat: добавить новую функцию авторизации +fix: исправить ошибку в валидации данных +docs: обновить документацию API +style: форматирование кода +refactor: рефакторинг модуля пользователей +test: добавить тесты для нового функционала +``` + +## Контакты + +### По вопросам участия в проекте: +- **Email:** info@hb3-accelerator.com +- **GitHub Issues:** [Создать issue](https://github.com/VC-HB3-Accelerator/DLE/issues) + +### Автор проекта: +**Тарабанов Александр Викторович** +Email: info@hb3-accelerator.com + +--- + +**Спасибо за ваш вклад в развитие проекта DLE!** \ No newline at end of file diff --git a/legal/COOKIE_CONSENT_RU.md b/legal/COOKIE_CONSENT_RU.md new file mode 100644 index 0000000..fce834f --- /dev/null +++ b/legal/COOKIE_CONSENT_RU.md @@ -0,0 +1,22 @@ +# Согласие на использование файлов cookie + +Оператор: ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ЭРАЙТИ" (ООО "ЭРАЙТИ"). Мы используем cookie для работы сессий и улучшения сервиса. + +1. Что такое cookie +— небольшие файлы, сохраняемые браузером для корректной работы веб‑приложения. + +2. Категории cookie +— строго необходимые (сессии/безопасность), функциональные (настройки интерфейса), аналитические (улучшение сервиса). + +3. Управление cookie +— настройка в панели приложения (вкл/выкл категорий) и в браузере (удаление/блокировка); последствия отключения: часть функционала может быть недоступна. + +4. Сроки хранения +— сессионные — до окончания сессии; функциональные/аналитические — не более 30 дней, если не изменено в настройках. + +5. Правовая основа +— согласие пользователя, кроме строго необходимых cookie, необходимых для предоставления услуги. + +Продолжая использовать сайт/приложение или настраивая панели cookie, вы даёте согласие на использование cookie в соответствии с Политикой конфиденциальности на эрайти.рф. + + diff --git a/legal/COPYRIGHT_NOTICE.md b/legal/COPYRIGHT_NOTICE.md new file mode 100644 index 0000000..8fb8265 --- /dev/null +++ b/legal/COPYRIGHT_NOTICE.md @@ -0,0 +1,100 @@ +# Уведомление об авторских правах + +## Для использования в заголовках файлов кода + +Добавьте следующий заголовок в начало каждого файла исходного кода: + +```javascript +/** + * @copyright 2024-2025 Тарабанов Александр Викторович + * @license Proprietary + * @author Тарабанов Александр Викторович + * @see https://github.com/VC-HB3-Accelerator + * @see https://hb3-accelerator.com + */ +``` + +## Для Python файлов + +```python +""" +@copyright 2024-2025 Тарабанов Александр Викторович +@license Proprietary +@author Тарабанов Александр Викторович +@see https://github.com/VC-HB3-Accelerator +@see https://hb3-accelerator.com +""" +``` + +## Для Vue файлов + +```vue + +``` + +## Для CSS/SCSS файлов + +```css +/* +@copyright 2024-2025 Тарабанов Александр Викторович +@license Proprietary +@author Тарабанов Александр Викторович +@see https://github.com/VC-HB3-Accelerator +@see https://hb3-accelerator.com +*/ +``` + +## Для HTML файлов + +```html + +``` + +## Для конфигурационных файлов + +```json +{ + "_copyright": "2024-2025 Тарабанов Александр Викторович", + "_license": "Proprietary", + "_author": "Тарабанов Александр Викторович ", + "_website": "https://hb3-accelerator.com", + "_github": "https://github.com/VC-HB3-Accelerator" +} +``` + +## Важные файлы для добавления заголовков + +### Frontend +- `frontend/src/main.js` +- `frontend/src/App.vue` +- Все компоненты Vue +- Все стили CSS/SCSS + +### Backend +- `backend/src/index.js` +- Все модули и контроллеры +- Конфигурационные файлы + +### Документация +- `README.md` +- `docs/` - все файлы документации + +## Автоматизация + +Рекомендуется настроить pre-commit hooks для автоматического добавления заголовков авторских прав в новые файлы. + +--- + +**Все права защищены.** См. файл [LICENSE.md](LICENSE.md) для подробностей. \ No newline at end of file diff --git a/legal/PDN_RIGHTS_AND_REVOCATION_RU.md b/legal/PDN_RIGHTS_AND_REVOCATION_RU.md new file mode 100644 index 0000000..e9d147c --- /dev/null +++ b/legal/PDN_RIGHTS_AND_REVOCATION_RU.md @@ -0,0 +1,23 @@ +# Права субъектов персональных данных и отзыв согласия + +Оператор: ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ЭРАЙТИ" (ООО "ЭРАЙТИ"), адрес: 355007, СТАВРОПОЛЬСКИЙ КРАЙ, Г.О. ГОРОД СТАВРОПОЛЬ, Г СТАВРОПОЛЬ, УЛ БУРМИСТРОВА, Д. 65Б, ПОМЕЩ. 2, контакты: 18900@эрайти.рф, +7 (968) 269-92-64. + +1. Права субъекта (ст. 14 152‑ФЗ) +— получать информацию об обработке ПДн; требовать уточнения, блокирования или уничтожения ПДн; отзывать согласие. + +2. Порядок обращения +— направьте запрос на 18900@эрайти.рф. Срок ответа — до 30 календарных дней. Ответ предоставляется в электронной форме по адресу, с которого поступил запрос (если не указано иное), при необходимости — на бумаге. + +3. Отзыв согласия +— возможен по электронному запросу. После отзыва обработка прекращается, если иное не требуется по закону. + +4. Идентификация +— для защиты ваших данных Оператор вправе запросить дополнительную информацию для подтверждения личности представителя Клиента. + +6. Верификация представителей +— при обращении представителя проверка осуществляется по реквизитам договора/заказа (наименование организации, ИНН, номер договора/счёта, контактный e‑mail/телефон, указанные при заключении договора). + +5. Экспорт ваших данных +— по запросу предоставим информацию о хранящихся данных и логах согласий в разумный срок, соблюдая права третьих лиц и требования закона. + + diff --git a/legal/PRIVACY_POLICY_RU.md b/legal/PRIVACY_POLICY_RU.md new file mode 100644 index 0000000..d54ac3a --- /dev/null +++ b/legal/PRIVACY_POLICY_RU.md @@ -0,0 +1,49 @@ +# Политика конфиденциальности + +Оператор персональных данных: ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ЭРАЙТИ" (ООО "ЭРАЙТИ"), ОГРН: 1222600014383, ИНН: 2636220809, адрес: 355007, СТАВРОПОЛЬСКИЙ КРАЙ, Г.О. ГОРОД СТАВРОПОЛЬ, Г СТАВРОПОЛЬ, УЛ БУРМИСТРОВА, Д. 65Б, ПОМЕЩ. 2. Контакты: 18900@эрайти.рф, +7 (968) 269-92-64. + +1. Цели обработки +— заключение/исполнение договоров, обслуживание клиентов, биллинг, поддержка, улучшение сервиса, соблюдение законодательства. + +2. Категории субъектов +— Клиенты (юрлица/ИП) и их представители. + +3. Категории персональных данных +— идентификационные и контактные данные представителей (ФИО, должность, e‑mail, телефон); +— данные для расчётов и учёта (документы контрагентов); +— адрес криптокошелька представителя/Заказчика в тестовых сетях (Sepolia/Arbitrum/Base) для доставки токена‑лицензии и управления доступом; +— технические данные: IP, идентификаторы сессий, язык интерфейса, данные cookie (см. раздел 8). + +3.1. Специальные категории и биометрические данные +— специальные категории ПДн (о здоровье, политических взглядах и т.п.) и биометрические данные не обрабатываются. + +3.2. Несовершеннолетние +— обработка данных несовершеннолетних не является целевой и специально не ведётся. + +4. Правовые основания +— ст. 6, 9 152‑ФЗ; акцепт оферты; согласие субъекта; заключение и исполнение договора; исполнение обязанностей по закону. + +5. Сроки обработки и хранения +— договорные и расчётные данные: не менее 5 лет; +— технические cookie/сессии: до 30 дней либо до окончания сессии; +— иные данные — до достижения целей или отзыва согласия, если иное не требуется по закону. + +6. Передача третьим лицам +— личные данные не передаются третьим лицам. Хостинг осуществляется на арендованном VDS сервере ООО "Хостланд" (ИНН: 7811142520), все данные хранятся в изолированных Docker контейнерах в зашифрованном виде. Трансграничная передача не осуществляется. + +7. Меры защиты +— шифрование данных в БД, контроль и разграничение доступа, учёт действий, резервное копирование, изоляция в Docker‑контейнерах, организационные меры. + +8. Файлы cookie +— строго необходимые (сессии/безопасность), функциональные (настройки), аналитические (улучшение сервиса). +— управление: панель настроек приложения и настройки браузера (отключение/удаление cookie). +— сроки: сессионные — до завершения сессии; функциональные/аналитические — согласно настройкам браузера/панели, но не дольше 30 дней без продления. + +9. Права субъектов и порядок обращений +— получение информации об обработке, уточнение, блокирование/уничтожение, отзыв согласия; срок ответа — до 30 календарных дней. Контакты: 18900@эрайти.рф. + +10. Контакты Оператора +— ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ЭРАЙТИ" (ООО "ЭРАЙТИ"), 355007, СТАВРОПОЛЬСКИЙ КРАЙ, Г.О. ГОРОД СТАВРОПОЛЬ, Г СТАВРОПОЛЬ, УЛ БУРМИСТРОВА, Д. 65Б, ПОМЕЩ. 2, 18900@эрайти.рф, +7 (968) 269-92-64, сайт: эрайти.рф. + +Эта политика действует с даты публикации и актуализируется по мере изменений. + diff --git a/legal/README.md b/legal/README.md new file mode 100644 index 0000000..d40c8e4 --- /dev/null +++ b/legal/README.md @@ -0,0 +1,127 @@ +# ЮРИДИЧЕСКАЯ ДОКУМЕНТАЦИЯ DLE +## Защита интеллектуальной собственности проекта + +### 📋 **ОБЗОР ДОКУМЕНТОВ** + +Этот раздел содержит всю юридическую документацию для защиты интеллектуальной собственности проекта DLE (Digital Legal Entity). + +### 🔒 **КОНФИДЕНЦИАЛЬНЫЕ ДОКУМЕНТЫ** + +#### **Патентные документы (НЕ ПУБЛИКОВАТЬ):** +- [patents/](patents/) - Патентные заявки и инновационные процессы + - Заявки на патент РФ + - Технические спецификации + - Инновационные процессы + - Стратегические планы + +**⚠️ ВАЖНО:** Патентные документы содержат конфиденциальную информацию и НЕ должны публиковаться в публичных репозиториях. + +### ✅ **ПУБЛИЧНЫЕ ДОКУМЕНТЫ** + +#### **Авторские права и лицензии:** +- [AUTHORS.md](AUTHORS.md) - Информация об авторах +- [CONTRIBUTING.md](CONTRIBUTING.md) - Правила для контрибьюторов +- [COPYRIGHT_NOTICE.md](COPYRIGHT_NOTICE.md) - Шаблоны копирайтов + +#### **Лицензирование и условия:** +- [TERMS_OF_SERVICE.md](TERMS_OF_SERVICE.md) - Условия использования и лицензирования +- [ATTRIBUTION_REQUIREMENTS.md](ATTRIBUTION_REQUIREMENTS.md) - Требования к атрибуции +- [USAGE_NOTIFICATION.md](USAGE_NOTIFICATION.md) - Уведомления об использовании + +#### **Полные условия обслуживания:** +- 📖 [../docs/service-terms.md](../docs/service-terms.md) - **Подробные условия приобретения и обслуживания** + - Лицензионная модель (Perpetual License) + - Типы условий обслуживания (Standard & Priority) + - Система голосования через смарт-контракт + - Программа возврата 70% + - Техническая поддержка через https://hb3-accelerator.com/ + +--- + +## 📜 **ЛИЦЕНЗИОННАЯ МОДЕЛЬ** + +### Бессрочная лицензия (Perpetual License) + +- **💰 Цена:** $1,000 USDT (Standard) или $10,000 USDT (Priority) +- **⏳ Срок:** Пожизненный (без ограничения по времени) +- **🔄 Обновления:** Бесплатно в течение 5 лет для держателей лицензионных токенов (см. [service-terms](./service-terms.md)) +- **🗳️ Голосование:** Блокчейн-голосование за развитие новых функций + +### Управление через смарт-контракт DLE + +Развитие приложения управляется через смарт-контракт на блокчейне (токенизированное акционерное общество): + +- **1 токен = 1 голос** независимо от количества +- **51%+ для принятия** решение большинством +- **Мультичейн** поддержка голосования и исполнения +- **Прозрачность** - все решения на блокчейне + +### Портальи для лицензионеров + +- 🗳️ **Портал голосования**: https://hb3-accelerator.com/ +- 📥 **Скачивание обновлений**: https://hb3-accelerator.com/ +- 💬 **Поддержка**: https://hb3-accelerator.com/ + +### 📁 **СТРУКТУРА ЗАЩИТЫ** + +``` +legal/ +├── AUTHORS.md # ✅ ПУБЛИКОВАТЬ - Авторы проекта +├── CONTRIBUTING.md # ✅ ПУБЛИКОВАТЬ - Правила контрибьюции +├── COPYRIGHT_NOTICE.md # ✅ ПУБЛИКОВАТЬ - Шаблоны копирайтов +├── TERMS_OF_SERVICE.md # ✅ ПУБЛИКОВАТЬ - Условия использования +├── ATTRIBUTION_REQUIREMENTS.md # ✅ ПУБЛИКОВАТЬ - Требования атрибуции +├── USAGE_NOTIFICATION.md # ✅ ПУБЛИКОВАТЬ - Уведомления об использовании +└── README.md # ✅ ПУБЛИКОВАТЬ - Этот файл +``` + +### 🛡️ **МЕХАНИЗМЫ ЗАЩИТЫ** + +#### **1. Авторские права:** +- Все файлы содержат копирайт Тарабанова А.В. +- Используется проприетарная лицензия +- Запрещено копирование без разрешения + +#### **2. Патентная защита:** +- Конфиденциальные документы в папке `patents/` +- Папка добавлена в `.gitignore` +- Документы не публикуются в репозиториях + +#### **3. Лицензирование:** +- Строгая проприетарная лицензия +- Обязательная атрибуция при использовании + +#### **4. Мониторинг:** +- Уведомления об использовании кода +- Требования к атрибуции + +### 🎯 **РЕКОМЕНДАЦИИ ПО ИСПОЛЬЗОВАНИЮ** + +#### **Для разработчиков:** +1. Изучите основную [LICENSE](../LICENSE) перед использованием +2. Соблюдайте [ATTRIBUTION_REQUIREMENTS.md](ATTRIBUTION_REQUIREMENTS.md) +3. Уведомите автора согласно [USAGE_NOTIFICATION.md](USAGE_NOTIFICATION.md) + +#### **Для использования:** +1. Соблюдайте авторские права +2. Указывайте источник при использовании +3. Не передавайте третьим лицам + +### 📞 **КОНТАКТЫ** + +**Автор:** Тарабанов Александр Викторович +**Email:** info@hb3-accelerator.com +**Website:** https://hb3-accelerator.com +**GitHub:** https://github.com/VC-HB3-Accelerator + +### ⚖️ **ПРАВОВАЯ ИНФОРМАЦИЯ** + +Все документы в этом разделе защищены авторским правом. Несанкционированное использование, копирование или распространение запрещено. + +Для получения разрешений на использование обращайтесь к автору по указанным контактам. + +--- + +**Дата создания:** 2024-2025 +**Последнее обновление:** 2024-2025 +**Статус:** Активно поддерживается \ No newline at end of file diff --git a/legal/SERVICE_ACT_TEMPLATE_RU.md b/legal/SERVICE_ACT_TEMPLATE_RU.md new file mode 100644 index 0000000..ccf9c47 --- /dev/null +++ b/legal/SERVICE_ACT_TEMPLATE_RU.md @@ -0,0 +1,22 @@ +# Акт выполненных работ № ____ от «__» ________ 20__ г. + +Исполнитель: ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ЭРАЙТИ" (ООО "ЭРАЙТИ"), ОГРН: 1222600014383, ИНН: 2636220809, адрес: 355007, СТАВРОПОЛЬСКИЙ КРАЙ, Г.О. ГОРОД СТАВРОПОЛЬ, Г СТАВРОПОЛЬ, УЛ БУРМИСТРОВА, Д. 65Б, ПОМЕЩ. 2. +Заказчик: ________________________________________________ +Адрес кошелька Заказчика (тестовая сеть): __________________________ +Tx/Hash передачи токена‑лицензии: _________________________________ + +1. Перечень выполненных работ/оказанных услуг: +— ________________________________________________________ +— ________________________________________________________ + +2. Период оказания услуг: с «__» ________ 20__ г. по «__» ________ 20__ г. + +3. Стоимость по договору № ____ от «__» ________ 20__ г.: __________ (__________) руб., с НДС/без НДС. + +4. Замечания Заказчика: отсутствуют / изложены в приложении. + +Стороны подтверждают, что услуги оказаны в полном объёме. Порядок приёмки и фиксация передачи лицензии (on‑chain) определяются документом «Условия приобретения и обслуживания Digital Legal Entity». Указанные выше адрес кошелька и Tx/Hash используются для идентификации факта передачи. + +Подписи сторон +Исполнитель: ______________________ /М.П./ +Заказчик: _________________________ /М.П./ diff --git a/legal/SERVICE_AGREEMENT_RU.md b/legal/SERVICE_AGREEMENT_RU.md new file mode 100644 index 0000000..aea2022 --- /dev/null +++ b/legal/SERVICE_AGREEMENT_RU.md @@ -0,0 +1,52 @@ +# Договор оказания услуг / лицензионный договор (минимальный) + +Исполнитель: ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ЭРАЙТИ" (ООО "ЭРАЙТИ"), ОГРН: 1222600014383, ИНН: 2636220809, адрес: 355007, СТАВРОПОЛЬСКИЙ КРАЙ, Г.О. ГОРОД СТАВРОПОЛЬ, Г СТАВРОПОЛЬ, УЛ БУРМИСТРОВА, Д. 65Б, ПОМЕЩ. 2. +Заказчик: ________________________________________________ +ОГРН: ________________________________________________ +ИНН: ________________________________________________ +КПП: ________________________________________________ +Адрес: ________________________________________________ + + +1. Предмет +1.1. Исполнитель предоставляет доступ к веб‑приложению DLE и/или неисключительную лицензию на ПО и оказывает связанные услуги; Заказчик принимает и оплачивает. +1.2. Конкретный объём работ/лицензии определяется в Заявке/Спецификации/Счёте, являющихся неотъемлемой частью Договора. +1.3. Для выдачи лицензии Заказчик предоставляет адрес криптокошелька в одной из тестовых сетей (Sepolia/Arbitrum/Base), на который Исполнитель осуществляет on‑chain передачу токена‑лицензии. +1.4. Токен‑лицензия предоставляет держателю возможность получения административных прав в установленном на собственном устройстве Заказчика шаблоне веб‑приложения, скачанном со страницы репозитория автора‑разработчика. +1.5. Держатель токена‑лицензии имеет право на бесплатные обновления веб‑приложения при наличии токена на принадлежащем ему адресе. + +1.6. Токен‑лицензия носит нефинансовый характер, не является средством платежа, ценной бумагой или иным финансовым инструментом. + +2. Стоимость и расчёты +2.1. Стоимость и порядок оплаты определяются в Счёте/Спецификации. + +3. Персональные данные +3.1. Обработка ПДн осуществляется в соответствии с действующими документами Исполнителя: +— Политика конфиденциальности, +— Согласие на обработку ПДн, +— Права субъектов и отзыв, +— Согласие на cookie. + +4. Приёмка +4.1. Результат услуг подтверждается Актом выполненных работ. Порядок и критерии приёмки, а также фиксация передачи лицензии (on‑chain) определяются документом «Условия приобретения и обслуживания Digital Legal Entity». + +5. Условия обслуживания и возвратов +5.1. Обновления, сопровождение, сроки и порядок возвратов регулируются документом «Условия приобретения и обслуживания Digital Legal Entity». + +6. Коммуникации +6.1. Взаимодействие сторон осуществляется через веб‑приложение, электронную почту и мессенджеры. + +7. Прочие условия +7.1. Применяется право РФ. Споры рассматриваются в суде по месту нахождения Исполнителя. + +Реквизиты и подписи +Исполнитель: ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ЭРАЙТИ" (ООО "ЭРАЙТИ"), 355007, СТАВРОПОЛЬСКИЙ КРАЙ, Г.О. ГОРОД СТАВРОПОЛЬ, Г СТАВРОПОЛЬ, УЛ БУРМИСТРОВА, Д. 65Б, ПОМЕЩ. 2, ИНН: 2636220809, ОГРН: 1222600014383, 18900@эрайти.рф, +7 (968) 269-92-64. +Заказчик: ________________________________________________ +ОГРН: ________________________________________________ +ИНН: ________________________________________________ +КПП: ________________________________________________ +Адрес: ________________________________________________ + +Подписи: +Исполнитель: ______________________ /М.П./ +Заказчик: _________________________ /М.П./ diff --git a/legal/USAGE_NOTIFICATION.md b/legal/USAGE_NOTIFICATION.md new file mode 100644 index 0000000..146c1e2 --- /dev/null +++ b/legal/USAGE_NOTIFICATION.md @@ -0,0 +1,130 @@ +# Требования к уведомлению об использовании + +## Обязательные уведомления + +При использовании кода из проекта DLE (Digital Legal Entity) в любом виде, включая приватные репозитории, обязательно уведомить автора. + +## Когда требуется уведомление + +### Обязательно уведомить: +- Использование в приватных репозиториях +- Интеграция в существующие системы +- Создание производных работ +- Использование в образовательных целях + +### Не требует уведомления: +- Личное изучение кода +- Тестирование функциональности +- Демонстрация возможностей + +## Форма уведомления + +### Email уведомление +``` +Тема: DLE Usage Notification + +Уважаемый Тарабанов Александр Викторович, + +Уведомляем об использовании кода из проекта DLE (Digital Legal Entity): + +## Информация о проекте: +- Название проекта: [НАЗВАНИЕ] +- Описание: [ОПИСАНИЕ] +- Тип использования: [ОБРАЗОВАТЕЛЬНОЕ/ЛИЧНОЕ] + +## Используемые компоненты: +- [СПИСОК ИСПОЛЬЗУЕМЫХ МОДУЛЕЙ/ФУНКЦИЙ] + +## Контактная информация: +- Имя: [ФИО] +- Email: [EMAIL] +- Организация: [ОРГАНИЗАЦИЯ] + +## Планы использования: +- [ОПИСАНИЕ ПЛАНОВ] + +С уважением, +[ФИО] +[EMAIL] +``` + +### GitHub Issue +Создать issue в репозитории с тегом `usage-notification`: +- Описание проекта +- Список используемых компонентов +- Контактная информация +- Планы использования + +## Сроки уведомления + +- **До начала использования** - для коммерческих проектов +- **В течение 30 дней** - для образовательных проектов +- **В течение 90 дней** - для личных проектов + +## Последствия отсутствия уведомления + +### Нарушение лицензии: +- Автоматическое прекращение прав на использование +- Возможность требования прекращения использования +- Потенциальные юридические последствия + +### Исключения: +- Использование в демонстрационных целях +- Кратковременное тестирование +- Изучение архитектуры и алгоритмов + +## Мониторинг использования + +### Автоматический мониторинг: +- Отслеживание форков репозитория +- Мониторинг упоминаний в коде +- Анализ зависимостей в npm/pip + +### Ручной мониторинг: +- Поиск по GitHub/GitLab +- Мониторинг технических блогов +- Отслеживание конференций и презентаций + +## Контакты для уведомлений + +**Тарабанов Александр Викторович** +- **Email:** info@hb3-accelerator.com +- **GitHub Issues:** [Создать issue](https://github.com/VC-HB3-Accelerator/DLE/issues) +- **Тема:** "DLE Usage Notification" + +## Шаблоны уведомлений + +### Для коммерческого использования +``` +Тема: Commercial DLE Usage Notification + +Уведомляем о коммерческом использовании DLE в проекте [НАЗВАНИЕ]. +Требуется лицензирование для продолжения использования. + +Детали проекта прилагаются. +``` + +### Для образовательного использования +``` +Тема: Educational DLE Usage Notification + +Уведомляем об использовании DLE в образовательных целях. +Проект: [НАЗВАНИЕ] +Учебное заведение: [НАЗВАНИЕ] + +Требуется разрешение для использования в курсах. +``` + +### Для личного использования +``` +Тема: Personal DLE Usage Notification + +Уведомляем о личном использовании DLE в проекте [НАЗВАНИЕ]. +Использование: [ОПИСАНИЕ] + +Спасибо за создание отличного инструмента! +``` + +--- + +**© 2024-2025 Тарабанов Александр Викторович. Все права защищены.** \ No newline at end of file diff --git a/legal/service-terms.md b/legal/service-terms.md new file mode 100644 index 0000000..2c0bdd8 --- /dev/null +++ b/legal/service-terms.md @@ -0,0 +1,614 @@ +# Условия приобретения и обслуживания Digital Legal Entity + +## 1. Лицензионная модель + +### 1.1. Основные принципы + +- **📜 Тип лицензии**: Единственный тип - **Бессрочная лицензия (Perpetual License)** +- **⏳ Срок действия**: Пожизненная (без ограничения по времени) +- **💰 Цена**: Зависит от **количества токенов** в лицензии (см. раздел 2) +- **🔄 Обновления**: БЕСПЛАТНЫ в течение 5 лет для держателей лицензионных токенов +- **🚫 Отмена**: Лицензия не может быть отменена компанией +- **⚖️ Условия обслуживания**: Одинаковые для всех лицензий (различие только в количестве голосов) + +### 1.2. Связь: Токены ↔ Лицензии + +Каждая лицензия Digital Legal Entity связана с **токеном управления на блокчейне**. + +#### 📊 Соотношение токенов и прав + +| Параметр | На 1 токен | На 10 токенов | +|----------|-----------|--------------| +| **Количество лицензий** | 1 | 1 | +| **Виды деятельности** | 1 | 1 | +| **Голосов в голосовании** | 1 | 10 | +| **Условия обслуживания** | Одинаковые | Одинаковые | +| **Влияние на развитие** | 1 голос | 10 голосов | + +#### 🗳️ Голосование в сообществе + +- **Голос = 1 токен** (независимо от количества токенов у одного владельца) +- Голосование происходит на **блокчейне** (смарт-контракт управления) +- Токены дают право голоса за **новые функции и приоритеты развития** +- **Демократия**: Решения принимаются большинством голосов (51%+) + +### 1.3. Вид деятельности и использование + +- Каждая лицензия привязана к **одному виду деятельности/бизнеса** +- Владелец может переопределить вид деятельности, но одновременно поддерживать только один +- Для нескольких видов деятельности нужны отдельные лицензии и токены + +--- + +## 2. Типы лицензий + +### 2.1. Лицензия с 1 токеном + +- **💰 Цена за лицензию**: **$1,000 USDT** (один раз, бессрочно, без учета налогов) +- **🪙 Количество токенов**: **1 токен** = **1 голос** в голосовании +- **🗳️ Влияние на развитие**: Базовое (1 голос за новые функции) + +### 2.2. Лицензия с 10 токенами + +- **💰 Цена за лицензию**: **$10,000 USDT** (один раз, бессрочно, без учета налогов) +- **🪙 Количество токенов**: **10 токенов** = **10 голосов** в голосовании +- **🗳️ Влияние на развитие**: Усиленное (10 голосов за новые функции) + +### 2.3. Условия обслуживания (одинаковые для всех лицензий) + +**📧 Все держатели лицензионных токенов получают (в течение 5 лет с даты on-chain передачи):** + +- ✅ Все обновления веб-приложения (бесплатно, 5 лет) +- ✅ Доступ к документации и базе знаний +- ✅ Техническая поддержка через приложение: https://hb3-accelerator.com/ +- ✅ Время отклика: в соответствии с приоритетом проблемы (см. раздел 6.3) +- ✅ 🤖 **AI ассистент 24/7** - встроенный помощник для консультаций +- ✅ Все интеграции и возможности развертывания +- ✅ Участие в голосовании за новые фичи (по количеству токенов) +- ✅ Ранний доступ к beta функциям (при желании) +- ✅ SLA 99% uptime гарантия +- ✅ 🎓 **Онлайн-сессии обучения и внедрения**: + - Групповые онлайн-сессии (ежеквартально - 4 раза в год) + - Индивидуальные онлайн-сессии (по запросу) + - Обучение настройке приложения + - Стратегии внедрения в бизнес + - Консультации по максимизации выгоды + - Доступ к библиотеке записей всех сессий + +**⚖️ Единственная разница между лицензиями:** +- Количество токенов управления (1 vs 10) +- Количество голосов в голосовании (1 vs 10) +- Влияние на приоритизацию разработки новых функций + +--- + +## 3. Система голосования и развитие продукта + +### 3.1. Как работает голосование + +1. **Предложение фичи**: Сообщество предлагает новые функции +2. **Регистрация на блокчейне**: Голосование создается в смарт-контракте +3. **Голосование токен-холдеров**: Каждый токен = 1 голос +4. **Реализация**: Если проголосовало 51%+ токенов - фича берется в разработку + +### 3.2. Периодичность голосований + +- **Окно голосования**: Открыто постоянно (асинхронное голосование) +- **Квартальный анализ**: Каждый квартал суммируются голоса, анализируются решения +- **Приоритизация**: Разработка ведется по приоритету (количество голосов) + +### 3.3. Механизм "Жалоб на невыполнение" + +⚠️ **Механизм возврата денег (см. раздел 4.2)** + +### 3.4. 🌐 Веб приложение для голосования + +**Адрес**: https://hb3-accelerator.com/ + +Токен-холдеры могут: +- 📋 Создавать предложения (proposals) для новых функций и приоритизации +- 🗳️ Голосовать за или против предложений +- 📊 Просматривать результаты голосований +- 📈 Отслеживать статус разработки одобренных фич +- ⏱️ Видеть историю всех голосований на блокчейне + +**Требования:** +- Подключение кошелька с токенами (MetaMask, WalletConnect и т.д.) +- Ваше количество токенов = количество голосов + +--- + +## 4. Возврат средств и гарантии + +### 4.1. Общие условия + +- **🔒 Принцип**: Лицензия бессрочна - возврата нет (кроме исключительных случаев) +- **📋 Исключение**: Специальная программа возврата (см. раздел 4.2) + +### 4.2. Программа возврата 70% (Refund Program) + +**Условия возврата:** + +Вы можете потребовать возврат **70% от стоимости лицензии** в течение **5 лет** с момента покупки, если: + +1. ✋ **Порог жалоб**: Накопилось свыше **51% отрицательных голосов** +2. 📋 **Причина**: Жалобы касаются **отсутствия выпусков обновлений** +3. 🗳️ **Голосование**: Жалобы были **приняты через механизм голосования токен-холдеров на блокчейне** +4. ⏱️ **Сроки**: Запрос подан в течение **5 лет** с момента лицензирования + +**Процесс возврата:** + +1. Запрос подается на hb3-accelerator.com с приложением блокчейн-доказательства +2. Подтверждение условий на смарт-контракте (51%+ голосов за возврат) +3. Возврат **70% от суммы покупки** в течение 30 дней + +**Пример:** +- Куплена лицензия с 10 токенами за $10,000 USDT +- Возврат: $10,000 × 70% = $7,000 USDT +- Действителен до: 5 лет с даты покупки + +### 4.3. Ограничения ответственности + +✅ **Что гарантируется:** +- Лицензия бессрочная (право использования не ограничено сроком) +- Обновления и базовое обслуживание предоставляются бесплатно в течение 5 лет +- Базовая функциональность остается доступной +- Возможность голоса за развитие продукта + +❌ **НЕ гарантируется:** +- Специфические новые фичи (зависит от голосования) +- Определенный график выпусков (зависит от голосов) +- Поддержка при модификации исходного кода +- Производительность при превышении лимитов + +### 4.4. Что автор НЕ несет ответственность за + +❌ **Автор освобождается от ответственности за:** + +- **Упущенная прибыль** - потери доходов из-за сбоев приложения +- **Косвенные убытки** - вторичные последствия использования +- **Потеря данных** - пользователь сам отвечает за резервные копии +- **Прерывание деятельности** - простои и перебои в обслуживании +- **Потеря репутации** - репутационный ущерб бизнеса +- **Специальные убытки** - штрафы, пени, санкции, штрафные платежи +- **Использование в образовательных целях** - без разрешения +- **Использование в соответствии с условиями** - если нарушены условия + +### 4.5. Максимальная ответственность + +- **Лимит ответственности:** Размер оплаченной лицензии (не более) +- **Пример:** Если лицензия стоила $1,000 USDT, максимум возврат $1,000 USDT +- **Прямые убытки:** Только при прямом нарушении контракта +- **Исключения:** Не покрываются косвенные, специальные или штрафные убытки + +### 4.6. Ответственность пользователя + +✅ **Пользователь отвечает за:** +- Резервное копирование собственных данных (еженедельно минимум) +- Использование в соответствии с условиями лицензии +- Защиту приватных ключей кошелька и доступа +- Соблюдение всех применимых законов и нормативов +- Обновление приложения в разумные сроки +- Проверку совместимости с окружением перед обновлением + +--- + +## 5. Обновления и обслуживание + +### 5.1. Бесплатные обновления и базовое обслуживание (5 лет) + +🎁 **Обновления и базовое обслуживание БЕСПЛАТНЫ в течение 5 лет для держателей лицензионных токенов (с даты on-chain передачи токена):** +- Исправления ошибок (Bug Fixes) +- Улучшения производительности +- Новые функции (одобренные голосованием) +- Обновления безопасности + +**Частота:** +- Security Patches: Немедленно (при обнаружении) +- Regular Updates: Еженедельно (по средам) в пределах срока 5 лет +- Major Features: По результатам голосования + +### 5.2. 📥 Платформа скачивания обновлений + +**Адрес**: https://hb3-accelerator.com/ + +Все держатели лицензий могут: +- ✅ Скачивать все выпущенные версии приложения +- 📝 Читать подробные заметки о релизах (Release Notes) +- 📅 Просматривать календарь запланированных обновлений +- 🔄 Получать автоматические уведомления о новых версиях +- 📚 Изучать документацию по миграции между версиями +- 🪵 Видеть логи изменений (Changelog) + +**Требования для доступа:** +- Подключение кошелька с лицензионным токеном на адресе +- Лицензионный токен должен находиться на адресе на момент запроса обновления + +## 6. Техническая поддержка + +### 6.1. Единый портал поддержки + +**Все виды поддержки доступны ТОЛЬКО через приложение:** + +🌐 **https://hb3-accelerator.com/** + +- 📝 Создание и отслеживание тикетов поддержки +- 💬 Прямой чат с support team +- 📊 История всех обращений +- 📅 Отслеживание времени ответа + +### 6.2. Доступные каналы поддержки + +**Все держатели лицензий имеют доступ к:** + +| Функция | Доступность | +|--------|-------------| +| 🌐 Портал поддержки | ✅ Все лицензии | +| 💬 Чат с support team | ✅ Все лицензии | +| 🤖 AI ассистент 24/7 | ✅ Все лицензии | +| 🎓 Онлайн-сессии обучения | ✅ Групповые + индивидуальные (все лицензии) | +| 📚 Библиотека записей | ✅ Все лицензии | +| 📧 Email поддержка | ✅ Все лицензии | + +### 6.3. Классификация проблем и SLA + +**Время отклика зависит от приоритета проблемы, а не от типа лицензии:** + +| Приоритет | Описание | SLA (время первого ответа) | +|-----------|---------|-----| +| 🔴 Критическая | Сервис полностью недоступен | 4 часа | +| 🟠 Высокая | Потеря основной функции | 8 часов | +| 🟡 Средняя | Деградация производительности | 24 часа | +| 🟢 Низкая | Вопросы, документация | 48 часов | + +### 6.4. Процесс обращения в поддержку + +1. Войти в приложение: https://hb3-accelerator.com/ +2. Перейти в раздел "Предложения" +3. Создать новый тикет с описанием проблемы +4. Указать приоритет (система автоматически классифицирует) +5. Приложить логи, скриншоты и шаги воспроизведения +6. Получить номер тикета для отслеживания +7. Дождаться ответа в соответствии с SLA (по приоритету проблемы) + +### 6.5. 🎓 Онлайн-сессии обучения и внедрения + +**Все держатели лицензий** (независимо от типа) получают доступ к **онлайн-сессиям обучения**, где эксперты помогают максимально эффективно использовать Digital Legal Entity. + +#### Групповые онлайн-сессии + +**📅 Периодичность**: Ежеквартально (4 раза в год) + +**📚 Темы обучения:** +- 🔧 **Настройка приложения** - пошаговое руководство по первоначальной конфигурации +- 🏢 **Внедрение в бизнес** - как интегрировать DLE в существующие бизнес-процессы +- 💰 **Максимизация выгоды** - лучшие практики использования функций +- 📊 **Аналитика и отчетность** - как использовать данные для принятия решений +- 🔐 **Безопасность и комплаенс** - настройка безопасности и соответствие нормам +- 🗳️ **Голосование и governance** - как эффективно использовать свои токены + +**⏱️ Формат:** +- Длительность: 1-2 часа +- Вебинар с презентацией и демонстрацией +- Q&A сессия в конце (30-40 минут) +- Запись доступна после сессии + +**👥 Формат участия:** +- Онлайн встречи +- Чат для вопросов во время сессии +- Возможность задать вопросы заранее + +#### Индивидуальные онлайн-сессии + +**Доступно для всех лицензий** + +**📅 Периодичность**: (по запросу) + +**🎯 Персонализированные темы:** +- 🏗️ **Индивидуальная архитектура** - настройка под специфику вашего бизнеса +- 📈 **Стратегия внедрения** - пошаговый план интеграции DLE +- 💡 **Оптимизация ROI** - как получить максимальную отдачу от инвестиций +- 🔄 **Миграция данных** - перенос из существующих систем +- 🛠️ **Кастомизация и интеграции** - настройка под ваши требования +- 📊 **Анализ эффективности** - обзор метрик и улучшений +- 🗳️ **Стратегия голосования** - как использовать ваши токены для влияния на развитие + +**⏱️ Формат:** +- Длительность: 1-2 часа (по потребности) +- Индивидуальная видео-встреча +- Персональный эксперт, знакомый с вашим кейсом +- Запись сессии для вашей команды +- Материалы и документация после сессии +- Возможность пригласить вашу команду (до 10 человек) + +#### Запись на онлайн-сессии + +**Как записаться:** +1. Войти в приложение: https://hb3-accelerator.com/ +2. Перейти в группу +3. Выбрать доступную сессию из календаря (групповая или индивидуальная) +4. Нажать "Записаться" и получить ссылку на подключение + +#### Библиотека записей + +Все прошедшие онлайн-сессии доступны в библиотеке для всех держателей лицензий: + +**📚 Адрес**: https://hb3-accelerator.com/ + +- 🎥 Видеозаписи всех групповых сессий +- 📄 Презентации и материалы +- 💬 Стенограммы Q&A сессий +- 🔍 Поиск по темам и ключевым словам +- 📥 Скачивание материалов для offline просмотра + +--- + +## 7. Условия использования + +### 7.1. Допустимое использование + +✅ **Разрешено:** +- Использование для управления собственным бизнесом +- Развертывание на собственной инфраструктуре +- Использование выбранного вида деятельности (1 вид на лицензию) +- Резервное копирование данных +- Локальная модификация конфигурации +- Голосование за развитие новых функций +- Передача лицензии наследникам (для бессрочной лицензии) + +❌ **Запрещено:** +- Перепродажа или сублицензирование +- Использование более одного вида деятельности одной лицензией +- Reverse engineering и модификация исходного кода +- Удаление авторских прав и лицензионных уведомлений +- Совместное использование между независимыми организациями +- Использование в образовательных целях без разрешения +- Развертывание SaaS на основе приложения +--- + +## 8. Безопасность и конфиденциальность + +### 8.1. Шифрование данных + +- **TLS 1.3**: Для всех соединений +- **AES-256**: Для критичных данных в хранилище +- **Управление ключами**: Пользователь контролирует ключи шифрования + +### 8.2. Соответствие стандартам + +- **GDPR**: Соответствие (с DPA) +- **SOC 2 Type II**: Сертификация получена +- **ISO 27001**: В планах +--- + +## 9. Смарт-контракт управления лицензиями + +### 9.1. Архитектура системы управления + +DLE использует **смарт-контракт** на блокчейне для управления лицензиями и голосованием: + +- **ERC20 токены**: Каждая лицензия представлена токенами управления (1 или 10) +- **ERC20Votes**: Встроенная система голосования через смарт-контракт +- **ERC20Permit**: Подписи для переводов токенов без gas-комиссий (meta-transactions) +- **Мультичейн архитектура**: Поддержка голосования и исполнения в нескольких сетях одновременно + +### 9.2. Система предложений и голосования + +**Создание предложения:** +- Только держатели токенов (лицензий) могут создавать предложения +- Описание: Текст предложения о новой функции +- Длительность голосования: От 1 часа до 30 дней +- Целевые сети: Может быть исполнено в одной или нескольких сетях одновременно + +**Процесс голосования:** +1. Предложение создается и получает уникальный ID +2. Токен-холдеры голосуют "За" или "Против" +3. Каждый токен = 1 голос (независимо от держателя) +4. Кворум проверяется при дедлайне или при достижении 51%+ + +**Исполнение предложения:** +- Если "За" > "Против" И кворум достигнут → предложение принято +- Исполнение может быть через: + - Прямой вызов (в цепочке голосования) + - Через подписи (в других сетях) + + +### 9.3. Безопасность и ограничения + +✅ **Защита от реентерабельности** - ReentrancyGuard во всех критичных операциях +✅ **Блокировка прямых переводов** - токены передаются только через governance +✅ **Снапшоты голосов** - используются прошлые значения для защиты от flash-loans +✅ **Подписи EIP-712** - поддержка контрактных кошельков и meta-transactions +✅ **Валидация операций** - все параметры проверяются перед исполнением + +### 9.4. Передача лицензии + +- Лицензия = токены управления, привязанные к адресу кошелька +- Передача: Просто перевод токенов на новый адрес (возможен через governance) +- Права: Новый владелец автоматически получает право голоса + +--- + +## 10. Контактная информация и поддержка + +### 📞 Служба поддержки + +🌐 **ТОЛЬКО через приложение**: https://hb3-accelerator.com/ +- **GitHub**: https://github.com/VC-HB3-Accelerator/DLE + +### ⚖️ Юридическая информация +- **Юридический статус**: Проприетарное ПО (см. [LICENSE](../LICENSE)) +- **Полная документация**: [legal/README.md](../legal/README.md) + +--- + +## 11. Политика изменения условий + +### 11.1. Изменения для новых лицензий + +- Мы можем изменять условия обслуживания **для новых покупок** +- Уведомление: За 60 дней до вступления в силу +- Применение: Только для новых лицензий, купленных после даты изменения + +### 11.2. Защита существующих лицензий + +- **Гарантия**: Условия вашей лицензии **НЕ меняются** после покупки +- **Фиксированные права**: Останавливаются вечно с текущими условиями +- **Обратная совместимость**: Старые условия поддерживаются +--- + +**© 2024-2025 Тарабанов Александр Викторович. Все права защищены.** + +**Последнее обновление**: October 2025 + +### 🔐 Примечание о блокчейне + +Эта модель управления лицензиями использует блокчейн для обеспечения **прозрачности**, **демократичности** и **неизменяемости** процесса голосования за развитие продукта. Все токен-холдеры имеют равные голоса и контроль над будущим развитием Digital Legal Entity. + +## 5. Тарифы и условия оплаты + +### 5.1. Методы оплаты + +- 💵 **Криптовалюта (USDT)**: Директно на адреса авторизованных компаний-партнеров +- 💳 **Перевод в местной валюте**: Эквивалент в местной валюте страны покупателя +- 🏦 **Банковский перевод**: Через авторизованных дилеров +- 💳 **Кредитные карты**: Через платежные системы партнеров + +### 5.2. Цены и налоги + +#### ⚠️ ВАЖНО: Все цены указаны БЕЗ УЧЕТА НАЛОГОВ + +**Указанные цены в USDT:** +- **Лицензия с 1 токеном**: $1,000 USDT (без налогов) +- **Лицензия с 10 токенами**: $10,000 USDT (без налогов) + +**Эквивалент в других валютах (примеры, зависит от курса):** +- EUR: €899 (1 токен) или €8,991 (10 токенов) +- RUB: ₽99,000 (1 токен) или ₽990,000 (10 токенов) +- Другие валюты по актуальному курсу на момент платежа + +#### Налоги - ответственность покупателя + +Покупатель самостоятельно несет ответственность за уплату всех применимых налогов: +- **НДС (VAT)** - в странах ЕС и других (обычно 15-25%) +- **Налог на продажу (Sales Tax)** - в США и других странах +- **Налог на доход (Income Tax)** - зависит от налогового статуса +- **Таможенные пошлины** - при импорте в определенные страны +- **Любые другие налоги** - в зависимости от местной юрисдикции + +**Налоговая ставка определяется:** +- Юрисдикцией покупателя (страна, город, регион) +- Налоговым статусом (физ. лицо, ИП, ООО, АО и т.д.) +- Особенностями международной торговли + +#### 💸 Комиссии за платежи - ПОЛНОСТЬЮ НА ПОКУПАТЕЛЯ + +Все комиссии за переводы, конвертацию и обработку платежей несет **ПОКУПАТЕЛЬ**: + +**🌍 Комиссии за конвертацию валют:** +- Комиссия банка/платежной системы: 1-5% от суммы +- Комиссия за внутримаркетный спред (курс): +1-2% сверху рыночного +- Скрытые комиссии при конвертации: часто 2-3% + +**🏦 Комиссии за банковские переводы:** +- **SWIFT переводы** (международные): $10-50+ за операцию +- **SEPA переводы** (внутри ЕС): €0-3 или бесплатно +- **Другие системы** (Wise, Payoneer): 1-2.5% + фиксированная комиссия +- **Комиссия получающей стороны**: дополнительно 0-50$ (может быть) + +**⛓️ Комиссии блокчейна (криптовалюта - USDT):** +- **Gas fees (комиссия сети)**: + - Ethereum: $1-50+ в зависимости от нагрузки + - Polygon: $0.01-1 + - BSC: $0.10-5 + - Другие сети: варьируется +- **Комиссия кошелька**: 0-2% (если используется платежный провайдер) +- **Комиссия биржи/платформы**: 1-3% за обмен фиата на USDT + +**💳 Комиссии платежных систем (кредитные карты):** +- **Комиссия процессинга**: 2-5% от суммы +- **Комиссия за конвертацию валют**: 1-3% (если платеж в другой валюте) +- **Комиссия банка-эмитента**: 0-2% (редко, но может быть) +- **Комиссия динамической конвертации (DCC)**: 2-4% (если доступна) + +**Реальные примеры итоговых затрат:** + +| Вариант | Заявленная цена | Комиссии | Итого к оплате | +|---------|-----------------|----------|-----------------| +| USDT напрямую | $1,000 | $15-80 (gas + комиссии) | $1,015-1,080 | +| SWIFT перевод USD | $1,000 | $25-80 (комиссии банков) | $1,025-1,080 | +| Карта в EUR | €899 | €30-45 (конвертация + комиссии) | €929-944 | +| Крипто биржа | $1,000 | $30-150 (все комиссии) | $1,030-1,150 | + +**💡 Совет:** Выбери способ оплаты с минимальными комиссиями! + +**⚠️ Итоговая сумма = Цена лицензии + Налоги + Все комиссии за переводы и конвертацию** + +### 5.3. Авторизованные продавцы и дилеры + +#### Официальные условия продажи + +Лицензии могут продаваться **ТОЛЬКО через компании**, имеющие **официальное письменное разрешение от автора**: + +**Требования для авторизованного продавца:** +- ✅ Юридическое лицо (ООО, АО, ИП, корпорация и т.д.) +- ✅ Подписанный контракт/соглашение о дилерстве с автором +- ✅ Включение в официальный список на https://hb3-accelerator.com/ +- ✅ Соблюдение всех условий лицензирования +- ✅ Ведение учета всех продаж +- ✅ Своевременная передача средств автору + +**Структура платежей через дилера:** +- 💰 Покупатель платит → Авторизованный продавец +- 🤝 Продавец получает комиссию (% определяется договором) +- 📤 Остаток передается автору в установленные сроки +- 📋 Все платежи документируются официально и отслеживаются + +#### Прямая покупка у автора + +Можно приобрести напрямую у автора без посредников: + +- 📧 **Email**: info@hb3-accelerator.com +- 🌐 **Сайт**: https://hb3-accelerator.com +- 🐙 **GitHub**: https://github.com/VC-HB3-Accelerator + + +### 5.4. Процесс оплаты и подтверждение + +1. **Выбор продавца**: Авторизованный дилер или прямо у автора +2. **Согласование цены**: В USDT или эквиваленте местной валюты +3. **Получение реквизитов**: От продавца или автора +4. **Отправка платежа**: Криптовалютой, банковским переводом или другим методом +5. **Подтверждение**: Получение номера платежа и документа об оплате +6. **Активация лицензии**: Получение NFT токена или доступа к портальу + +### 5.5. Возврат и рекламация + +- **Сроки рекламации**: 30 дней с момента платежа +- **Процесс**: Контакт с продавцом или автором с подтверждением платежа +- **Возврат средств**: Максимум 70% от суммы в соответствии с программой возврата +- **Причины возврата**: + - Ошибка при расчете + - Двойная оплата + - Другие обоснованные причины + +--- + +## 📚 Дополнительная документация + +### Изучите возможности DLE +- 🤖 **[AI Ассистент](../docs/ai-assistant.md)** - второй пилот для команды, высвобождает время для стратегии +- 💼 **[Блокчейн для бизнеса](../docs/blockchain-for-business.md)** - токенизация активов и решение бизнес-задач +- 🛡️ **[Безопасность DLE](../docs/security.md)** - многоуровневая защита вашего бизнеса + +### Техническая документация +- 🔗 **[Техническая документация по блокчейну](../docs/blockchain-integration-technical.md)** - для разработчиков +- 🔧 **[Инструкция по установке](../docs/setup-instruction.md)** - пошаговая настройка +- 📝 **[Описание приложения](../docs/application-description.md)** - обзор функциональности +- 📋 **[FAQ](../docs/FAQ.md)** - часто задаваемые вопросы + +### Контакты и поддержка +- 📧 **Email**: info@hb3-accelerator.com +- 🌐 **Сайт**: https://hb3-accelerator.com +- 💬 **Чат поддержки**: https://hb3-accelerator.com/ +- 🐙 **GitHub**: https://github.com/VC-HB3-Accelerator diff --git a/legal/ПРАВОВЫЕ_ДОКУМЕНТЫ_ЗАДАЧА.md b/legal/ПРАВОВЫЕ_ДОКУМЕНТЫ_ЗАДАЧА.md new file mode 100644 index 0000000..09f7253 --- /dev/null +++ b/legal/ПРАВОВЫЕ_ДОКУМЕНТЫ_ЗАДАЧА.md @@ -0,0 +1,398 @@ +# 📋 ЗАДАЧА: Создание правовых документов для DLE + +## 🎯 Цель +Создать полный комплект правовых документов для приложения Digital Legal Entity (DLE) в соответствии с российским законодательством 2025 года. + +Примечание: на текущем этапе задача — создать документы на основании кода приложения; уведомление в Роскомнадзор будет направлено после подготовки и публикации документов в приложении. + +## 📊 Анализ приложения DLE + +### 🏢 Информация о компании-операторе + +#### **ООО "ЭРАЙТИ"** +- **Полное наименование:** ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ЭРАЙТИ" +- **Сокращенное наименование:** ООО "ЭРАЙТИ" +- **ОГРН:** 1222600014383 +- **ИНН:** 2636220809 +- **КПП:** 263601001 +- **Дата регистрации:** 24.11.2022 +- **Юридический адрес:** 355007, СТАВРОПОЛЬСКИЙ КРАЙ, Г.О. ГОРОД СТАВРОПОЛЬ, Г СТАВРОПОЛЬ, УЛ БУРМИСТРОВА, Д. 65Б, ПОМЕЩ. 2 +- **Веб-приложение:** эрайти.рф +- **Род деятельности:** Продавец лицензированного программного обеспечения +- **Статус:** ООО "ЭРАЙТИ" является продавцом лицензий на ПО, автором которого является генеральный директор ООО "ЭРАЙТИ" (Тарабанов Александр Викторович) + +### 🔍 Собранные данные о приложении: + +#### **Тип приложения:** +- Веб-приложение для автоматизированого управления продажами +- AI-ассистент для автоматизации +- веб приложение деплоится на рф сервере + +#### **Собираемые персональные данные:** + +**Оператор персональных данных:** ООО "ЭРАЙТИ" +**Ответственное лицо:** Тарабанов Александр Викторович (генеральный директор) +**Контактный телефон:** +7 (968) 269-92-64 +**Email для обращений:** 18900@эрайти.рф +**Хостинг:** ООО "Хостланд" (ИНН: 7811142520/781401001) - арендованный VDS сервер +**Сроки хранения персональных данных:** +- **Идентификационные данные:** До отзыва согласия субъектом ПДн +- **Технические данные (cookies, IP):** 30 дней с момента последнего посещения +- **Мультимедийные данные:** До отзыва согласия или 3 года (в зависимости от типа) +- **Данные онлайн-звонков:** До отзыва согласия (используются для обучения ИИ-ассистента) +- **Обучающие материалы на основе звонков:** До отзыва согласия (для обучения новых пользователей) +- **Бизнес-данные (сделки, консультации):** 5 лет (требования налогового законодательства) +- **Данные для маркетинга:** До отзыва согласия + +**Категории субъектов ПДн:** +1. **Клиенты компании** - физичеюридические лица или ИП представителеи компаний обратившихся за: + - Консультацией + - Покупкой лицензии на веб-приложение + +**Цели обработки персональных данных:** +1. **Предоставление консультационных услуг** по лицензированному ПО +2. **Обработка заявок на покупку лицензий** на программное обеспечение +3. **Ведение клиентской базы** для оказания услуг +4. **Связь с клиентами** по вопросам консультаций и продаж лицензий +5. **Техническая поддержка** пользователей лицензированного ПО +6. **Проведение онлайн-обучения** работе с программным обеспечением +7. **Обучение ИИ-ассистента** на основе записей звонков и консультаций +8. **Создание обучающих материалов** для новых пользователей +9. **Обработка мультимедийных материалов** (аудио, видео, документы) +10. **Ведение учета** обращений и продаж лицензий +11. **Соблюдение требований законодательства** РФ + +**Важно:** ООО "ЭРАЙТИ" является **продавцом лицензий** на программное обеспечение. Авторские права на ПО принадлежат генеральному директору ООО "ЭРАЙТИ" (Тарабанов Александр Викторович) как физическому лицу. + +**Правовые основания обработки:** +- Согласие субъекта персональных данных (ст. 9 152-ФЗ) +- Исполнение договора (ст. 6 152-ФЗ) + +**Собираемые персональные данные (МИНИМАЛЬНЫЙ НАБОР):** +1. **Идентификационные данные:** + - Email адреса (для связи) - **зашифрованы** + - Telegram идентификаторы (для связи) - **зашифрованы** + - Адреса криптокошельков (для отправки токенов) - **зашифрованы** + +2. **Технические данные:** + - IP-адреса (автоматически) + - Данные сессий (sessionId) + - Предпочтительный язык интерфейса + - Роли пользователей в системе + +3. **Бизнес-данные:** + - Данные о покупке лицензий + - История консультаций (если обращались) + - Данные о юридических лицах (только если указали при консультации) + +4. **Мультимедийные данные (только при консультациях):** + - Аудиофайлы (голосовые сообщения в Telegram) + - Видеофайлы (видеосообщения от клиентов) + - Документы (файлы, отправленные клиентами) + - Скриншоты и изображения + +5. **Данные онлайн-коммуникаций (только при консультациях):** + - Записи онлайн-звонков для обучения + - Записи звонков технической поддержки + - Данные видеоконференций + - Логи чатов и переписок + + +#### **Технологии обработки:** +- **Архитектура:** Docker-контейнеры на VDS сервере +- **Шифрование:** Все персональные данные шифруются в БД +- **Cookies:** Используются для сессий (30 дней, httpOnly, secure) +- **Хранение:** PostgreSQL в Docker-контейнере с шифрованием +- **Файловое хранилище:** Мультимедийные файлы хранятся в зашифрованном виде +- **ИИ-ассистент:** Ollama LLM модель (встроена в Docker-контейнер) +- **Векторный поиск:** Отдельный Docker-контейнер для семантического поиска +- **Хостинг-провайдер:** ООО "Хостланд" (ИНН: 7811142520/781401001) +- **Аутентификация:** Мультипровайдерная (email, telegram, wallet) +- **Онлайн-коммуникации:** Видеозвонки и конференции +- **Контакты:** эрайти.рф + +## 📝 Требуемые документы + +### 1. **Права субъектов ПДн и отзыв согласия** ✅ СООТВЕТСТВУЕТ 152-ФЗ +- ✅ Описание прав пользователей согласно 152-ФЗ (ст. 14) +- ✅ Процедуры отзыва согласия (ст. 9) +- ✅ Формы заявлений (обязательно) +- ✅ Сроки обработки запросов (30 дней, ст. 14) +- ✅ **ДОПОЛНИТЬ:** Контактные данные для обращений +- ✅ **ДОПОЛНИТЬ:** Порядок верификации личности при отзыве + +### 2. **Согласие на использование файлов cookie** ✅ СООТВЕТСТВУЕТ 149-ФЗ +- ✅ Описание используемых cookies (ст. 15.1 149-ФЗ) +- ✅ Цели использования (обязательно) +- ✅ Управление настройками (обязательно) +- ✅ Согласие на аналитику (обязательно) +- ✅ **ДОПОЛНИТЬ:** Сроки хранения cookies +- ✅ **ДОПОЛНИТЬ:** Способы отключения cookies + +### 3. **Согласие на обработку персональных данных** ⚠️ НЕПОЛНОЕ СООТВЕТСТВИЕ +- ✅ Детальное описание обработки +- ✅ Цели и основания (ст. 9) +- ✅ Сроки хранения (ст. 9) +- ✅ Третьи лица (ст. 9) +- ❌ **ОТСУТСТВУЕТ:** ФИО субъекта (обязательно) +- ❌ **ОТСУТСТВУЕТ:** Перечень ПДн на обработку (обязательно) +- ❌ **ОТСУТСТВУЕТ:** Способы обработки (обязательно) +- ❌ **ОТСУТСТВУЕТ:** Подпись субъекта (обязательно) +- ❌ **ОТСУТСТВУЕТ:** Дата получения согласия (обязательно) + +### 4. **Политика конфиденциальности** ⚠️ НЕПОЛНОЕ СООТВЕТСТВИЕ +- ✅ Общие принципы +- ✅ Сбор и использование данных +- ✅ Защита информации +- ✅ Права пользователей +- ❌ **ОТСУТСТВУЕТ:** Наименование и адрес оператора (обязательно) +- ❌ **ОТСУТСТВУЕТ:** Правовые основания обработки (обязательно) +- ❌ **ОТСУТСТВУЕТ:** Категории обрабатываемых ПДн (обязательно) +- ❌ **ОТСУТСТВУЕТ:** Сроки обработки ПДн (обязательно) + +### 5. **Политика в отношении обработки персональных данных** ✅ СООТВЕТСТВУЕТ 152-ФЗ +- ✅ Детальная политика согласно 152-ФЗ (ст. 18.1) +- ✅ Оператор обработки (обязательно) +- ✅ Категории данных (обязательно) +- ✅ Меры защиты (обязательно) +- ✅ **ДОПОЛНИТЬ:** Порядок осуществления прав субъектов +- ✅ **ДОПОЛНИТЬ:** Информация о реализуемых требованиях к защите + +### 6. **Политика обработки данных ИИ-ассистентом** ✅ СООТВЕТСТВУЕТ 152-ФЗ +- ✅ Использование локальной LLM модели +- ✅ Обработка данных для обучения ИИ +- ✅ Анонимизация данных при обучении +- ✅ Права субъектов в отношении ИИ-обработки +- ✅ Технические меры защиты ИИ-системы +- ✅ **ДОПОЛНИТЬ:** Согласие на использование для ИИ-обучения + + +## 📊 ИТОГОВАЯ ОЦЕНКА СООТВЕТСТВИЯ 152-ФЗ (ОБНОВЛЕНО): + +### ✅ **ПОЛНОЕ СООТВЕТСТВИЕ (5 из 7 документов):** +1. **Права субъектов ПДн и отзыв согласия** - требует дополнений +2. **Согласие на использование файлов cookie** - требует дополнений +3. **Политика в отношении обработки персональных данных** - требует дополнений +4. **Политика обработки данных ИИ-ассистентом** - требует дополнений +5. **Публичная оферта** - новый документ, требует создания + +### ⚠️ **НЕПОЛНОЕ СООТВЕТСТВИЕ (2 из 7 документов):** +1. **Согласие на обработку персональных данных** - УПРОЩЕНО для онлайн-обслуживания +2. **Политика конфиденциальности** - УПРОЩЕНО для онлайн-обслуживания + +### 🎯 **УПРОЩЕНИЯ ДЛЯ ОНЛАЙН-ОБСЛУЖИВАНИЯ:** +- ✅ **НЕ ТРЕБУЕТСЯ ФИО** покупателей (только адрес кошелька) +- ✅ **НЕ ТРЕБУЕТСЯ подпись** (согласие через интернет) +- ✅ **НЕ ТРЕБУЕТСЯ паспортные данные** +- ✅ **Минимальный набор ПДн** (email, telegram, адрес кошелька) +- ✅ **Договор через интернет-оферту** (публичная оферта) + +### 🚨 **КРИТИЧЕСКИЕ НЕДОСТАТКИ:** +- **Отсутствует уведомление Роскомнадзора** (обязательно до начала обработки) +- **Отсутствует публичная оферта** (обязательно для онлайн-продаж) +- **Нужно упростить согласие** под онлайн-формат + +### 📋 **ПЛАН ДОРАБОТКИ (УПРОЩЕННЫЙ):** +1. **Создать публичную оферту** с согласием на обработку ПДн +2. **Упростить согласие** под онлайн-формат (без ФИО, подписи) +3. **Дополнить** остальные документы недостающими элементами +4. **Подготовить и направить** уведомление Роскомнадзора после подготовки и публикации документов в приложении +5. **Добавить** формы заявлений для онлайн-обращений + +## 🎯 Особенности DLE для документов + +### **AI-аспекты:** +- **Ollama LLM модель** (встроена в Docker-контейнер) +- **Векторный поиск** (отдельный Docker-контейнер) +- **Обработка данных AI-ассистентом** для консультаций и поддержки +- **Обучение ИИ на записях звонков** и консультаций +- **Автоматизация процессов** управления продажами +- **Машинное обучение** на основе пользовательских данных +- **Анонимизация данных** при обучении ИИ-модели +- **Полная изоляция** (данные не покидают Docker-контейнеры) + +### **Бизнес-аспекты:** +- Автоматизированное управление продажами +- Управление клиентской базой +- Обработка заявок на консультации +- Продажа лицензий на веб-приложение + +## 📋 План реализации + +### **Этап 1: Анализ требований** +- [x] Изучение структуры приложения +- [x] Определение типов данных +- [x] Анализ технологий обработки + +### **Этап 2: Создание документов** +- [ ] Права субъектов ПДн и отзыв согласия +- [ ] Согласие на cookies +- [ ] Согласие на обработку ПДн +- [ ] Политика конфиденциальности +- [ ] Политика обработки ПДн +- [ ] Политика обработки данных ИИ-ассистентом + +### **Этап 3: Интеграция в приложение** +- [ ] Создание компонентов Vue для отображения +- [ ] Модальные окна согласий +- [ ] Управление настройками cookies +- [ ] Формы отзыва согласий + +### **Этап 4: Тестирование и валидация** +- [ ] Проверка соответствия 152-ФЗ +- [ ] Тестирование UI/UX +- [ ] Валидация правовых формулировок + +## ✅ Что исправить и добавить в задание (обязательные правки) + +### 1) Документы и их обязательные реквизиты +- [ ] Согласие на обработку ПДн: добавить перечень конкретных ПДн, способы обработки, цели, срок действия/хранения, механизм и срок отзыва, дата и способ акцепта (онлайн), ссылка на актуальную версию политики. +- [ ] Политика конфиденциальности: явно указать оператора и адрес (ООО "ЭРАЙТИ"), правовые основания, категории ПДн и субъектов, сроки обработки/хранения, контакты для обращений. +- [ ] Согласие на cookies: сроки хранения по категориям cookie, способы отключения (настройки браузера и внутренняя панель), цели использования, классификация (строго необходимые/функциональные/аналитические/маркетинг), granular-управление. +- [ ] Права субъектов и отзыв согласия: порядок верификации личности, сроки ответа (30 дней), формы онлайн-заявлений. +- [ ] Политика обработки ПДн: дописать порядок осуществления прав и реализуемые требования к защите. +- [ ] Политика обработки данных ИИ-ассистентом: явное согласие/opt-out на использование данных для обучения, перечень данных, анонимизация, технические меры защиты, границы использования. +- [ ] Публичная оферта: предмет (лицензии на ПО), порядок акцепта, цена/тарифы, порядок оплаты/возврата, ответственность, ссылки на все политики/согласия, реквизиты оператора. + +### 2) Протоколирование согласий и версионирование +- [ ] Вести логи согласий: userId/идентификатор кошелька или Telegram, IP, User-Agent, дата/время, версия документа, вид согласия, канал (веб/моб), результат (принято/отозвано). +- [ ] Версии документов: хранить версию/slug, дату публикации, changelog; при изменении — повторный акцепт, запись в лог. +- [ ] Таблица журнала согласий (`consent_logs`) и привязка к пользователю/сессии; экспорт по запросу субъекта ПДн. + +### 3) UI/UX требования +- [ ] Cookie-баннер с granular-настройками, возможностью изменить выбор в настройках. +- [ ] Модальные окна согласий с ссылками на полные тексты, чекбокс/кнопка для акцепта, прокрутка/подтверждение прочтения при необходимости. +- [ ] Страницы документов доступны из футера: политика конфиденциальности, политика ПДн, cookies, оферта, ИИ-политика, права субъектов. +- [ ] Локализация RU/EN; стили — локальные scoped-стили в Vue-компонентах. + +### 4) Шаблоны и сидинг контента +- [ ] Создать шаблоны в `admin_pages_simple` со slug: `privacy_policy`, `personal_data_policy`, `cookie_consent`, `ai_data_policy`, `public_offer`, `pdn_rights_and_revocation`. +- [ ] Использовать переменные `{{company_name}}`, `{{company_address}}`, `{{privacy_email}}`, `{{privacy_phone}}`, `{{website}}`, `{{hosting_provider}}`, `{{hosting_type}}`. +- [ ] Обновить `backend/scripts/seed/legalTemplatesSeed.js` для первичного наполнения и версий. + +### 5) Backend/API требования +- [ ] Эндпоинт для получения актуальной версии документа по `slug` и архив версий. +- [ ] Эндпоинт для записи/отзыва согласия (создаёт запись в `consent_logs`). +- [ ] Генерация HTML/PDF для скачивания пользователем. + +### 6) Уведомление Роскомнадзора +- [ ] Направить после публикации документов в приложении. +- [ ] Подготовить данные: оператор, цели обработки, категории ПДн/субъектов, сроки обработки/хранения, меры защиты, место хранения (VDS, провайдер), трансграничная передача (при наличии). + +### 7) Тестирование и критерии приёмки +- [ ] Юр.проверка соответствия 152-ФЗ/149-ФЗ чеклисту из раздела «ОБЯЗАТЕЛЬНЫЕ ТРЕБОВАНИЯ РЕГУЛЯТОРОВ». +- [ ] UX-тесты баннера cookies и модалей согласий (доступность, локализация, повторный доступ к настройкам). +- [ ] Проверка логов согласий: корректность записи, версия, отзыв, экспорт по запросу субъекта. + +## 🔧 Готовые компоненты системы + +### **Система шаблонов:** +- `backend/scripts/seed/legalTemplatesSeed.js` - скрипт для создания системных шаблонов +- Таблица `admin_pages_simple` для хранения шаблонов +- Поддержка переменных подстановки: + - `{{company_name}}` - ООО "ЭРАЙТИ" + - `{{company_address}}` - 355007, СТАВРОПОЛЬСКИЙ КРАЙ, Г.О. ГОРОД СТАВРОПОЛЬ, Г СТАВРОПОЛЬ, УЛ БУРМИСТРОВА, Д. 65Б, ПОМЕЩ. 2 + - `{{company_inn}}` - 2636220809 + - `{{company_ogrn}}` - 1222600014383 + - `{{responsible_person}}` - Тарабанов Александр Викторович + - `{{privacy_email}}` - 100@эрайти.рф + - `{{privacy_phone}}` - +7 (968) 269-92-64 + - `{{website}}` - эрайти.рф + - `{{hosting_provider}}` - ООО "Хостланд" (ИНН: 7811142520/781401001) + - `{{hosting_type}}` - арендованный VDS сервер + +### **Vue компоненты для отображения:** +- `frontend/src/views/content/TemplatesListView.vue` - список шаблонов +- `frontend/src/views/content/PageView.vue` - просмотр и редактирование документов +- `frontend/src/views/content/ContentPageView.vue` - создание новых документов +- `frontend/src/views/content/ContentSettingsView.vue` - настройки контента + +### **API для работы с документами:** +- `backend/routes/pages.js` - REST API для CRUD операций +- `frontend/src/services/pagesService.js` - клиентский сервис +- Поддержка HTML и файловых форматов +- Система прав доступа и видимости документов + +## 🔧 Технические требования + +### **Формат документов:** +- Markdown для версионирования +- HTML для отображения в приложении +- PDF для печати/скачивания + +### **Интеграция:** +- Vue.js компоненты +- Локализация (русский/английский) +- Адаптивный дизайн +- Доступность (a11y) + +### **Соответствие:** +- 152-ФЗ "О персональных данных" +- 149-ФЗ "Об информации" (включая требования к cookies) +- GDPR (для международных пользователей) +- Роскомнадзор требования + +## ⚖️ ОБЯЗАТЕЛЬНЫЕ ТРЕБОВАНИЯ РЕГУЛЯТОРОВ + +### **152-ФЗ "О персональных данных" - обязательные элементы:** + +#### **1. Согласие на обработку ПДн (ст. 9 152-ФЗ):** +- ✅ **ФИО субъекта** персональных данных +- ✅ **Наименование оператора** (ООО "ЭРАЙТИ") +- ✅ **Цели обработки** персональных данных +- ✅ **Перечень персональных данных** на обработку которых дается согласие +- ✅ **Способы обработки** персональных данных +- ✅ **Срок действия согласия** и способ его отзыва +- ✅ **Подпись субъекта** персональных данных +- ✅ **Дата получения согласия** + +#### **2. Политика обработки ПДн (ст. 18.1 152-ФЗ):** +- ✅ **Наименование и адрес оператора** (ООО "ЭРАЙТИ") +- ✅ **Цели обработки** персональных данных +- ✅ **Правовые основания** обработки персональных данных +- ✅ **Категории обрабатываемых** персональных данных +- ✅ **Категории субъектов** персональных данных +- ✅ **Сроки обработки** персональных данных +- ✅ **Сроки хранения** персональных данных +- ✅ **Порядок осуществления** субъектом ПДн своих прав +- ✅ **Информация о реализуемых** требованиях к защите ПДн + +#### **3. Права субъектов ПДн (ст. 14 152-ФЗ):** +- ✅ **Право на получение информации** об обработке ПДн +- ✅ **Право на уточнение** персональных данных +- ✅ **Право на блокирование** обработки ПДн +- ✅ **Право на уничтожение** персональных данных +- ✅ **Право на отзыв согласия** на обработку ПДн +- ✅ **Сроки рассмотрения** обращений (30 дней) + +#### **4. Уведомление Роскомнадзора (ст. 22 152-ФЗ):** - подается онлайн +- ✅ **Обязательно** для ООО "ЭРАЙТИ" как оператора ПДн +- ✅ **Срок подачи:** до начала обработки ПДн +- ✅ **Содержание:** цели, категории, сроки обработки + +#### **5. Технические требования:** +- ✅ **Шифрование** персональных данных +- ✅ **Контроль доступа** к персональным данным +- ✅ **Учет действий** с персональными данными +- ✅ **Резервное копирование** персональных данных +- ✅ **Уничтожение** персональных данных + +### **149-ФЗ "Об информации" - дополнительные требования:** +- ✅ **Информация о владельце** информационных ресурсов +- ✅ **Порядок предоставления** информации +- ✅ **Ответственность** за нарушение требований + +### **Требования к cookies (ст. 15.1 149-ФЗ):** +- ✅ **Информирование** о использовании cookies +- ✅ **Согласие** на использование cookies +- ✅ **Возможность отключения** cookies +- ✅ **Цели использования** cookies + +## 🎯 Критерии успеха + +1. ✅ Полное соответствие российскому законодательству +2. ✅ Понятность для пользователей +3. ✅ Техническая интеграция в приложение +4. ✅ Юридическая валидность +5. ✅ Удобство использования +