Federação Entre Organizações: Colaborar Sem Compromissos
Como o protocolo de federação do Mandraki permite a colaboração segura entre organizações distintas sem sacrificar a propriedade dos dados ou as fronteiras de segurança.
Nota: Este artigo descreve a arquitetura e o design do Mandraki. Algumas funcionalidades discutidas estão a ser disponibilizadas progressivamente e poderão ainda não estar disponíveis em todos os planos.
A colaboração empresarial não acontece isoladamente. As organizações trabalham com parceiros, clientes, reguladores, prestadores de serviços e consórcios sectoriais. As pessoas com quem precisa de comunicar estão frequentemente fora da sua organização e, muitas vezes, fora da sua plataforma de colaboração.
As soluções tradicionais para este problema são insatisfatórias. Pode convidar utilizadores externos como convidados na sua plataforma, o que esbate as fronteiras de segurança e cria sobrecarga administrativa. Pode manter contas em várias plataformas, o que fragmenta as suas comunicações. Ou pode recorrer ao e-mail, que não oferece nenhuma das funcionalidades de colaboração em tempo real exigidas pelo trabalho moderno.
A federação entre organizações do Mandraki oferece uma abordagem melhor: duas organizações podem colaborar em canais e chamadas partilhados, mantendo cada uma soberania total sobre os seus próprios dados, políticas de segurança e controlo administrativo.
Como funciona a federação
A federação no Mandraki é uma relação bilateral, baseada em consentimento, entre duas organizações. Nenhum dos lados pode impor federação ao outro. O processo começa quando uma organização envia um pedido de federação a outra.
O pedido especifica que capacidades de colaboração a organização requerente pretende ativar: mensagens, chamadas, partilha de ficheiros e canais partilhados. A organização destinatária analisa o pedido e pode aprová-lo com o seu próprio conjunto de permissões. Ambos os lados têm de concordar e qualquer um deles pode modificar ou revogar a relação a qualquer momento.
Uma vez estabelecida uma relação de federação, os utilizadores das duas organizações podem participar em canais e chamadas partilhados. A experiência é integrada — um canal partilhado aparece juntamente com os canais internos da organização, e os utilizadores da organização federada são claramente identificados com um distintivo “Externo”.
Propriedade dos dados em canais partilhados
Um canal partilhado no Mandraki tem uma única organização proprietária. As políticas da organização proprietária regem as definições de cifragem, políticas de retenção e disponibilidade de funcionalidades de IA do canal. As outras organizações participam no canal, mas não controlam a sua configuração.
Crucialmente, cada mensagem num canal partilhado transporta um originOrgId que identifica a que organização o remetente pertence. Isto garante rastreabilidade: cada organização pode ver quais as mensagens originadas pelos seus membros e quais vieram de participantes externos.
Para efeitos de conformidade, cada organização retém o acesso às mensagens enviadas pelos seus próprios membros. Se uma organização sair de uma federação, mantém as suas próprias mensagens, perdendo o acesso às mensagens da outra organização. A propriedade dos dados segue a fronteira da organização, não a fronteira do canal.
Governação e controlos de política
A federação no Mandraki é regida por controlos de política granulares ao nível da organização.
Política entre organizações. Os administradores definem a postura de federação da organização: desativada (sem federação permitida), apenas federada (federação apenas com organizações aprovadas) ou aberta (pedidos de federação aceites por defeito, sujeitos a aprovação individual).
Lista de permissões. As organizações podem manter uma lista explícita de parceiros de federação aprovados. Apenas as organizações que constem da lista podem estabelecer relações de federação.
Requisito de aprovação. Quando ativado, todos os pedidos de federação requerem aprovação explícita do administrador, mesmo que a organização requerente conste da lista de permissões.
Permissões por funcionalidade. As relações de federação têm interruptores granulares por funcionalidade. Uma organização pode autorizar mensagens com um parceiro mas não a partilha de ficheiros, ou autorizar chamadas mas não canais partilhados. Estas permissões podem ser ajustadas a qualquer momento.
Estes controlos refletem a realidade de que organizações diferentes têm apetites de risco e requisitos regulatórios diferentes. Uma instituição financeira pode federar com o seu auditor apenas para mensagens, sem partilha de ficheiros. Um departamento governamental pode federar com um organismo sectorial para canais partilhados, mas exigir aprovação para cada novo participante.
Fronteiras de segurança
A federação não funde os domínios de segurança das duas organizações. Cada organização mantém as suas próprias chaves de cifragem, a sua própria gestão de utilizadores, os seus próprios controlos de acesso e os seus próprios registos de auditoria. O SFU e o servidor de API impõem as fronteiras organizacionais em cada camada.
Quando uma mensagem é enviada num canal partilhado, é cifrada com o contexto de cifragem do canal (que pertence à organização proprietária). Os utilizadores de organizações federadas a quem foi concedido acesso podem decifrar e ler a mensagem. Mas a relação de federação não concede acesso a quaisquer outros dados dentro da organização proprietária — canais internos, mensagens diretas ou definições da organização permanecem completamente isolados.
Para chamadas em contextos federados aplica-se o mesmo princípio. Os participantes de ambas as organizações entram na chamada através do fluxo de sinalização WebRTC padrão, autenticados nas respetivas organizações. O SFU encaminha o media entre os participantes sem se preocupar com a organização a que pertencem, mas a API impõe que apenas participantes com permissões de federação válidas possam entrar.
Identidade de instalação e federação entre instalações
O modelo de federação do Mandraki vai além das organizações dentro de uma única instalação e suporta a comunicação entre implementações distintas do Mandraki — aquilo a que chamamos federação entre instalações.
Cada instalação do Mandraki tem uma identidade única, incluindo um par de chaves Ed25519 para autenticação criptográfica. As instalações publicam um descritor bem conhecido em /.well-known/eurocom-server que inclui a sua chave pública, capacidades e versão.
Quando duas instalações comunicam, todas as cargas úteis são assinadas com a chave privada da instalação remetente e verificadas com a chave pública da instalação destinatária. Isto previne a personificação e garante que as mensagens de federação são autênticas.
A federação entre instalações é particularmente relevante para organizações com requisitos de residência de dados. Uma instalação Mandraki na Alemanha pode federar com uma instalação em França, permitindo colaboração transfronteiriça enquanto cada instalação mantém a residência de dados dentro da respetiva jurisdição.
A experiência do utilizador externo
Demos atenção cuidada à forma como os utilizadores federados aparecem na interface. Os utilizadores externos são sempre visualmente distinguidos com um distintivo “Externo” claro. Isto não é opcional nem configurável — é imposto pela plataforma para evitar confusões sobre quem está numa conversa.
Ao redigir uma mensagem num canal partilhado, a área de composição lembra ao utilizador que os participantes externos podem ver as suas mensagens. Ao iniciar uma chamada num contexto federado, os participantes veem uma indicação clara de quais as organizações representadas.
Estas decisões de design refletem um princípio: a federação deve tornar a colaboração entre organizações fácil, mas nunca deve torná-la invisível. Os utilizadores devem saber sempre quando estão a comunicar através de fronteiras organizacionais.
O caso da federação em vez de contas de convidado
Muitas plataformas de colaboração abordam a comunicação entre organizações através de contas de convidado — utilizadores externos recebem contas limitadas dentro do espaço de trabalho da organização anfitriã. Esta abordagem tem várias desvantagens que a federação evita.
As contas de convidado criam encargos administrativos: alguém tem de criar, gerir e eventualmente desativar cada convidado. As contas de convidado esbatem as fronteiras de segurança: o convidado existe dentro do domínio de segurança do anfitrião, que pode não estar alinhado com as políticas de segurança da organização do próprio convidado. As contas de convidado fragmentam a comunicação: o convidado tem de manter identidades e contextos separados para cada organização com que colabora.
A federação mantém cada utilizador dentro do domínio da sua própria organização. Autenticam-se com as suas próprias credenciais, veem os canais da sua organização juntamente com os partilhados e são regidos pelas políticas da sua própria organização. Sem contas de convidado a gerir, sem fronteiras esbatidas, sem identidade fragmentada.
Para organizações europeias que precisam de colaborar para lá das fronteiras mantendo a soberania, a federação é a arquitetura que torna isto possível sem compromissos.