
Корпоративный мессенджер обычно работает внутри управляемого контура: ИТ управляет доступом, информационная безопасность — политиками и потоками данных. Но проектные команды редко совпадают с юридическими границами компании. Сотрудникам нужно постоянно общаться с подрядчиками, партнерами и коллегами из дочерних обществ — и желательно не переносить рабочий контекст в публичные сервисы.
В ноябре 2025 года мы выпустили федерацию VK WorkSpace для двух On-Premise-инсталляций. В релизе 26.2, вышедшем в июле 2026 года, сняли ограничение на парное взаимодействие: теперь в одном чате могут работать участники из нескольких независимых контуров. В статье разберем, как устроена модель доверия, почему мы выбрали репликацию данных на стороне каждой организации, что пришлось изменить в клиентских приложениях и какие ограничения у решения остаются.
Меня зовут Андрей Ковайкин, я старший менеджер продукта направления Мессенджер в команде VK WorkSpace. Мы развиваем единый контур корпоративных коммуникаций, а федерация решает его внешний сценарий: позволяет организациям общаться между собой, не объединяя инфраструктуру, администрирование и политики безопасности.
Что такое федерация и как устроен доступ
Федерация связывает независимые инсталляции так, что каждая сохраняет собственные серверы, базу данных, администрирование и политики безопасности, но может обмениваться разрешенными сообщениями, файлами и событиями с другими участниками.
Доступ строится на двух уровнях:
Траст между инсталляциями. Одна сторона отправляет приглашение, вторая подтверждает связь.
Допуск пользователей. Администратор каждой стороны определяет сотрудников, которым разрешена внешняя коммуникация в рамках конкретного траста.
Одна инсталляция может установить отдельные трасты с несколькими дочерними обществами, подрядчиками и партнерами. Права выдаются для каждого такого отношения отдельно.
Только допущенные пользователи видят разрешенных сотрудников другой организации, могут начинать с ними диалоги и участвовать в групповых чатах. Полный корпоративный справочник между инсталляциями не реплицируется: в текущей реализации передается минимально необходимая карточка внешнего пользователя — ФИО, рабочий email и признак другой организации.
Такая модель дает каждой компании два независимых рычага контроля: с какими организациями устанавливать доверие и каким сотрудникам разрешать внешнюю коммуникацию. Траст или персональный допуск можно отозвать; уже полученная история при этом остается в локальном контуре.
Федерация, мультидоменность и гостевой доступ решают разные задачи:
Сценарий |
Границы управления |
Основной случай использования |
Федерация |
Независимые инсталляции и администраторы; взаимный траст и локальные права |
Постоянные рабочие чаты между компаниями или независимыми контурами |
Мультидоменность |
Один тенант и единая модель администрирования |
Несколько доменов одной организации или холдинга в общем контуре |
Гостевой доступ |
Нет постоянного траста между инсталляциями |
Подключение внешнего участника к конкретной встрече, чату по ссылке |
Какую архитектуру выбрать
Для такого сценария можно использовать как минимум три архитектурных подхода.
Первый — хранить сообщения и файлы только в одной, «хостовой» инсталляции, а пользователям остальных контуров давать к ним доступ через прокси. Схема экономит место, но создает зависимость от владельца данных: при разрыве траста или недоступности хостовой стороны остальные участники теряют доступ к истории. Для архитектуры Мессенджера VK WorkSpace такой вариант также потребовал бы сложной модели удаленного доступа.
Второй — внедрить открытый федеративный протокол, например Matrix. В Matrix события комнаты реплицируются между homeserver-ами, пользователи которых участвуют в этой комнате, через Server-Server API; единого сервера-владельца у комнаты нет. Открытая спецификация упрощает межвендорную совместимость, но для зрелой платформы означает необходимость сопоставить существующие сущности, права, политики и API с другой моделью данных. Для VK WorkSpace это потребовало бы глубокой переработки мессенджера и миграции уже работающих сценариев.
Справочно: официальная спецификация Matrix
Третий — реплицировать федеративные сущности на прикладном уровне. В каждом контуре внешний пользователь и общий чат получают локальное представление. Когда пользователь создает чат, добавляет участника или отправляет сообщение, федеративный слой перехватывает операцию и воспроизводит ее в других доверенных инсталляциях. В результате сообщения, файлы и настройки конкретного федеративного чата существуют в каждом участвующем контуре.
Речь не о копировании всей базы данных или корпоративного справочника, а только о репликации объектов и событий, относящихся к разрешенным федеративным чатам.
Почему мы выбрали локальную репликацию
Данные остаются у обеих организаций. Каждая сторона хранит локальную копию доступной ей истории переписки и файлов; разрыв траста не удаляет уже полученные данные.
Свой контур — свои политики. Каждая компания применяет к локальной копии собственные правила DLP, аудита, хранения и резервного копирования; контроль не делегируется партнеру.
Нет пользовательской сессии в чужом контуре. Клиент внешнего сотрудника работает со своей инсталляцией, а между доверенными федеративными сервисами передаются разрешенные сообщения, файлы и события.
Справочник не реплицируется целиком. Разрешенным сотрудникам доступна только карточка внешнего пользователя, необходимая для коммуникации.
Управляемый доступ. Администратор выдает и отзывает права на внешнюю коммуникацию отдельно для каждого траста и пользователя.
Локальная доступность истории. При временной недоступности партнерской инсталляции уже синхронизированная переписка остается доступной; обмен новыми событиями зависит от доступности федеративного канала.
Для разработки важным преимуществом стала изоляция федеративного слоя от ядра мессенджера. Основная бизнес-логика продолжает выполняться внутри Мессенджера VK WorkSpace, а отдельный модуль отвечает за обнаружение федеративных операций, их передачу и обогащение ответов. Это уменьшает объем изменений в ядре, хотя каждый новый пользовательский сценарий все равно требует проверки совместимости с федерацией.
Протокол федеративного взаимодействия мы реализовали самостоятельно и адаптировали к модели данных и релизному циклу VK WorkSpace. Собственный протокол не является преимуществом сам по себе: вместе с контролем над развитием мы берем на себя поддержку совместимости версий и не получаем автоматической совместимости с другими мессенджерами. Для нашей существующей архитектуры такой компромисс оказался приемлемым.
От первого релиза к нескольким контурам
Федеративные шлюзы двух инсталляций соединяются через выделенный порт, устанавливают траст и обмениваются идентификаторами пользователей, которым администраторы разрешили внешнюю коммуникацию. Пользовательские клиенты при этом продолжают работать только со своей инсталляцией.
После установления связи допущенные сотрудники видят внешних пользователей в интерфейсе Супераппа VK WorkSpace. Возможности федеративного режима расширялись поэтапно.
В пилотной версии, выпущенной в ноябре 2025 года, можно было:
искать разрешенных внешних пользователей;
создавать с ними диалоги, групповые чаты и каналы;
отправлять, удалять, редактировать и пересылать сообщения.
При этом функциональная паритетность была неполной: нельзя было управлять частью настроек чата, передавать права администратора, закреплять сообщения, отправлять реакции и вступать в группу по ссылке.
Что добавили после пилота
После пилота мы последовательно сокращали разницу между обычными и федеративными чатами.
В следующих релизах мы:
синхронизировали аватары групповых чатов и каналов;
поддержали доступные федеративные публичные чаты и поиск по ним;
синхронизировали настройки чатов;
добавили передачу прав администратора;
синхронизировали треды, закрепленные сообщения, реакции, стикеры и файлы.
В результате набор возможностей федеративного чата приблизился к обычному, хотя полная функциональная паритетность пока не достигнута.
Главным архитектурным ограничением первой версии оставалась связь только двух инсталляций. Для пары компаний-партнеров этого достаточно, но, например, холдингам с отдельными контурами разных юридических лиц или геораспределенной организации нужны многоконтурные чаты.
В июле 2026 года, в релизе 26.2, мы сняли ограничение на парное взаимодействие. Теперь один групповой чат может объединять пользователей из нескольких независимых On-Premise-контуров. Логика доступа не изменилась: каждая инсталляция самостоятельно определяет свои трасты и список сотрудников с правом внешней коммуникации.
Сценарий особенно полезен для холдингов и консорциумов. Теперь вся проектная коммуникация ведется в одном чате, а данные сохраняются в каждом задействованном контуре.
Как обмен работает «под капотом»
Клиентские приложения не подключаются напрямую к чужой инсталляции. Весь обмен проходит через собственный мессенджер и федеративный слой.
Когда пользователь отправляет сообщение внешнему сотруднику или в многоконтурный чат, происходит следующая последовательность:
Клиент отправляет запрос в свою инсталляцию обычным способом; ядро мессенджера выполняет локальную операцию.
Промежуточный сервис определяет, что пользователь или чат относится к федерации, подготавливает операцию и через федеративный шлюз передает ее во все задействованные доверенные инсталляции.
На принимающей стороне федеративный слой проверяет связь с трастом и выполняет операцию через локальный API мессенджера от имени локального представления внешнего пользователя.
В каждой инсталляции сохраняется собственная копия сообщения, файла или события чата.
Упрощенная схема обмена:
Контур A |
Федеративный слой |
Контур B |
Клиент → Мессенджер → локальная копия данных |
Сервис-посредник → шлюз ⇄ шлюз → сервис-посредник |
Локальный API мессенджера → локальная копия данных → клиент |
Поскольку основная бизнес-логика выполняется внутри мессенджера, федеративный слой не дублирует ее полностью. Но формулировка «любая новая функция заработает из коробки» была бы слишком сильной: каждую новую операцию и изменение API необходимо отдельно проверять в многоконтурном сценарии.
На раннем этапе мы подняли два независимых стенда, разделили между ними часть команды и несколько месяцев работали через федерацию. Такой dogfooding помог обнаружить неочевидные технические сценарии и доработать UX/UI на основе реального использования, а не только тест-кейсов.
Сейчас федерация работает не только на внутренних стендах: ряд заказчиков использует ее в продуктивных On-Premise-инсталляциях.

Узнайте больше о возможностях Мессенджера VK WorkSpace
Объединяйте сотрудников из разных подразделений и организаций в одном пространстве, сохраняя защищенность и автономность инфраструктуры
Что оказалось сложнее всего
Основные сложности возникли не только в транспортном протоколе, но и в модели возможностей и пользовательском интерфейсе зрелого многоплатформенного продукта.
1. Не показывать действие, которое все равно не сработает
Изначально мы планировали сообщать о недоступности функции уже после действия пользователя — например, при попытке позвонить внешнему сотруднику. Dogfooding показал, что такой интерфейс создает лишние ошибки. Поэтому перешли к модели возможностей: клиент заранее определяет тип пользователя или чата и скрывает неподдерживаемые действия.
Для этого потребовалось добавить признак федеративности в ответы нескольких API-методов и найти все места, где клиенты и сервисы получают сведения о пользователях и чатах.
2. Показывать внешний контекст во всех точках интерфейса
Признак внешнего пользователя должен отображаться одинаково на web, desktop и mobile — в поиске, списке участников, меню «Поделиться», мини-профиле и других поверхностях. Это не только визуальная деталь: сотрудник должен понимать, что отправляет данные за пределы своего контура, до совершения действия.
3. Обогатить ответы, не переписывая ядро
Мы использовали отдельный сервис-посредник по паттерну sidecar: он перехватывает запрос, передает его основному сервису, получает ответ, добавляет федеративные атрибуты и возвращает результат клиенту. Так пользователи и чаты получают единый признак внешнего контекста без переноса этой логики во все сервисы ядра.
Каждое изменение затем проходит кросс-платформенную проверку: одинаковая логика должна корректно работать на web, desktop и mobile и не ломать обычные, не федеративные сценарии.
Ограничения текущей версии
Федеративные аудио- и видеозвонки пока не поддерживаются. Для встречи с внешней организацией используется гостевая ссылка — это отдельный сценарий, а не часть постоянного федеративного траста.
Функциональность федеративных чатов близка к обычным, но не полностью совпадает; новые возможности могут появиться в федеративном режиме позже.
Текущая реализация связывает независимые On-Premise-инсталляции. Облачные тенанты и сценарий SaaS ↔ On-Premise в нее пока не входят.
Федерация не отменяет локальные политики безопасности: DLP, SIEM, аудит, хранение и права доступа каждая сторона продолжает настраивать в своем контуре.
Что дальше
За год федерация прошла путь от пилота между двумя инсталляциями до многоконтурных чатов с набором возможностей, близким к обычному мессенджеру.
Следующий продуктовый этап — взаимодействие независимых облачных и коробочных контуров. При этом мультидоменность внутри одного облачного тенанта развивается отдельным треком: она упрощает работу компании с общей моделью администрирования, но не заменяет федерацию там, где контуры должны оставаться независимыми.
Направления, которые мы прорабатываем:
федерация между независимыми тенантами внутри одной On-Premise-инсталляции;
федерация между независимыми SaaS-тенантами с настройкой прав на внешнюю коммуникацию;
федерация SaaS-тенантов с On-Premise-инсталляциями;
Целевое состояние — коммуникационная сеть, в которой сотрудник работает в привычном интерфейсе, а каждая организация сохраняет контроль над своим контуром, данными и политиками доступа.
О составе и сроках конкретных релизов будем рассказывать после завершения проектирования и пилотирования соответствующих сценариев.