feat: новая функция
This commit is contained in:
@@ -185,7 +185,7 @@ const isProduction = process.env.NODE_ENV === 'production';
|
|||||||
// Rate limiting
|
// Rate limiting
|
||||||
const limiter = rateLimit({
|
const limiter = rateLimit({
|
||||||
windowMs: 15 * 60 * 1000, // 15 минут
|
windowMs: 15 * 60 * 1000, // 15 минут
|
||||||
max: isProduction ? 100 : 2000, // 100 запросов в продакшне, 2000 в dev
|
max: isProduction ? 1000 : 10000, // 1000 запросов в продакшне, 10000 в dev
|
||||||
message: {
|
message: {
|
||||||
error: 'Слишком много запросов, попробуйте позже',
|
error: 'Слишком много запросов, попробуйте позже',
|
||||||
retryAfter: '15 минут'
|
retryAfter: '15 минут'
|
||||||
@@ -201,7 +201,7 @@ const limiter = rateLimit({
|
|||||||
// Строгий rate limiting для чувствительных эндпоинтов
|
// Строгий rate limiting для чувствительных эндпоинтов
|
||||||
const strictLimiter = rateLimit({
|
const strictLimiter = rateLimit({
|
||||||
windowMs: 15 * 60 * 1000, // 15 минут
|
windowMs: 15 * 60 * 1000, // 15 минут
|
||||||
max: isProduction ? 10 : 100, // 10 попыток в продакшне, 100 в разработке
|
max: isProduction ? 100 : 400, // 100 попыток в продакшне, 400 в разработке
|
||||||
message: {
|
message: {
|
||||||
error: 'Превышен лимит попыток, попробуйте позже',
|
error: 'Превышен лимит попыток, попробуйте позже',
|
||||||
retryAfter: '15 минут'
|
retryAfter: '15 минут'
|
||||||
@@ -211,6 +211,19 @@ const strictLimiter = rateLimit({
|
|||||||
trustProxy: true, // Доверяем nginx proxy
|
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)
|
// Статическая раздача загруженных файлов (для dev и prod)
|
||||||
app.use('/uploads', express.static(path.join(__dirname, 'uploads')));
|
app.use('/uploads', express.static(path.join(__dirname, 'uploads')));
|
||||||
app.use('/api/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/geocoding', geocodingRoutes); // Добавленное использование роута
|
||||||
|
|
||||||
app.use('/api/dle-v2', dleV2Routes); // Добавляем маршрут DLE v2
|
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/countries', countriesRoutes); // Добавляем маршрут стран
|
||||||
app.use('/api/russian-classifiers', russianClassifiersRoutes); // Добавляем маршрут российских классификаторов
|
app.use('/api/russian-classifiers', russianClassifiersRoutes); // Добавляем маршрут российских классификаторов
|
||||||
app.use('/api/ollama', strictLimiter, ollamaRoutes); // Строгий rate limiting для Ollama
|
app.use('/api/ollama', strictLimiter, ollamaRoutes); // Строгий rate limiting для Ollama
|
||||||
|
|||||||
@@ -23,6 +23,22 @@ const ollamaConfig = require('../services/ollamaConfig');
|
|||||||
// Инициализируем один раз
|
// Инициализируем один раз
|
||||||
const TIMEOUTS = ollamaConfig.getTimeouts();
|
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
|
// Проверка статуса подключения к Ollama
|
||||||
router.get('/status', requireAuth, async (req, res) => {
|
router.get('/status', requireAuth, async (req, res) => {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -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) => {
|
router.post('/encryption-key/rotate', requireAdmin, async (req, res) => {
|
||||||
|
|||||||
@@ -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 (синхронная версия)
|
* Получает базовый URL для Ollama (синхронная версия)
|
||||||
* @returns {string} Базовый URL Ollama
|
* @returns {string} Базовый URL Ollama
|
||||||
*/
|
*/
|
||||||
function getBaseUrl() {
|
function getBaseUrl() {
|
||||||
// Приоритет: кэш из БД > Docker дефолт
|
return _getBaseUrlFromSources();
|
||||||
if (settingsCache && settingsCache.base_url) {
|
|
||||||
return settingsCache.base_url;
|
|
||||||
}
|
|
||||||
// URL по умолчанию для Docker
|
|
||||||
return 'http://ollama:11434';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -69,15 +82,11 @@ async function getBaseUrlAsync() {
|
|||||||
if (!settingsCache) {
|
if (!settingsCache) {
|
||||||
await loadSettingsFromDb();
|
await loadSettingsFromDb();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settingsCache && settingsCache.base_url) {
|
|
||||||
return settingsCache.base_url;
|
|
||||||
}
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.warn('[ollamaConfig] Failed to load base_url from DB, using default');
|
logger.warn('[ollamaConfig] Failed to load base_url from DB, using default');
|
||||||
}
|
}
|
||||||
|
|
||||||
return 'http://ollama:11434';
|
return _getBaseUrlFromSources();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
195
docs/FAQ.md
195
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 для часто используемых данных
|
||||||
|
- **Сжатие**: сжатие данных в базе
|
||||||
|
|
||||||
|
**Рекомендации**:
|
||||||
|
- Используйте фильтры для больших таблиц
|
||||||
|
- Настройте архивирование старых данных
|
||||||
|
- Регулярно очищайте неиспользуемые файлы
|
||||||
|
- Мониторьте производительность
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Дополнительные ресурсы
|
## Дополнительные ресурсы
|
||||||
|
|
||||||
### Документация
|
### Документация
|
||||||
|
|||||||
@@ -141,12 +141,6 @@
|
|||||||
2024-2025. Все права защищены.
|
2024-2025. Все права защищены.
|
||||||
</p>
|
</p>
|
||||||
<div class="copyright-links">
|
<div class="copyright-links">
|
||||||
<a href="mailto:info@hb3-accelerator.com" class="copyright-link" title="Связаться с автором">
|
|
||||||
Контакты
|
|
||||||
</a>
|
|
||||||
<a href="https://hb3-accelerator.com" target="_blank" class="copyright-link" title="Официальный сайт">
|
|
||||||
Сайт
|
|
||||||
</a>
|
|
||||||
<a href="https://github.com/HB3-ACCELERATOR" target="_blank" class="copyright-link" title="GitHub">
|
<a href="https://github.com/HB3-ACCELERATOR" target="_blank" class="copyright-link" title="GitHub">
|
||||||
GitHub
|
GitHub
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -141,12 +141,32 @@ const loadDbSettings = async () => {
|
|||||||
|
|
||||||
const checkEncryptionKey = async () => {
|
const checkEncryptionKey = async () => {
|
||||||
try {
|
try {
|
||||||
const res = await api.get('/settings/encryption-key/status');
|
// Сначала проверяем статус
|
||||||
console.log('Encryption key status response:', res.data);
|
const statusRes = await api.get('/settings/encryption-key/status');
|
||||||
encryptionKeyState.exists = res.data.exists;
|
console.log('Encryption key status response:', statusRes.data);
|
||||||
encryptionKeyState.key = res.data.key; // Сохраняем ключ из API
|
encryptionKeyState.exists = statusRes.data.exists;
|
||||||
console.log('encryptionKeyState.exists updated to:', encryptionKeyState.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 type:', typeof encryptionKeyState.exists);
|
||||||
console.log('encryptionKeyState.exists === true:', encryptionKeyState.exists === true);
|
console.log('encryptionKeyState.exists === true:', encryptionKeyState.exists === true);
|
||||||
|
|
||||||
|
|||||||
@@ -95,9 +95,27 @@ async function loadSettings() {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
hasSettings.value = false;
|
hasSettings.value = false;
|
||||||
|
// Для провайдеров без API ключа (например, Ollama) устанавливаем base URL по умолчанию
|
||||||
|
if (props.provider === 'ollama') {
|
||||||
|
await loadDefaultBaseUrl();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
hasSettings.value = false;
|
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 || '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
192
legal/AGREEMENT_DISTRIBUTION_RU.md
Normal file
192
legal/AGREEMENT_DISTRIBUTION_RU.md
Normal file
@@ -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`.
|
||||||
|
|
||||||
|
|
||||||
430
legal/ПРАВОВЫЕ_ДОКУМЕНТЫ_ЗАДАЧА.md
Normal file
430
legal/ПРАВОВЫЕ_ДОКУМЕНТЫ_ЗАДАЧА.md
Normal file
@@ -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. ✅ Удобство использования
|
||||||
|
|
||||||
@@ -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)
|
INSERT INTO rpc_providers (network_id_encrypted, rpc_url_encrypted, chain_id)
|
||||||
VALUES
|
VALUES
|
||||||
(encrypt_text('sepolia', '$ENCRYPTION_KEY'), encrypt_text('https://1rpc.io/sepolia', '$ENCRYPTION_KEY'), 11155111),
|
(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;"
|
ON CONFLICT DO NOTHING;"
|
||||||
docker exec dapp-postgres psql -U dapp_user -d dapp_db -c "
|
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)
|
INSERT INTO auth_tokens (name_encrypted, address_encrypted, network_encrypted, min_balance, readonly_threshold, editor_threshold)
|
||||||
VALUES
|
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('0xdD27a91692da59d1Ee7dD1Fb342B9f1B5FF29386', '$ENCRYPTION_KEY'), encrypt_text('sepolia', '$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('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;"
|
ON CONFLICT DO NOTHING;"
|
||||||
|
|||||||
Reference in New Issue
Block a user