3.2 KiB
3.2 KiB
Service Catalog UX Rules
Актуализировано: 2026-05-12.
Этот документ фиксирует обязательное правило Launcher-витрины NODE.DC.
Главное правило
Все authenticated users видят карточки всех сервисов, добавленных в каталог Launcher, независимо от текущего app access.
Видимость карточки сервиса не означает право запуска сервиса.
Зачем это нужно
Launcher — это не только access gate, но и витрина платформы. Пользователь должен видеть, какие приложения существуют в NODE.DC, даже если доступ к конкретному приложению ещё не выдан.
Это нужно для:
- демонстрации состава платформы;
- ручного запроса доступа;
- будущих тарифов и paid access;
- понимания, какие модули доступны в экосистеме.
Как должен работать UI
Для сервиса без доступа:
- карточка сервиса остаётся видимой в нижней/сервисной панели;
- описание, медиа и карточка доступны для чтения;
- статус/chip показывает отсутствие доступа;
- кнопка открытия сервиса disabled или ведёт в controlled request/access flow;
- прямой запуск через
/api/services/:serviceSlug/launchобязан возвращать deny.
Для сервиса с доступом:
- карточка сервиса видима;
- кнопка открытия активна;
- launch идёт только через Launcher BFF, а не прямым trust из UI.
Realtime правило
Изменение доступа должно обновлять состояние карточки без hard refresh:
- выдали доступ — кнопка открытия становится активной;
- сняли доступ — карточка остаётся видимой, но кнопка открытия выключается;
- direct launch после снятия доступа остаётся запрещённым server-side.
Нельзя чинить безопасность через скрытие карточек. Безопасность обеспечивается server-side launch deny, Tasker middleware и internal access enforcement.
Что запрещено
- Фильтровать
/api/appsтолько до доступных пользователю приложений, если это ломает витрину. - Убирать карточку сервиса из UI только потому, что у пользователя нет app access.
- Считать скрытие карточки security control.
- Ломать realtime-переключение кнопки
Открытьпри approve/revoke доступа.