Перейти к содержанию

Ролевая модель SAGA

Статус: Проект (доработано по комментариям от 2026-03-06)
Дата: 2026-03-04, обновлено 2026-03-20
Контекст: Разделение ролей разработки, продукта, клиентских данных и финансовых операций

Участники и зоны ответственности

Человек Зона Роль
Alexandr Cherepanov Разработка (сейчас все роли) developer
Vladimir Osipov Продукт и менеджмент product_manager
Alina Avdienko Продукт и менеджмент product_manager
Denis Strizhkov Поиск инвестиционных стратегий strategy_analyst
Maria Potapneva Бэк-офис инвестирования, крипто-портфель investment_operator
Yuri Novik Инфраструктура, аудит доступа (отложено) auditor

Предлагаемые роли

1. super_admin — Владелец платформы

Кто: Назначается индивидуально (сейчас — Alexandr)
Принцип: Полный доступ ко всему. Используется только для критических операций.

Примечание: Разработчик-соло неизбежно имеет доступ к prod-окружению для экстренных исправлений. Ограничение на уровне postgres-таблиц избыточно и мешает разработке. Экстренный доступ логируется и анализируется на корректность.

2. product_manager — Продукт и аналитика

Кто: Vladimir, Alina
Принцип: Видит всё, но не может менять финансы и выполнять операции с деньгами.

3. investment_operator — Оператор инвестиций

Кто: Maria (+ потенциально нанятый оператор)
Принцип: Реагирует на уведомления от платформы (депозиты, запросы на вывод). Не имеет доступа к данным пользователей — все финансовые операции обезличены. Также имеет доступ к аналитике доходности и стратегиям.

Рабочий процесс:

  1. Депозит: от Saga приходит уведомление о поступлении средств в Crypto2b (без указания пользователя). Оператор решает, когда забрать средства в пул.
  2. Вывод: от Saga приходит верифицированный запрос на вывод с адресом кошелька (без данных пользователя, см. SI-109). Оператор решает источник средств (из депозитов или из vault) и исполняет.
  3. Saga не управляет средствами — только отслеживает и сигнализирует.

4. strategy_analyst — Аналитик стратегий

Кто: Denis
Принцип: Доступ к аналитике доходности, стратегиям, vault-снимкам. Без доступа к персональным данным пользователей.

5. developer — Разработчик

Кто: Alexandr (в роли разработчика), другие разработчики
Принцип: Доступ к системной информации, health-мониторингу, тестовым данным. Без доступа к реальным клиентским данным и финансовым операциям.

6. auditor — Аудитор (отложено)

Кто: Yuri (потенциально)
Принцип: Read-only доступ ко всему для аудита и безопасности.

Статус: Отложена. Мониторинг и алерты на подозрительные операции сейчас в контуре Fordefi. Роль актуальна при внедрении автоматизации аудита на стороне Saga.

Матрица доступов

Легенда

  • ✅ Полный доступ (чтение + запись)
  • 👁 Только чтение
  • 🔒 Обезличенные данные (без email/имён)
  • ❌ Нет доступа

Примечание по investment_operator: все данные оператора обезличены — без email/имён пользователей, только суммы, статусы, адреса кошельков. Операции инициируются через уведомления от платформы, а не ручным поиском.

Управление пользователями

Возможность Супер-админ Продукт Оператор Аналитик Разработчик Аудитор
Список пользователей (с email) 👁 👁
Детали пользователя 👁 👁
Кошельки пользователя 👁
Блокировка / разблокировка
Создание пользователя
Удаление тестовых данных

Блокировка: применяется при неудачном AML-скоринге (Crypto2b проверяет крипту с настраиваемым порогом толерантности к риску). Перед блокировкой средства возвращаются пользователю (юридическое требование). Только super_admin.

Инвестиции

Возможность Супер-админ Продукт Оператор Аналитик Разработчик Аудитор
Список инвестиций 👁 👁🔒 👁🔒 👁
Одобрение / отклонение
Массовое одобрение
Закрытие инвестиции
Создание инвестиции
Очередь на одобрение 👁 👁
Стратегии (просмотр) 👁 👁 👁 👁
Стратегии (настройка APY)

Депозиты

Возможность Супер-админ Продукт Оператор Аналитик Разработчик Аудитор
Статистика депозитов 👁 👁 👁🔒 👁
Список депозитов 👁 👁🔒 👁
Депозиты пользователя 👁
Создание тест-депозита ✅¹
Создание ручного депозита
Обновление статуса

¹ — только для тестовых пользователей (@saga-test.local)

Выводы средств (withdrawals)

Возможность Супер-админ Продукт Оператор Аналитик Разработчик Аудитор
Список выводов 👁 👁🔒 👁
Ожидающие выводы 👁 👁🔒 👁
Одобрение вывода
Отклонение вывода
Взятие в работу (process/take)
Завершение с txHash (complete)
Массовое взятие в работу
Синхронизация статусов
Ручное изменение статуса

Транзакции и аудит

Возможность Супер-админ Продукт Оператор Аналитик Разработчик Аудитор
Журнал транзакций 👁 👁🔒 👁🔒 👁
Детали транзакции 👁 👁🔒 👁
Экспорт CSV 👁 👁
Создание транзакции
Подтверждение с txHash
Генерация трансферов
Исполнение трансферов

Vault-снимки и доходность

Возможность Супер-админ Продукт Оператор Аналитик Разработчик Аудитор
Список снимков 👁 👁 👁 👁
Создание снимка
Редактирование снимка
Удаление снимка
Отчёт о прибыли платформы 👁 👁 👁 👁
История прибыли (графики) 👁 👁 👁 👁

Перемещения средств (fund transfers)

Возможность Супер-админ Продукт Оператор Аналитик Разработчик Аудитор
Журнал перемещений 👁 👁 👁
Создание записи
Редактирование записи
Удаление записи
Итоги по локациям 👁 👁 👁

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

Дашборд и аналитика

Возможность Супер-админ Продукт Оператор Аналитик Разработчик Аудитор
Дашборд (общий) 👁 👁🔒 👁
Метрики системы 👁 👁 👁
Аналитика (пользователи, инвестиции) 👁 👁🔒 👁🔒 👁
Финансовый отчёт системы 👁 👁 👁
Статистика (admin stats) 👁 👁

Системное администрирование

Возможность Супер-админ Продукт Оператор Аналитик Разработчик Аудитор
Health-мониторинг зависимостей 👁 👁
Сброс статуса зависимости
Crypto2B балансы 👁 👁
Сессии (просмотр/отзыв) 👁
Аудит-лог действий админов 👁

Бэк-офис (blockchain monitoring)

Возможность Супер-админ Продукт Оператор Аналитик Разработчик Аудитор
Транзакции блокчейна 👁 👁 👁
Классификация транзакций
Синхронизация с блокчейном
Статистика бэк-офиса 👁 👁 👁 👁

Примечание: backoffice-app — отдельное приложение с собственной системой прав, независимой от admin-app.

Принципы разделения

1. Разработка ≠ клиентские данные

Разработчик (developer) НЕ видит:

  • Email реальных пользователей
  • Балансы и суммы инвестиций
  • Адреса кошельков
  • Историю транзакций

Разработчик ВИДИТ:

  • Health-мониторинг системы
  • Метрики (агрегированные, без PII)
  • Тестовые данные (@saga-test.local)

2. Продукт ≠ финансовые операции

Product manager (product_manager) НЕ может:

  • Одобрять/отклонять инвестиции и выводы
  • Создавать депозиты/транзакции
  • Выполнять блокчейн-операции
  • Блокировать пользователей

Product manager МОЖЕТ:

  • Видеть всю аналитику и статистику
  • Видеть данные пользователей (read-only)
  • Видеть очереди на одобрение
  • Экспортировать отчёты

3. Оператор = обезличенные финансовые операции

Investment operator (investment_operator) работает через уведомления от платформы.

НЕ имеет доступа к:

  • Данным пользователей (email, имена, профили)
  • Конфигурации стратегий (APY, лимиты)
  • Блокировке пользователей
  • Управлению сессиями
  • Удалению vault-снимков и fund transfers

МОЖЕТ:

  • Реагировать на верифицированные запросы от Saga (депозиты, выводы)
  • Выполнять крипто-операции (process → complete с txHash)
  • Создавать vault-снимки
  • Добавлять ручные записи и комментарии в журнал перемещений
  • Просматривать аналитику доходности и стратегий

4. Аналитик стратегий = только метрики доходности

Strategy analyst (strategy_analyst) видит:

  • Доходность стратегий, vault-снимки, прибыль платформы
  • Обезличенную статистику инвестиций
  • Транзакции блокчейна (для анализа стратегий)

5. Аудитор = read-only ко всему (отложено)

Auditor (auditor) видит всё, но не может ничего менять. Включая аудит-лог действий других администраторов.
Роль отложена — мониторинг сейчас в контуре Fordefi. Актуальна при автоматизации аудита на стороне Saga.

Текущее состояние vs целевое

Сейчас (MVP)

  • 2 роли: super_admin (всё) и admin (почти всё)
  • Все админы видят всё и могут всё
  • Разработка = клиентские данные = финансы (один человек)

Целевое (после обсуждения)

  • 6 ролей с чётким разделением
  • Принцип наименьших привилегий
  • Аудит всех действий
  • Обезличенные данные для ролей без необходимости PII

Решения по обсуждению (2026-03-06)

  1. Двойной контроль выводов: Верификация выполняется на бэкенде Saga (SI-109 — защита от несанкционированного вывода). Оператор получает уже проверенные запросы. Дополнительное подтверждение super_admin не требуется.
  2. Лимиты оператора: Лимиты управляются на стороне DeFi-контура (Fordefi). Собственные политики одобрения стратегий + обязательная +1 подпись на операции. Не дублировать в ролевой модели Saga.
  3. Product manager и блокировка: Блокировка — только super_admin. Основание — неудачный AML-скоринг в Crypto2b (настраиваемый порог толерантности к риску). Перед блокировкой средства возвращаются пользователю (юридическое требование).
  4. Доступ к prod-базе (auditor): Отложено. Мониторинг подозрительных операций сейчас полностью в контуре Fordefi. Роль auditor актуальна при внедрении автоматизации на стороне Saga.
  5. Отдельная роль crypto_operator: Не нужна. Переводы через near intents работают надёжно и безопасно.
  6. Бэк-офис приложение: backoffice-app — отдельное приложение с собственной системой прав, независимой от admin-app.