Skip to main content

Integração com Supabase Auth

A Switchbord usa o Supabase Auth como sua base de autenticação. Todas as sessões de usuário são gerenciadas por meio do sistema de sessão baseado em JWT do Supabase, com validação no servidor em cada requisição de API.
A autenticação é aplicada no nível da rota de API. Toda rota começa com a validação de sessão antes da execução de qualquer lógica de negócio.

Gestão de Sessão

Janela de Tempo da Sessão

As sessões estão sujeitas a dois controles independentes de expiração: Esses limites são configurados no Supabase e aplicados no servidor — estendê-los requer uma alteração de configuração administrativa, e não uma solução alternativa do lado do cliente.

Revogação de Sessão na Remoção de Membro

Quando um membro do workspace é removido, suas sessões ativas são imediatamente invalidadas em todos os dispositivos:
O escopo 'global' garante que todas as sessões do usuário sejam encerradas — não apenas a atual. Isso impede que um membro removido continue usando uma sessão existente após perder o acesso ao workspace.

Política de Senhas

A Switchbord impõe os seguintes requisitos de senha, configurados no Supabase:
  • Mínimo de 12 caracteres
  • Ao menos uma letra maiúscula
  • Ao menos um dígito
  • Aplicado no cadastro e na alteração de senha
Recomenda-se que os usuários utilizem um gerenciador de senhas e gerem senhas únicas para cada serviço.

Autenticação Multifator

O MFA TOTP (Time-based One-Time Password) do Supabase está disponível para todos os usuários. Os usuários podem cadastrar um aplicativo autenticador a partir das configurações da sua conta.
A aplicação obrigatória do MFA (exigir MFA para todos os membros do workspace) está atualmente planejada e acompanhada no roadmap. Até que a aplicação obrigatória seja implementada, o MFA é opcional (opt-in) por usuário. Organizações com requisitos rigorosos de conformidade devem instruir seus membros a se cadastrarem.

Controle de Acesso Baseado em Papéis (RBAC)

A Switchbord implementa quatro papéis com níveis de permissão distintos. A atribuição de papéis é gerenciada por owners e admins do workspace.

Hierarquia de Papéis

Aplicação de Papéis

As verificações de papel são realizadas em cada rota de API após a resolução do contexto de workspace:
A lista de papéis passada para requireSettingsAccess define os papéis mínimos exigidos. Rotas cujo papel não esteja na lista receberão uma resposta 403.

Referência de Capacidades por Papel

Gestão de Chaves de API

Ciclo de Vida da Chave

As chaves de API permitem o acesso programático à API da Switchbord. Cada chave é:
  1. Gerada com um valor criptograficamente aleatório
  2. Hasheada com SHA-256 antes do armazenamento — o texto puro é exibido uma única vez na criação
  3. Escopada ao workspace criador — não pode ser usada para acessar outros workspaces
  4. Opcionalmente expirávelexpires_at é aplicado no momento da validação

Comparação com Timing Seguro

A validação de chaves de API usa crypto.timingSafeEqual para evitar ataques de canal lateral baseados em tempo (timing side-channel):

Aplicação da Expiração de Chave

Chaves com um valor expires_at são rejeitadas no momento da validação, mesmo que o hash corresponda:

Operações de Chave Escopadas por Workspace

Todas as operações de chave (listar, excluir, revogar) são filtradas pelo workspace resolvido do chamador:

Mapeamento de Conformidade

Para o mapeamento completo de controles de conformidade, veja a Matriz de Conformidade.