Мульти-тенантность ROX.ONE сейчас работает за feature-флагом, но не все части системы соблюдают границы рабочих пространств. Эта работа закрывает уязвимые места и делает изоляцию надёжной как для личного использования, так и для корпоративных развёртываний.
Главная угроза — scope forgery: вредоносный subprocess мог бы передать WorkspaceScope, который ему не принадлежит. Мы устраняем это через номинальный тип BrandedWorkspaceScope с Symbol-брендом — случайный `as WorkspaceScope` не пройдёт проверку типов, а попытка подделки в runtime выбросит явную ошибку с полным контекстом для диагностики. Все ~30 мест в коде, которые сейчас обращаются к файловой системе напрямую, будут мигрированы через единую функцию с проверкой scope. Credentials отдельных рабочих пространств будут изолированы через HKDF-деривацию — утечка одного master key не скомпрометирует другие workspace. RBAC policy engine со scope-гранулярностью workspace/org/global завершит картину. OAuth для пяти провайдеров (Anthropic, Google, Slack, Microsoft, Pi) с автоматическим refresh-токеном даст удобную аутентификацию без хранения паролей в plaintext.
**Ключевые истории:**
- BrandedWorkspaceScope номинальный тип + runtime brand-check с BrandedScopeBreachError
- Единая функция resolveConfigDir с миграцией всех callers через codemod
- Pi IPC integrity-token: one-time token для защиты subprocess от scope forgery
- CredentialManager с HKDF-изоляцией per-workspace и zero-knowledge архитектурой
- RBAC policy engine с RoleStore/GrantStore и audit emit на каждое нарушение
**Источники вдохновения:**
- [wasp-lang/open-saas](https://github.com/wasp-lang/open-saas) — fullstack SaaS с multi-tenant auth
- [anomalyco/openauth](https://github.com/anomalyco/openauth) — открытый OAuth-сервер с provider-абстракцией
- [trailbaseio/trailbase](https://github.com/trailbaseio/trailbase) — Rust backend с row-level security
**Ожидаемая ценность:** Командные и корпоративные инсталляции ROX.ONE получат надёжную изоляцию данных между рабочими пространствами, управление доступом на уровне ролей и аудируемую историю операций без дополнительной инфраструктуры.