From a6593e6f33f48b21723b95472fb77d363a1926c2 Mon Sep 17 00:00:00 2001
From: Alex
Date: Thu, 30 Oct 2025 20:40:37 +0300
Subject: [PATCH] =?UTF-8?q?feat:=20=D0=BD=D0=BE=D0=B2=D0=B0=D1=8F=20=D1=84?=
=?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D1=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
backend/app.js | 21 +-
backend/routes/ollama.js | 16 +
backend/routes/settings.js | 16 +
backend/services/ollamaConfig.js | 31 +-
docs/FAQ.md | 195 ++++++++
frontend/src/components/Sidebar.vue | 6 -
.../settings/AI/DatabaseSettingsView.vue | 30 +-
.../src/views/settings/AIProviderSettings.vue | 18 +
legal/AGREEMENT_DISTRIBUTION_RU.md | 192 ++++++++
legal/ПРАВОВЫЕ_ДОКУМЕНТЫ_ЗАДАЧА.md | 430 ++++++++++++++++++
scripts/internal/db/db_init_helper.sh | 8 +-
11 files changed, 935 insertions(+), 28 deletions(-)
create mode 100644 legal/AGREEMENT_DISTRIBUTION_RU.md
create mode 100644 legal/ПРАВОВЫЕ_ДОКУМЕНТЫ_ЗАДАЧА.md
diff --git a/backend/app.js b/backend/app.js
index f2b10f6..29c8594 100644
--- a/backend/app.js
+++ b/backend/app.js
@@ -185,7 +185,7 @@ const isProduction = process.env.NODE_ENV === 'production';
// Rate limiting
const limiter = rateLimit({
windowMs: 15 * 60 * 1000, // 15 минут
- max: isProduction ? 100 : 2000, // 100 запросов в продакшне, 2000 в dev
+ max: isProduction ? 1000 : 10000, // 1000 запросов в продакшне, 10000 в dev
message: {
error: 'Слишком много запросов, попробуйте позже',
retryAfter: '15 минут'
@@ -201,7 +201,7 @@ const limiter = rateLimit({
// Строгий rate limiting для чувствительных эндпоинтов
const strictLimiter = rateLimit({
windowMs: 15 * 60 * 1000, // 15 минут
- max: isProduction ? 10 : 100, // 10 попыток в продакшне, 100 в разработке
+ max: isProduction ? 100 : 400, // 100 попыток в продакшне, 400 в разработке
message: {
error: 'Превышен лимит попыток, попробуйте позже',
retryAfter: '15 минут'
@@ -211,6 +211,19 @@ const strictLimiter = rateLimit({
trustProxy: true, // Доверяем nginx proxy
});
+// Мягкий rate limiting для RPC настроек (часто запрашиваемых данных)
+const rpcSettingsLimiter = rateLimit({
+ windowMs: 1 * 60 * 1000, // 1 минута
+ max: isProduction ? 200 : 1000, // 200 запросов в продакшне, 1000 в разработке за минуту
+ message: {
+ error: 'Слишком много запросов к RPC настройкам, попробуйте позже',
+ retryAfter: '1 минута'
+ },
+ standardHeaders: true,
+ legacyHeaders: false,
+ trustProxy: true,
+});
+
// Статическая раздача загруженных файлов (для dev и prod)
app.use('/uploads', express.static(path.join(__dirname, 'uploads')));
app.use('/api/uploads', express.static(path.join(__dirname, 'uploads')));
@@ -247,7 +260,9 @@ app.use('/api/kpp', kppRoutes); // Добавленное использован
app.use('/api/geocoding', geocodingRoutes); // Добавленное использование роута
app.use('/api/dle-v2', dleV2Routes); // Добавляем маршрут DLE v2
-app.use('/api/settings', strictLimiter, settingsRoutes); // Строгий rate limiting для настроек
+// Применяем разные rate limiters к разным частям настроек
+app.use('/api/settings/rpc', rpcSettingsLimiter, settingsRoutes); // Мягкий rate limiting для RPC
+app.use('/api/settings', strictLimiter, settingsRoutes); // Строгий rate limiting для остальных настроек
app.use('/api/countries', countriesRoutes); // Добавляем маршрут стран
app.use('/api/russian-classifiers', russianClassifiersRoutes); // Добавляем маршрут российских классификаторов
app.use('/api/ollama', strictLimiter, ollamaRoutes); // Строгий rate limiting для Ollama
diff --git a/backend/routes/ollama.js b/backend/routes/ollama.js
index ad73ce0..fccf404 100644
--- a/backend/routes/ollama.js
+++ b/backend/routes/ollama.js
@@ -23,6 +23,22 @@ const ollamaConfig = require('../services/ollamaConfig');
// Инициализируем один раз
const TIMEOUTS = ollamaConfig.getTimeouts();
+// Получение дефолтного base URL для Ollama (для настроек UI)
+router.get('/default-base-url', requireAuth, async (req, res) => {
+ try {
+ const defaultBaseUrl = ollamaConfig.getBaseUrl();
+ const fromEnv = !!process.env.OLLAMA_BASE_URL;
+ res.json({
+ baseUrl: defaultBaseUrl,
+ fromEnv, // флаг, что URL из переменной окружения
+ priority: fromEnv ? 'environment' : 'default'
+ });
+ } catch (error) {
+ logger.error('Error getting default base URL:', error);
+ res.status(500).json({ error: 'Failed to get default base URL' });
+ }
+});
+
// Проверка статуса подключения к Ollama
router.get('/status', requireAuth, async (req, res) => {
try {
diff --git a/backend/routes/settings.js b/backend/routes/settings.js
index fc0ef49..46c9ccb 100644
--- a/backend/routes/settings.js
+++ b/backend/routes/settings.js
@@ -812,6 +812,22 @@ router.get('/encryption-key/status', requireAdmin, async (req, res) => {
}
});
+// Получить содержимое ключа шифрования
+router.get('/encryption-key', requireAdmin, async (req, res) => {
+ try {
+ const encryptionUtils = require('../utils/encryptionUtils');
+ const encryptionKey = encryptionUtils.getEncryptionKey();
+
+ if (encryptionKey) {
+ res.json({ success: true, key: encryptionKey });
+ } else {
+ res.status(404).json({ success: false, message: 'Encryption key not found' });
+ }
+ } catch (error) {
+ logger.error('Ошибка получения ключа шифрования:', error);
+ res.status(500).json({ success: false, error: error.message });
+ }
+});
// Безопасная смена ключа шифрования с перешифровкой данных
router.post('/encryption-key/rotate', requireAdmin, async (req, res) => {
diff --git a/backend/services/ollamaConfig.js b/backend/services/ollamaConfig.js
index f283f22..096d24d 100644
--- a/backend/services/ollamaConfig.js
+++ b/backend/services/ollamaConfig.js
@@ -47,17 +47,30 @@ async function loadSettingsFromDb() {
}
}
+/**
+ * Внутренняя функция: определяет base URL из доступных источников
+ * Приоритет: кэш из БД > переменная окружения > Docker дефолт
+ * @returns {string} Базовый URL Ollama
+ */
+function _getBaseUrlFromSources() {
+ // Приоритет 1: кэш из БД
+ if (settingsCache && settingsCache.base_url) {
+ return settingsCache.base_url;
+ }
+ // Приоритет 2: переменная окружения
+ if (process.env.OLLAMA_BASE_URL) {
+ return process.env.OLLAMA_BASE_URL;
+ }
+ // Приоритет 3: Docker дефолт
+ return 'http://ollama:11434';
+}
+
/**
* Получает базовый URL для Ollama (синхронная версия)
* @returns {string} Базовый URL Ollama
*/
function getBaseUrl() {
- // Приоритет: кэш из БД > Docker дефолт
- if (settingsCache && settingsCache.base_url) {
- return settingsCache.base_url;
- }
- // URL по умолчанию для Docker
- return 'http://ollama:11434';
+ return _getBaseUrlFromSources();
}
/**
@@ -69,15 +82,11 @@ async function getBaseUrlAsync() {
if (!settingsCache) {
await loadSettingsFromDb();
}
-
- if (settingsCache && settingsCache.base_url) {
- return settingsCache.base_url;
- }
} catch (error) {
logger.warn('[ollamaConfig] Failed to load base_url from DB, using default');
}
- return 'http://ollama:11434';
+ return _getBaseUrlFromSources();
}
/**
diff --git a/docs/FAQ.md b/docs/FAQ.md
index f0331aa..06da924 100644
--- a/docs/FAQ.md
+++ b/docs/FAQ.md
@@ -975,6 +975,201 @@ curl -fsSL https://raw.githubusercontent.com/VC-HB3-Accelerator/DLE/main/setup-t
---
+## Вопросы по экономике и 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 для часто используемых данных
+- **Сжатие**: сжатие данных в базе
+
+**Рекомендации**:
+- Используйте фильтры для больших таблиц
+- Настройте архивирование старых данных
+- Регулярно очищайте неиспользуемые файлы
+- Мониторьте производительность
+
+---
+
## Дополнительные ресурсы
### Документация
diff --git a/frontend/src/components/Sidebar.vue b/frontend/src/components/Sidebar.vue
index 62423ae..7e7d8cd 100644
--- a/frontend/src/components/Sidebar.vue
+++ b/frontend/src/components/Sidebar.vue
@@ -141,12 +141,6 @@
2024-2025. Все права защищены.
-
- Контакты
-
-
- Сайт
-
GitHub
diff --git a/frontend/src/views/settings/AI/DatabaseSettingsView.vue b/frontend/src/views/settings/AI/DatabaseSettingsView.vue
index 7e60a44..b06cb08 100644
--- a/frontend/src/views/settings/AI/DatabaseSettingsView.vue
+++ b/frontend/src/views/settings/AI/DatabaseSettingsView.vue
@@ -141,12 +141,32 @@ const loadDbSettings = async () => {
const checkEncryptionKey = async () => {
try {
- const res = await api.get('/settings/encryption-key/status');
- console.log('Encryption key status response:', res.data);
- encryptionKeyState.exists = res.data.exists;
- encryptionKeyState.key = res.data.key; // Сохраняем ключ из API
+ // Сначала проверяем статус
+ const statusRes = await api.get('/settings/encryption-key/status');
+ console.log('Encryption key status response:', statusRes.data);
+ encryptionKeyState.exists = statusRes.data.exists;
console.log('encryptionKeyState.exists updated to:', encryptionKeyState.exists);
- console.log('encryptionKeyState.key updated to:', encryptionKeyState.key);
+
+ // Если ключ существует, загружаем его содержимое
+ if (encryptionKeyState.exists) {
+ try {
+ const keyRes = await api.get('/settings/encryption-key');
+ console.log('Encryption key response:', keyRes.data);
+ if (keyRes.data.success && keyRes.data.key) {
+ encryptionKeyState.key = keyRes.data.key;
+ console.log('encryptionKeyState.key loaded');
+ } else {
+ encryptionKeyState.key = null;
+ console.log('Key not returned in response');
+ }
+ } catch (keyError) {
+ console.error('Ошибка загрузки ключа шифрования:', keyError);
+ encryptionKeyState.key = null;
+ }
+ } else {
+ encryptionKeyState.key = null;
+ }
+
console.log('encryptionKeyState.exists type:', typeof encryptionKeyState.exists);
console.log('encryptionKeyState.exists === true:', encryptionKeyState.exists === true);
diff --git a/frontend/src/views/settings/AIProviderSettings.vue b/frontend/src/views/settings/AIProviderSettings.vue
index 692829b..69b2e2c 100644
--- a/frontend/src/views/settings/AIProviderSettings.vue
+++ b/frontend/src/views/settings/AIProviderSettings.vue
@@ -95,9 +95,27 @@ async function loadSettings() {
}
} else {
hasSettings.value = false;
+ // Для провайдеров без API ключа (например, Ollama) устанавливаем base URL по умолчанию
+ if (props.provider === 'ollama') {
+ await loadDefaultBaseUrl();
+ }
}
} catch (e) {
hasSettings.value = false;
+ // Для провайдеров без API ключа (например, Ollama) устанавливаем base URL по умолчанию
+ if (props.provider === 'ollama') {
+ await loadDefaultBaseUrl();
+ }
+ }
+}
+
+async function loadDefaultBaseUrl() {
+ try {
+ const { data } = await axios.get('/ollama/default-base-url');
+ baseUrl.value = data.baseUrl || props.baseUrlPlaceholder || '';
+ } catch (e) {
+ console.error('Error loading default base URL:', e);
+ baseUrl.value = props.baseUrlPlaceholder || '';
}
}
diff --git a/legal/AGREEMENT_DISTRIBUTION_RU.md b/legal/AGREEMENT_DISTRIBUTION_RU.md
new file mode 100644
index 0000000..89db9b6
--- /dev/null
+++ b/legal/AGREEMENT_DISTRIBUTION_RU.md
@@ -0,0 +1,192 @@
+# Договор о передаче права продажи лицензий и обслуживании (РФ)
+
+г. ____________________ «__» __________ 20__ г.
+
+## 1. Стороны
+
+1.1. Правообладатель: Тарабанов Александр Викторович (Автор), паспорт/ИНН, адрес, e-mail: info@hb3-accelerator.com.
+
+1.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). Остаток перечисляется Правообладателю в срок ____ банковских дней после отчетного периода.
+
+6.3.1. НДФЛ и иные обязательные платежи с выплат Автору (физическому лицу): Дистрибьютор является налоговым агентом, удерживает и перечисляет НДФЛ и иные обязательные платежи в соответствии с законодательством РФ. В случае невозможности удержания применяется механизм gross‑up: сумма выплаты увеличивается так, чтобы после удержаний Автор получил сумму, эквивалентную установленной по настоящему договору.
+
+6.4. Отчетность: ежемесячно до ___ числа Дистрибьютор направляет реестр проданных лицензий с указанием ID/хеша токена/кошелька, даты, тарифа, цены, контрагента, канала продажи. Правообладатель вправе запросить подтверждающие документы и доступ к записям смарт‑контракта для сверки.
+
+6.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 платежа), подтверждаемой публичными данными лицензированного банка/платежного провайдера/биржи (отчеты, скриншоты котировок, выписка). По запросу стороны согласуют конкретный источник котировок в дополнительном соглашении.
+
+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`.
+
+---
+
+Реквизиты и подписи
+
+Правообладатель: _____________________________ Дата: __.__.20__
+
+Дистрибьютор: _____________________________ Дата: __.__.20__
+
+---
+
+### Приложение 1. Порядок выдачи и учета токенов (лицензий)
+
+1) Выпуск и пул токенов: создается и ведется Правообладателем.
+
+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/ПРАВОВЫЕ_ДОКУМЕНТЫ_ЗАДАЧА.md b/legal/ПРАВОВЫЕ_ДОКУМЕНТЫ_ЗАДАЧА.md
new file mode 100644
index 0000000..09e4b5e
--- /dev/null
+++ b/legal/ПРАВОВЫЕ_ДОКУМЕНТЫ_ЗАДАЧА.md
@@ -0,0 +1,430 @@
+# 📋 ЗАДАЧА: Создание правовых документов для DLE
+
+## 🎯 Цель
+Создать полный комплект правовых документов для приложения Digital Legal Entity (DLE) в соответствии с российским законодательством 2025 года.
+
+## 📊 Анализ приложения DLE
+
+### 🏢 Информация о компании-операторе
+
+#### **ООО "ЭРАЙТИ"**
+- **Полное наименование:** ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "ЭРАЙТИ"
+- **Сокращенное наименование:** ООО "ЭРАЙТИ"
+- **ОГРН:** 1222600014383
+- **ИНН:** 2636220809
+- **КПП:** 263601001
+- **Дата регистрации:** 24.11.2022
+- **Юридический адрес:** 355007, СТАВРОПОЛЬСКИЙ КРАЙ, Г.О. ГОРОД СТАВРОПОЛЬ, Г СТАВРОПОЛЬ, УЛ БУРМИСТРОВА, Д. 65Б, ПОМЕЩ. 2
+- **Веб-приложение:** эрайти.рф
+- **Род деятельности:** Продавец лицензированного программного обеспечения
+- **Статус:** ООО "ЭРАЙТИ" является продавцом лицензий на ПО, автором которого является генеральный директор ООО "ЭРАЙТИ" (Тарабанов Александр Викторович)
+
+### 🔍 Собранные данные о приложении:
+
+#### **Тип приложения:**
+- Веб-приложение для автоматизированого управления продажами
+- AI-ассистент для автоматизации
+- веб приложение деплоится на рф сервере
+
+#### **Собираемые персональные данные:**
+
+**Оператор персональных данных:** ООО "ЭРАЙТИ"
+**Ответственное лицо:** Тарабанов Александр Викторович (генеральный директор)
+**Контактный телефон:** +7 (968) 269-92-64
+**Email для обращений:** 100@эрайти.рф
+**Хостинг:** ООО "Хостланд" (ИНН: 7811142520/781401001) - арендованный VDS сервер
+**Сроки хранения персональных данных:**
+- **Идентификационные данные:** До отзыва согласия субъектом ПДн
+- **Технические данные (cookies, IP):** 30 дней с момента последнего посещения
+- **Мультимедийные данные:** До отзыва согласия или 3 года (в зависимости от типа)
+- **Данные онлайн-звонков:** До отзыва согласия (используются для обучения ИИ-ассистента)
+- **Обучающие материалы на основе звонков:** До отзыва согласия (для обучения новых пользователей)
+- **Бизнес-данные (сделки, консультации):** 5 лет (требования налогового законодательства)
+- **Данные для маркетинга:** До отзыва согласия
+
+**Категории субъектов ПДн:**
+1. **Клиенты компании** - физические лица или представители компаний, обратившиеся за:
+ - Консультацией по веб-приложению
+ - Покупкой лицензии на веб-приложение
+ - Контактом через email: 100@эрайти.рф
+ - Контактом через Telegram бота
+
+**Особенности онлайн-обслуживания:**
+- **НЕ ТРЕБУЕТСЯ ФИО** покупателей
+- **НЕ ТРЕБУЕТСЯ** паспортные данные
+- **НЕ ТРЕБУЕТСЯ** адрес регистрации
+- **ТОЛЬКО адрес криптокошелька** для отправки токена лицензии
+- **Договор через интернет-оферту** (публичная оферта)
+
+**Цели обработки персональных данных:**
+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)
+- **Онлайн-коммуникации:** Видеозвонки и конференции
+- **Контакты:** 100@эрайти.рф, Telegram бот
+
+## 📝 Требуемые документы
+
+### 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 модели
+- ✅ Обработка данных для обучения ИИ
+- ✅ Анонимизация данных при обучении
+- ✅ Права субъектов в отношении ИИ-обработки
+- ✅ Технические меры защиты ИИ-системы
+- ✅ **ДОПОЛНИТЬ:** Согласие на использование для ИИ-обучения
+
+### 7. **Публичная оферта (интернет-оферта)** ✅ НОВЫЙ ДОКУМЕНТ
+- ✅ Условия покупки лицензий
+- ✅ Порядок оплаты (криптовалюта)
+- ✅ Порядок передачи токенов лицензии
+- ✅ Ответственность сторон
+- ✅ Порядок разрешения споров
+- ✅ **ДОПОЛНИТЬ:** Согласие на обработку ПДн в рамках оферты
+
+## 📊 ИТОГОВАЯ ОЦЕНКА СООТВЕТСТВИЯ 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
+- [ ] Валидация правовых формулировок
+
+## 🔧 Готовые компоненты системы
+
+### **Система шаблонов:**
+- `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. Уведомление Роскомнадзора (ОБЯЗАТЕЛЬНО!):**
+- ❌ **НЕ ПОДАНО** уведомление об обработке ПДн
+- ⚠️ **Штрафы:** до 75,000 руб. за неподачу уведомления
+- 📋 **Содержание уведомления:**
+ - Цели обработки ПДн
+ - Категории обрабатываемых ПДн
+ - Категории субъектов ПДн
+ - Сроки обработки ПДн
+ - Сведения о лицах, имеющих доступ к ПДн
+
+### **2. Локальные акты (ОБЯЗАТЕЛЬНО!):**
+- ❌ **Приказ о назначении ответственного** за обработку ПДн
+- ❌ **Положение об обработке ПДн** (локальный акт)
+- ❌ **Регламент обращений субъектов** ПДн
+- ❌ **Политика безопасности** персональных данных
+
+### **3. Технические меры защиты:**
+- ❌ **Аттестация ИСПДн** (если требуется)
+- ❌ **Акт классификации** информационной системы
+- ❌ **Модель угроз** безопасности ПДн
+- ❌ **План мероприятий** по обеспечению безопасности
+
+### **4. Документооборот:**
+- ❌ **Журнал учета** обращений субъектов ПДн
+- ❌ **Журнал учета** носителей ПДн
+- ❌ **Реестр операций** с ПДн
+- ❌ **Соглашения о конфиденциальности** с сотрудниками
+
+### **5. Обучение персонала:**
+- ❌ **Программа обучения** по защите ПДн
+- ❌ **Журнал инструктажей** по работе с ПДн
+- ❌ **Обязательства о неразглашении** ПДн
+
+## ⚠️ РЕКОМЕНДАЦИИ ПО ПРИОРИТЕТУ:
+
+### **НЕМЕДЛЕННО (до начала обработки ПДн):**
+1. **Подать уведомление** в Роскомнадзор
+2. **Создать приказ** о назначении ответственного
+3. **Разработать положение** об обработке ПДн
+
+### **В ТЕЧЕНИЕ 30 ДНЕЙ:**
+1. **Создать регламенты** обращений субъектов
+2. **Разработать политику** безопасности
+3. **Провести обучение** персонала
+
+### **В ТЕЧЕНИЕ 90 ДНЕЙ:**
+1. **Провести аттестацию** ИСПДн (если требуется)
+2. **Разработать модель** угроз
+3. **Создать план мероприятий** по безопасности
+
+## 🎯 Критерии успеха
+
+1. ✅ Полное соответствие российскому законодательству
+2. ✅ Понятность для пользователей
+3. ✅ Техническая интеграция в приложение
+4. ✅ Юридическая валидность
+5. ✅ Удобство использования
+
diff --git a/scripts/internal/db/db_init_helper.sh b/scripts/internal/db/db_init_helper.sh
index 67589e0..491d7dd 100755
--- a/scripts/internal/db/db_init_helper.sh
+++ b/scripts/internal/db/db_init_helper.sh
@@ -34,11 +34,13 @@ docker exec dapp-postgres psql -U dapp_user -d dapp_db -c "
INSERT INTO rpc_providers (network_id_encrypted, rpc_url_encrypted, chain_id)
VALUES
(encrypt_text('sepolia', '$ENCRYPTION_KEY'), encrypt_text('https://1rpc.io/sepolia', '$ENCRYPTION_KEY'), 11155111),
- (encrypt_text('holesky', '$ENCRYPTION_KEY'), encrypt_text('https://ethereum-holesky.publicnode.com', '$ENCRYPTION_KEY'), 17000)
+ (encrypt_text('arbitrum-sepolia', '$ENCRYPTION_KEY'), encrypt_text('https://sepolia-rollup.arbitrum.io/rpc', '$ENCRYPTION_KEY'), 421614),
+ (encrypt_text('base-sepolia', '$ENCRYPTION_KEY'), encrypt_text('https://sepolia.base.org', '$ENCRYPTION_KEY'), 84532)
ON CONFLICT DO NOTHING;"
docker exec dapp-postgres psql -U dapp_user -d dapp_db -c "
INSERT INTO auth_tokens (name_encrypted, address_encrypted, network_encrypted, min_balance, readonly_threshold, editor_threshold)
VALUES
- (encrypt_text('DLE', '$ENCRYPTION_KEY'), encrypt_text('0x2F2F070AA10bD3Ea14949b9953E2040a05421B17', '$ENCRYPTION_KEY'), encrypt_text('holesky', '$ENCRYPTION_KEY'), 1.000000000000000000, 1, 1),
- (encrypt_text('DLE', '$ENCRYPTION_KEY'), encrypt_text('0x2F2F070AA10bD3Ea14949b9953E2040a05421B17', '$ENCRYPTION_KEY'), encrypt_text('sepolia', '$ENCRYPTION_KEY'), 1.000000000000000000, 1, 1)
+ (encrypt_text('DLE', '$ENCRYPTION_KEY'), encrypt_text('0xdD27a91692da59d1Ee7dD1Fb342B9f1B5FF29386', '$ENCRYPTION_KEY'), encrypt_text('sepolia', '$ENCRYPTION_KEY'), 1.000000000000000000, 1, 1),
+ (encrypt_text('DLE', '$ENCRYPTION_KEY'), encrypt_text('0xdD27a91692da59d1Ee7dD1Fb342B9f1B5FF29386', '$ENCRYPTION_KEY'), encrypt_text('arbitrum-sepolia', '$ENCRYPTION_KEY'), 1.000000000000000000, 1, 1),
+ (encrypt_text('DLE', '$ENCRYPTION_KEY'), encrypt_text('0xdD27a91692da59d1Ee7dD1Fb342B9f1B5FF29386', '$ENCRYPTION_KEY'), encrypt_text('base-sepolia', '$ENCRYPTION_KEY'), 1.000000000000000000, 1, 1)
ON CONFLICT DO NOTHING;"