
Manual completo da plataforma
Rede Libras
Guia técnico e operacional cobrindo todos os perfis de uso — do Super Admin do SaaS ao paciente surdo que inicia um atendimento.
Sumário
- IIntrodução
- O que é a Rede Libras
- Arquitetura em alto nível
- Perfis de usuário
- IISuper Admin — Operação do SaaS
- Acesso ao painel /super
- Dashboard SaaS
- Cadastrar empresa cliente (tenant)
- Criar o primeiro admin do cliente
- Planos comerciais
- Integrações (pagamento, e-mail, IA…)
- Faturas globais
- Webhooks
- Suspender / reativar tenant
- Visão global de intérpretes
- IIIAdmin do Tenant — Gestão do hospital/cliente
- Primeiro login
- Dashboard operacional
- Cadastrar intérpretes
- Pontos de atendimento e QR Codes
- Operadores (usuários)
- SLA customizado
- Canais de TV
- Minha fatura
- Jornadas contínuas
- Configurações (logo, cor, dados)
- IVIntérprete — Rotina de atendimento
- Login em interprete.rede-libras
- Status: online, standby, pausa
- Aceitar uma oferta
- Durante o atendimento
- Gravação com consentimento
- Handoff ao vivo
- Treinamento e glossário
- Perfil e histórico
- VUsuário final (paciente surdo)
- Acesso por QR Code
- Informar motivo (gera prioridade)
- Aguardar na fila
- Durante a chamada — vídeo + chat
- Adicionar acompanhante
- Avaliar o atendimento
- VICasos de uso por setor
- Saúde
- Segurança pública / justiça
- Educação
- Corporativo
- VIISegurança e LGPD
- Isolamento multi-tenant
- Criptografia
- Auditoria
- Direitos do titular (DSAR)
- Consentimento de gravação
- VIIICanais de TV com Libras
- Criar canal
- Configurar OBS/Streamlabs
- Layout ABNT NBR 15290
- Assistir
- IXIntegrações e automações
- Gateways de pagamento
- Provedor de e-mail
- Inteligência artificial
- Armazenamento S3
- Webhooks externos
- XPerguntas frequentes e solução de problemas
- Câmera/mic bloqueados
- QR Code expirado
- Intérprete não aparece
- Gravação não salvou
- Fatura não chegou
Introdução
1.1O que é a Rede Libras
A Rede Libras é uma plataforma SaaS brasileira de interpretação remota em Libras voltada a empresas, hospitais, órgãos públicos e instituições que precisam oferecer acessibilidade comunicacional plena ao cidadão surdo. Seu diferencial é a jornada contínua — enquanto outras soluções atendem apenas ao ponto de entrada (recepção), a Rede Libras acompanha o usuário em todas as etapas: triagem, consulta, exame, alta, depoimento, audiência, aula, reunião.
A plataforma é multi-tenant: cada empresa cliente ("tenant") tem seus próprios intérpretes, operadores, pontos de atendimento, faturas e configurações. Um operador de um tenant nunca enxerga dados de outro.
1.2Arquitetura em alto nível
A plataforma é composta por cinco aplicações web independentes:
- Portal público (
108-174-144-144.sslip.io) — landing, fluxo de atendimento por QR Code, canais de TV, página de status. - Hub de acessos (
hub.108-174-144-144.sslip.io) — índice interno com todos os painéis administrativos. - Painel administrativo (
admin.108-174-144-144.sslip.io) — compartilhado entre admin do tenant e super admin (seção/super). - Painel do intérprete (
interprete.108-174-144-144.sslip.io). - API REST + WebSocket (
api.108-174-144-144.sslip.io) — NestJS + Prisma + PostgreSQL + Redis; Swagger em/api/docs.
Para mídia em tempo real (vídeo, áudio, screen share), a plataforma usa um SFU dedicado LiveKit em livekit.108-174-144-144.sslip.io. Gravações são feitas por RoomCompositeEgress; transmissões de TV usam Ingress (SRT/RTMP/WHIP) do mesmo LiveKit.
hub.108-174-144-144.sslip.io. De lá, todos os outros painéis têm link direto — sem precisar decorar subdomínios.1.3Perfis de usuário
Existem cinco perfis distintos, cada um com seu painel e permissões:
Super Admin
Opera o SaaS. Cria tenants, planos, configura integrações, vê MRR.
Admin do Tenant
Gestor do hospital/empresa. Cadastra intérpretes, pontos, operadores.
Operador
Acompanha atendimentos, gera QR, sem permissão de CRUD sensível.
Intérprete
Atende chamadas, gerencia disponibilidade, consulta glossário.
Usuário final (surdo)
Abre o QR Code, inicia o atendimento em Libras. Sem cadastro.
Super Admin — Operação do SaaS
2.1Acesso ao painel /super
- Acesse
https://admin.108-174-144-144.sslip.ioe faça login com um usuário que possua o papelSUPER_ADMIN. - Após login bem-sucedido, o sistema redireciona automaticamente para
/super(Dashboard SaaS). Se você cair em/dashboard, o usuário não é super admin — volte e peça a promoção. - O painel super admin tem fundo escuro com detalhes em âmbar (cor) para diferenciar visualmente do painel do tenant, que é claro (cor ).
admin123 do seed deve ser trocada no primeiro acesso em produção. Use senha forte (mínimo 12 caracteres, mistura de classes).2.2Dashboard SaaS
O dashboard principal (/super) exibe oito métricas-chave:
- MRR — receita recorrente mensal, soma dos planos ativos.
- Receita do mês — faturas pagas no período, com delta % vs. mês anterior.
- Tenants ativos, em trial, suspensos.
- Faturas abertas / em atraso — atenção se > 0.
- Novos tenants (30d) e cancelados (30d).
Dois painéis abaixo dos cards mostram os últimos tenants cadastrados (com link para o detalhe) e os últimos webhooks recebidos — útil pra diagnosticar integrações de pagamento.
2.3Cadastrar uma nova empresa cliente (tenant)
Papel: Super Admin apenas. Admin do tenant não pode criar outros tenants.Esse é o fluxo que você usa quando fecha um contrato comercial manualmente. Signup público auto-serviço ainda não está habilitado.
- No menu lateral, clique em Tenants. Você verá a lista de todos os clientes cadastrados.
- Clique no botão Novo tenant (canto superior direito, amber). Um diálogo se abre.
- Preencha:
- Slug — identificador único na URL (letras minúsculas, números, hífen). Exemplo:
hospital-sirio-libanes. Não pode ser alterado depois. - Nome — nome fantasia (aparece no painel e em QR Codes).
- Razão social — nome legal para faturamento.
- CNPJ — obrigatório para emissão de nota fiscal.
- E-mail financeiro — destino das faturas mensais.
- Cor primária — usada no painel do cliente e em customização de marca.
- Plano — escolha entre os planos cadastrados (Start, Business, Enterprise, etc).
- Slug — identificador único na URL (letras minúsculas, números, hífen). Exemplo:
- Clique em Criar tenant. O tenant é criado em status
TRIAL(ouACTIVEse você já vinculou plano pago).
2.4Criar o primeiro admin do cliente
Um tenant recém-criado não tem usuários — o cliente não consegue fazer login ainda. Você precisa criar o primeiro admin.
- Na lista de tenants, clique no nome do tenant recém-criado. Você cai na página de detalhe.
- Role até a seção Usuários administradores. Ela estará vazia, com a mensagem "Nenhum usuário ainda".
- Clique em Novo usuário. O diálogo abre com tenant travado e papel pré-selecionado como
ADMIN. - Preencha nome, e-mail do responsável do cliente, e uma senha inicial (mínimo 8 caracteres — o cliente vai trocar no primeiro acesso).
- Clique em Criar usuário. O sistema envia automaticamente um e-mail de boas-vindas para o endereço informado, contendo URL de acesso (
admin.108-174-144-144.sslip.io) e a senha inicial.
console, o e-mail é apenas logado no systemd —journalctl -u rede-libras-api -n 50.2.5Planos comerciais
Planos são o catálogo que define franquia de minutos, valor mensal e valor do minuto excedente. São globais — todos os tenants veem os mesmos planos cadastrados.
2.5.1Criar um plano
- No menu, clique em Planos comerciais.
- Clique em Novo plano.
- Preencha:
- Código — identificador curto em maiúsculas (ex:
HOSPITAL_PREMIUM). - Nome — como aparece na UI.
- Tipo — categoria interna (START, BUSINESS, ENTERPRISE_500, CORPORATE_1500, JOURNEY_HEALTH, PAY_PER_USE, etc).
- Franquia (minutos) — incluídos por mês.
- Valor mensal (R$) — cobrado de forma recorrente.
- Valor excedente (R$/min) — cobrado após estourar franquia.
- Descrição — texto comercial (aparece pro tenant na listagem).
- Código — identificador curto em maiúsculas (ex:
- Salvar. O plano fica
active=truepor padrão.
2.5.2Editar plano ou desativar
Clique em qualquer card de plano na listagem. Para desativar, desmarque Ativo — o plano some da listagem de novos tenants, mas tenants já vinculados continuam operando.
2.6Integrações (Configurações do SaaS)
Toda integração externa (gateway de pagamento, provedor de e-mail, IA, NFe, armazenamento S3) é configurada pela UI em Configurações. Os segredos são criptografados com AES-256-GCM usando a chaveSETTINGS_MASTER_KEY do servidor — nunca ficam em texto puro.
O menu é dividido em abas:
Pagamento
- Asaas
- Stripe
- Pagar.me
- Mercado Pago
- SMTP genérico
- Resend
- SendGrid
IA
- Anthropic (Claude)
- OpenAI
NFe
- Focus NFe
Armazenamento
- S3 / R2 / MinIO
Geral
- Nome da plataforma
- Dias de trial
- Plano padrão
- Signup público on/off
Legal
- URL de termos de uso
- URL de política de privacidade
2.6.1Configurar um gateway (exemplo: Asaas)
- No menu, Configurações. Aba Pagamento.
- Encontre o card Asaas.
- Marque Usar sandbox se estiver testando. Preencha:
- apiKey — chave API do Asaas.
- webhookToken — token secreto usado pra validar webhooks recebidos.
- walletId (opcional) — carteira de split.
- Ligue o toggle Ativa e marque Usar como integração padrão desta categoria (só 1 gateway pode ser padrão).
- Clique em Testar conexão. Deve retornar "Credenciais presentes".
- Clique em Salvar.
••••). Isso é proposital: o backend nunca expõe os valores; apenas uma flag hasSecrets=true. Deixe vazio pra manter o valor atual, ou preencha pra sobrescrever.2.7Faturas globais
Em Faturas, você vê todas as faturas de todos os tenants. Filtre por status (OPEN, CLOSED, INVOICED,PAID, OVERDUE, CANCELED). Clique no nome do tenant pra ir direto à página de detalhe.
O total agregado aparece no cabeçalho: X faturas · R$ Y pagas · R$ Z totais.
2.8Webhooks
Todos os webhooks recebidos dos gateways de pagamento são registrados em Webhooks. Cada linha mostra provider, tipo de evento, ID externo, status (RECEIVED, PROCESSED, FAILED,IGNORED) e timestamp.
Se um webhook falhou, a coluna status mostra a mensagem de erro em vermelho. Use esse log para diagnosticar problemas de cobrança.
2.9Suspender / reativar tenant
Inadimplência, violação de contrato ou pedido do cliente — há situações em que você precisa bloquear o acesso de um tenant sem excluir seus dados.
- Vá em Tenants.
- Na linha do tenant, clique em Suspender.
- Confirme. O status vai pra
SUSPENDED.
Enquanto suspenso: admins do tenant conseguem fazer login mas qualquer ação que crie atendimento é bloqueada; QR Codes da unidade param de gerar conexão; intérpretes daquele tenant não recebem ofertas.
Para reativar, clique em Reativar na mesma linha. O status volta pra ACTIVE.
2.10Visão global de intérpretes
A página Intérpretes (visão global) é read-only. Mostra todos os intérpretes de todos os tenants. Use um filtro por tenant pra diagnosticar problemas específicos ou atender requisições DSAR/LGPD.
Admin do Tenant — Gestão do hospital/cliente
3.1Primeiro login
- Acesse
admin.108-174-144-144.sslip.io(ou o domínio customizado do seu tenant, quando configurado). - Digite o e-mail e a senha temporária recebidos.
- Altere imediatamente a senha em Configurações → Segurança. Use mínimo 12 caracteres, misturando letras, números e símbolos.
https://). Todas as URLs oficiais já são HTTPS — não compartilhe links em texto plano ou via http://.3.2Dashboard operacional
A tela inicial mostra em tempo real:
- Na fila agora — atendimentos em espera.
- Em chamada — atendimentos ativos.
- Intérpretes online — disponíveis para receber oferta.
- Atendimentos hoje — acumulado do dia.
- Intérpretes cadastrados — total no pool deste tenant.
- Últimos 7 dias — breakdown por status (COMPLETED, CANCELED, etc).
Os dados atualizam a cada 10 segundos via WebSocket.
3.3Cadastrar intérpretes
Cada tenant contrata e gerencia seu próprio pool. Um intérprete contratado pelo Hospital A nunca recebe atendimentos do Hospital B — isso é garantido no nível do banco de dados (Parte VII — Segurança).
- No menu, Intérpretes → Novo intérprete.
- Preencha:
- Nome completo.
- E-mail (será o login).
- Senha inicial (o intérprete troca no primeiro acesso).
- CPF (opcional, necessário pra emissão de RPA).
- Tier —
BRONZE,SILVER,GOLDouPLATINUM. Influencia matchmaking: tier maior tem preferência quando há múltiplos online. - Especializações — lista de códigos que marcam áreas em que o intérprete atua melhor:
HEALTH_GENERAL,HEALTH_CRITICAL,LEGAL_GENERAL,LEGAL_PROCESS,EDUCATIONAL,CORPORATE,PSYCHOSOCIALetc. - Bio — texto curto mostrado ao cliente durante a fila (opcional).
- Salvar. O intérprete recebe e-mail com instruções de login.
3.4Pontos de atendimento e QR Codes
Um ponto de atendimento representa um local físico onde o usuário surdo pode iniciar um atendimento. Cada ponto gera um QR Code único que pré-identifica o contexto (categoria, especialização preferida).
- No menu, Pontos / QR Code → Novo ponto.
- Preencha:
- Slug — identificador no URL (ex:
triagem-ps). - Rótulo — nome legível (ex: "Triagem do Pronto-Socorro").
- Categoria — define contexto e prioridade:
RECEPTION,TRIAGE,CONSULTATION,EXAM,PHARMACY,DISCHARGE,LEGAL_PROTOCOL,LEGAL_HEARING,EDUCATIONAL,CORPORATE. - Especialização preferida — prioriza intérpretes com essa skill.
- Auto-recording — marque pra gravar atendimentos deste ponto sem pedir consent (requer contexto compliance/jurídico).
- Slug — identificador no URL (ex:
- Salve. O sistema gera automaticamente um QR Code apontando para
https://108-174-144-144.sslip.io/t/SEU_SLUG/p/SLUG_DO_PONTO. - Clique em Baixar QR para imprimir e afixar no local. Recomendado: A5 com moldura, altura dos olhos na parede, com texto auxiliar "Toque ou escaneie para falar em Libras".
3.5Operadores (usuários)
Operadores são usuários que ajudam na operação (gerar QR, acompanhar fila, emitir relatórios) mas não têm permissão de CRUD sensível. Diferente de Admin do tenant — admin pode editar intérpretes, planos (ver) e configurações; operador só consulta.
Papéis disponíveis:
- ADMIN — controle total do tenant.
- OPERATOR — acompanha fila e atendimentos, gera QR Codes.
- VIEWER — só leitura, ideal para gestores/compliance.
O papel SUPER_ADMIN só pode ser atribuído por outro super admin.
3.6SLA customizado
SLA (Service Level Agreement) define tempo máximo de espera por prioridade. Se o tempo estourar, gera breach automaticamente e uma fração do valor do minuto vira crédito na próxima fatura.
- No menu, SLA → Novo contrato.
- Configure por prioridade:
EMERGENCY— ex: máx 60s de espera, 20% de crédito por breach.URGENT— ex: máx 180s, 15%.ROUTINE— ex: máx 600s, 10%.LOW— ex: máx 1800s, 5%.
A página de SLA lista breaches dos últimos 30 dias com valor acumulado de crédito.
3.7Canais de TV
Veja a Parte VIII — Canais de TV com Libras deste manual para instruções completas de criação e operação.
3.8Minha fatura
A página Meu faturamento mostra a fatura do mês corrente (minutos usados, franquia restante, valor a pagar estimado) e histórico de faturas passadas. Clique em qualquer fatura para ver o detalhamento por ponto de atendimento.
Quando o Asaas/Stripe está configurado e vinculado ao tenant, a fatura fechada automaticamente gera uma cobrança recorrente — o link de pagamento aparece no campo URL da fatura.
3.9Jornadas contínuas
O diferencial da Rede Libras é a jornada contínua: o mesmo atendimento acompanha o usuário por múltiplos pontos sem perder contexto.
- O usuário inicia atendimento no ponto Recepção — abre uma jornada do tipo
HEALTHcompriorityInterpreterId. - Ao mudar de local (ex: vai pra Triagem), escaneia o QR do novo ponto. Como existe uma jornada ativa, o sistema oferece continuar com o mesmo intérprete (stickiness) — evita recontextualização.
- A jornada permanece
ACTIVEaté ser encerrada manualmente ou expirar por inatividade (política configurável).
Na página Jornadas contínuas, admin do tenant vê jornadas ativas, pausadas e históricas. Clique numa jornada pra ver a timeline de pontos visitados, handoffs e tempo total.
3.10Configurações do tenant (logo, cor, dados)
Em Configurações:
- Identidade visual — logo (upload PNG), cor primária (aparece no portal público do tenant).
- Dados cadastrais — razão social, CNPJ, endereço, telefone.
- E-mails — financeiro (fatura), administrativo, DPO.
- Preferências — idioma padrão, fuso horário, notificações.
Intérprete — Rotina de atendimento
4.1Login
- Acesse
interprete.108-174-144-144.sslip.io. - Digite o e-mail e senha recebidos do admin do seu tenant.
- No primeiro acesso, confirme dados pessoais e troque a senha.
interprete.xxx/me antes do primeiro plantão.4.2Status: online, standby, pausa
O intérprete controla sua disponibilidade no cabeçalho do painel:
- Online — disponível para receber oferta de atendimento. Entra na fila de matchmaking.
- Em atendimento (BUSY) — marcado automaticamente ao aceitar.
- Standby — reservado como backup de um atendimento crítico. Não recebe outras ofertas até o principal terminar.
- Pausa — indisponível, não recebe ofertas. Use pra lanche, reunião interna, ida ao banheiro.
- Offline — saiu do plantão, não aparece no pool.
Transições automáticas:
ONLINE → BUSYao aceitar uma oferta.BUSY → ONLINEao terminar atendimento.ONLINE → OFFLINEao fechar a aba sem logout (fantasma detectado em 30s).
4.3Aceitar uma oferta
Quando um usuário inicia um atendimento, o sistema seleciona intérpretes do mesmo tenant (pool isolado) ordenando por:
- Intérprete da jornada em curso (stickiness).
- Especialização compatível com a categoria do ponto.
- Tier maior (
PLATINUM > GOLD > SILVER > BRONZE). - Menor
totalAttendances— balanceamento de carga. - Maior
ratingAverage.
Quando chega uma oferta, o intérprete vê um card na tela com:
- Ponto de origem (ex: "Triagem PS · Hospital Demo").
- Prioridade (EMERGENCY, URGENT, ROUTINE, LOW).
- Motivo informado pelo usuário (opcional).
- Contador regressivo de 15 segundos.
- Botões Aceitar e Recusar.
4.4Durante o atendimento
A tela do atendimento contém:
- Vídeo do usuário — em destaque ao centro.
- Sua câmera — preview pequeno no canto.
- Chat de texto — lado direito. Use pra termos técnicos, nomes próprios, números.
- Badge de prioridade — canto superior esquerdo.
- Motivo do usuário — exibido no início (se informado).
- Botões de controle: mic on/off, cam on/off, compartilhar tela, encerrar, gravar (requer consent).
4.5Gravação com consentimento
Gravação não ocorre por padrão. Exige consentimento recíproco na tela: intérprete clica em "Gravar" → usuário recebe prompt → ambos precisam concordar. Um carimbo criptográfico é emitido para trilha de auditoria.
- Durante o atendimento, clique no botão REC (ícone de círculo).
- Um diálogo aparece explicando o que será gravado e por quanto tempo retido.
- Ambos os participantes precisam clicar em Concordo e autorizo na tela respectiva.
- A gravação inicia. Aparece indicador vermelho piscando na borda da tela de ambos.
- Ao encerrar o atendimento, a gravação é finalizada em MP4 (Egress do LiveKit), encriptada e enviada ao armazenamento S3 configurado (veja Parte IX).
4.6Handoff ao vivo
Se você precisa sair de um atendimento longo (fim de plantão, emergência pessoal), use o Handoff — transfere para outro intérprete online sem derrubar a chamada.
- Clique em Handoff no painel de controle.
- Escreva um briefing curto (contexto do atendimento, o que foi resolvido, o que falta).
- O sistema oferta simultaneamente para até 5 intérpretes online do mesmo tenant (ordenados por tier + rating). O primeiro a aceitar ganha.
- Quando o substituto aceita: você sai da sala LiveKit, ele entra com token novo, o usuário vê mensagem "Intérprete trocado — [Nome] assumiu".
4.7Treinamento e glossário
O painel do intérprete oferece duas ferramentas de aprimoramento contínuo:
- Glossário Libras — consulta de termos por especialização, com vídeo demonstrando o sinal, linguagem simplificada para explicar ao paciente, e sinônimos.
- Treinamento — escolha um cenário simulado (ex: "Consulta cardiológica com paciente em crise"), grave sua sinalização ou descreva em texto o que faria, e receba feedback estruturado via IA (scores de fluência, vocabulário, timing + sugestões de melhoria).
4.8Perfil e histórico
Em Perfil: edite nome, foto, bio visível ao cliente, e especializações. Dados bancários (chave PIX, banco/agência/conta) ficam criptografados em JSON — só o admin do tenant com permissão específica consegue ver.
Em Histórico: lista dos seus últimos 20 atendimentos, com rating recebido, categoria e duração. Estatísticas do dia aparecem no cabeçalho do dashboard.
Usuário final (paciente surdo)
5.1Acesso por QR Code
- Localize o QR Code afixado no ponto de atendimento (recepção, triagem, guichê).
- Abra a câmera do celular e aponte para o QR. Toque no link que aparece.
- A página do portal abre identificando o ponto (ex: "Hospital Demo · Triagem PS"). Clique em Iniciar atendimento em Libras.
- No primeiro acesso, o navegador pede permissão de câmera e microfone. Toque em Permitir.
5.2Informar motivo (gera prioridade)
Antes de entrar na fila, aparece um campo opcional "Qual o motivo?". Exemplos: "Dor no peito", "Febre alta no bebê", "Renovar receita".
O sistema faz triagem automática:
- Heurística síncrona (palavras-chave em PT-BR) classifica em EMERGENCY / URGENT / ROUTINE / LOW.
- Reclassificação assíncrona via IA (Claude Haiku) confirma ou ajusta a prioridade.
- Intérpretes de especialização compatível (ex: HEALTH_CRITICAL para dor no peito) recebem oferta primeiro.
5.3Aguardar na fila
A tela mostra "Procurando intérprete..." com estimativa de tempo. Ordem média: menos de 10 segundos. Se não houver intérprete online do tenant, aparece mensagem explicativa com horário de retomada.
5.4Durante a chamada
Tela de vídeo com:
- Intérprete em destaque ao centro.
- Sua câmera em preview pequeno.
- Chat de texto lateral — para termos escritos, nomes próprios, anotações.
- Botão "Encerrar" quando terminar.
- Botão "Adicionar acompanhante" se precisar trazer um familiar pra sala.
5.5Adicionar acompanhante
Útil quando um familiar ouvinte precisa participar (acompanhar consulta, tradução adicional).
- Clique em Adicionar acompanhante durante a chamada.
- Escolha o papel:
LISTEN_ONLY(só ouve/vê) ouCO_SPEAK(pode falar). - O sistema gera um link
/companion?t=TOKENúnico. Compartilhe via WhatsApp/SMS. - Ao abrir o link, o acompanhante recebe token LiveKit com grants apropriados e, se a sessão já começou, um recap automático em texto resumindo o que foi dito até ali (IA Haiku).
5.6Avaliar o atendimento
Ao encerrar, aparece modal com 5 estrelas e campo de comentário opcional. A avaliação alimenta o ratingAverage do intérprete e ajuda no matchmaking futuro. Comentários são anônimos pro intérprete (só admin do tenant vê quem escreveu).
Casos de uso por setor
6.1Saúde — hospital geral
Jornada típica: paciente surdo chega à recepção com QR afixado → abre atendimento categoria RECEPTION (intérprete generalista) → ao ser chamado para triagem, escaneia QR da triagem → jornada continua com mesmo intérprete se ainda online (stickiness), ou novo da especializaçãoHEALTH_GENERAL → consulta → exame → farmácia → alta.
Pontos recomendados: Recepção, Triagem, 1 por consultório (ou 1 por especialidade), Exame de imagem, Farmácia, Alta.
Intérpretes: pool com pelo menos 1 HEALTH_CRITICAL GOLD+ em plantão 24/7 (emergência), 2 HEALTH_GENERAL em horário comercial.
Auto-recording: desligado por padrão; ativado apenas em áreas de alto risco jurídico (UTI, centro cirúrgico) com consentimento formal do paciente na admissão.
6.2Segurança pública / justiça
Jornada típica: cidadão surdo vai registrar BO → escaneia QR na delegacia → abre atendimento LEGAL_PROTOCOL → depoimento formal é gravado com consentimento (material probatório) → em caso de audiência, usa jornada LEGAL_PROCESS com intérprete JURAMENTADO (especializaçãoLEGAL_PROCESS).
Especializações críticas: LEGAL_GENERAL (BO, boletins),LEGAL_PROCESS (audiências, oitivas formais). Este último exige certificação complementar do intérprete — atestada no campocertifications (JSON).
SLA sugerido: EMERGENCY (ex: vítima em flagrante) ≤ 60s; URGENT (oitiva marcada) ≤ 300s; rotineiro 15min. Breach gera crédito em fatura.
6.3Educação
Aula ao vivo: professor liga a câmera em plataforma externa (Meet, Zoom), e o aluno surdo abre paralelo o portal Rede Libras com intérprete que traduz em tempo real. O intérprete pode usar o chat para anotações e nomenclaturas técnicas.
Aula gravada institucional: use Canal de TV (Parte VIII) — a instituição transmite o conteúdo com intérprete sobreposto seguindo layout ABNT NBR 15290. Alunos assistem em /tv/slug-da-instituicao.
Secretaria acadêmica: ponto de atendimento físico na secretaria, categoria EDUCATIONAL, para matrícula, rematrícula, boletim, reuniões com coordenação.
6.4Corporativo
SAC acessível: empresa coloca QR no site e no app dela que abre atendimento Rede Libras. Reduz barreira de canais de voz para cliente surdo.
Entrevistas de emprego: ponto categoria CORPORATE, com intérprete especialização CORPORATE. Use sala privada para confidencialidade.
Treinamentos internos: canal TV temporário durante evento, com gravação automática para biblioteca interna.
Segurança e LGPD
7.1Isolamento multi-tenant
A plataforma garante que dados de um cliente nunca sejam acessíveis por outro. Isso é aplicado em três camadas:
- Schema: todas as entidades sensíveis têm coluna
tenantIdobrigatória (Attendance, AccessPoint, User, Interpreter, Recording, TvChannel, SlaContract, Billing, Audit). - Controllers: helper
tenantWhere(actor, extra)forçawhere.tenantId = actor.tenantIdem toda listagem, exceto quando o ator éSUPER_ADMIN. Mutations passam porresolveMutationTenantIdeassertTenantOwnership. - Matchmaking: a seleção de intérprete, handoff e hot-standby filtram pool por
attendance.tenantId— impossível um intérprete do Hospital A atender chamado do Hospital B.
7.2Criptografia
- TLS 1.3 em toda comunicação web (Let's Encrypt, auto-renova).
- AES-256-GCM para segredos em repouso — credenciais de integrações (gateways, SMTP, IA) são encriptadas com a chave mestra
SETTINGS_MASTER_KEYantes de gravar em banco. - Argon2id para hash de senhas (resistente a ataques com GPU).
- JWT assinado com
JWT_SECRET, tempo de expiração curto (15min), refresh tokens com rotação. - Dados bancários de intérprete (banco/agência/conta/chave PIX) guardados em JSON encriptado no campo
bankData.
7.3Auditoria
Toda ação administrativa (criar, editar, excluir, suspender) gera uma linha na tabela audit_logs com:
- Tipo do ator (
user/interpreter/system). - ID do ator.
- Tenant onde ocorreu.
- Ação (
USER_CREATED,TENANT_SUSPENDED, etc). - Target — ID do objeto afetado.
- Payload JSON com detalhes.
- IP de origem.
- Timestamp.
Admin do tenant acessa audit logs em Audit (só os do próprio tenant). Super admin vê global. Export CSV/JSON disponível em/api/audit/export?format=csv&from=&to=.
7.4Direitos do titular (DSAR)
Conforme art. 18 da LGPD, o titular pode solicitar confirmação, acesso, correção, anonimização, portabilidade, eliminação ou revogação de consentimento. A Rede Libras implementa DSAR automatizado:
- Titular envia requisição via
dpo@rede-libras.com.br(ou formulário no site). - DPO usa endpoint
POST /api/admin/dsar/exportinformandoemail,userIdentifier(hash) ounicknameLike. Pode ativarincludeAiSweeppara varredura semântica adicional (via Claude Sonnet) em logs e mensagens buscando menções indiretas. - API retorna bundle JSON com todos os dados encontrados + hash SHA-256 do bundle para integridade.
- DPO entrega o bundle ao titular em até 15 dias corridos.
7.5Consentimento de gravação
Gravação nunca ocorre sem consentimento recíproco e explícito:
- Iniciado por qualquer parte (intérprete ou usuário).
- Outra parte recebe prompt com descrição do que será gravado.
- Ambos precisam autorizar na própria tela (clique em botão).
- Carimbo criptográfico (timestamp + hash) é gerado e anexado à gravação, provando consentimento no momento.
Exceção: pontos com flag Tenant.autoRecording = true gravam sem pedir consent explícito — caso de compliance/licitação onde o usuário foi informado na admissão/contratação. Requer documentação formal externa.
Canais de TV com Libras
8.1Conceito
Um canal de TV é uma transmissão ao vivo pública do tenant com intérprete de Libras sobreposto seguindo norma ABNT NBR 15290 (tamanho do quadro do intérprete, posicionamento, contraste). Ideal para aulas, cultos, sessões de câmara municipal, eventos corporativos.
8.2Criar canal
- Como admin do tenant, vá em Canais de TV → Novo canal.
- Preencha:
- Slug (ex:
camara-municipal-pleno). - Nome (ex: "Sessão Plenária - Câmara Municipal").
- Descrição.
- Tipo de ingress:
SRT(mais estável),RTMP(mais compatível com OBS/Streamlabs) ouWHIP(WebRTC direto). - Intérprete prioritário (opcional) — se definir, esse intérprete é quem sinaliza por padrão.
- Slug (ex:
- Salvar. O sistema gera stream key e URL do publisher. Guarde esses dados — use na configuração do OBS.
8.3Configurar OBS / Streamlabs
Guia passo a passo também disponível em /tv-help.
- Baixe OBS Studio (gratuito, obsproject.com).
- Abra OBS → Configurações → Stream.
- Em Serviço, escolha Personalizado.
- Em Servidor, cole a
streamUrldo canal. - Em Chave de transmissão, cole a
streamKey. - Configure a cena: fonte principal (câmera da emissora) + webcam do intérprete no canto (ABNT: 1/4 da tela, lado direito, fundo contrastante).
- Clique em Iniciar Transmissão. O canal vira
LIVEem segundos.
8.4Layout ABNT NBR 15290
A Rede Libras aplica automaticamente o layout recomendado pela norma ABNT NBR 15290 (janela do intérprete ocupando pelo menos 1/2 da altura da tela, no lado direito, com fundo contrastante e enquadramento do meio do peito pra cima).
Essa composição acontece do lado do viewer (página /tv/[slug]) — o publisher envia vídeo principal e vídeo do intérprete separados, e o layout é aplicado no navegador. Vantagem: zero impacto no publisher.
8.5Assistir
Qualquer pessoa pode assistir sem cadastro:
- Via link direto:
https://108-174-144-144.sslip.io/tv/SLUG - Via QR Code gerado no admin do canal
- Via índice público:
/tvlista todos os canais LIVE e fora do ar
Integrações e automações
9.1Gateways de pagamento
Suportados: Asaas (recomendado para Brasil, aceita PIX + boleto + cartão), Stripe (global, cartão internacional), Pagar.me, Mercado Pago. Configuração em/super/settings → Pagamento.
Fluxo típico de cobrança recorrente (em desenvolvimento nas próximas rodadas):
- Super admin cria tenant + vincula plano.
- Sistema cria customer no gateway e registra
Subscriptionlocal. - Ao fim de cada ciclo mensal, job fecha a fatura com minutos usados.
- Gateway cobra automaticamente (cartão salvo ou gera boleto/PIX).
- Webhook chega do gateway → atualiza
Subscription.statuseBilling.status. - Tenant inadimplente após X dias → suspensão automática.
9.2Provedor de e-mail
Todos os e-mails transacionais (boas-vindas, reset de senha, fatura fechada) saem por um dos três provedores configurados:
- SMTP genérico — host, porta, user, pass, remetente padrão. Use com Gmail, Outlook, servidor próprio.
- Resend — API moderna; mais barato pra baixo volume.
- SendGrid — robustez para alto volume.
Apenas um é primário por vez. Marcar "Usar como integração padrão" desmarca os outros automaticamente.
9.3Inteligência artificial
Features de IA usam Anthropic Claude (recomendado) ou OpenAI. Exemplos:
- Triagem de prioridade — Haiku reclassifica pri assincronamente com base no motivo.
- Glossário tradutor — Haiku traduz fala clínica → linguagem simplificada.
- Feedback de treinamento — Sonnet avalia sinalização do intérprete.
- Recap automático de chat ao adicionar acompanhante — Haiku.
- Resumo de auditoria — Sonnet gera resumo executivo de período.
- DSAR semântico — Sonnet varre logs buscando menções indiretas do titular.
9.4Armazenamento S3
Gravações de atendimento são armazenadas em bucket S3 compatível (AWS S3, Cloudflare R2, MinIO self-hosted, Wasabi). Configure em/super/settings → Armazenamento.
9.5Webhooks externos
Todos os webhooks de gateway que chegam são logados emwebhook_events com dedup por externalId. Veja em/super/webhooks.
Perguntas frequentes
Q1Câmera ou microfone bloqueados
O navegador só libera getUserMedia em contexto seguro (HTTPS). Verifique se a URL começa com https://. Se sim, clique no ícone de cadeado ao lado da URL → permissões de câmera/mic → Permitir. Em iOS Safari, vá em Ajustes → Safari → Câmera.
Q2QR Code parece não funcionar
Certifique que o QR está nítido, bem iluminado, sem reflexo. Se o link abrir mas der 404, confirme com o admin do tenant se o ponto ainda está ativo (não foi excluído).
Q3Intérprete não aparece
Pode significar que nenhum intérprete do seu tenant está online no momento. A tela informa horário estimado de retomada. Em emergências médicas, não espere — procure atendimento convencional.
Q4Gravação não salvou
Gravações exigem: (1) consentimento duplo, (2) armazenamento S3 configurado em /super/settings, (3) serviço livekit-egress rodando (docker-compose.media.yml). Se algum falhar, a UI mostra erro.
Q5Fatura não chegou no e-mail
Verifique: (a) e-mail financeiro correto em /configurações do tenant, (b) provedor de e-mail ativo em /super/settings, (c) pasta de spam. Gere a fatura manualmente em /billing se necessário.
Q6Como testar o sistema sem afetar dados reais
Use o tenant de demo (slug hospital-demo). Todas as credenciais de teste estão no README do projeto. Para gateway, use o modo sandbox do Asaas/Stripe em Configurações.
Q7Como trocar o logo do nosso hospital no portal do paciente
Admin do tenant → Configurações → Identidade visual → Upload PNG. O logo aparece automaticamente nas páginas /t/seu-slug/* do portal público.
Q8Esqueci a senha de super admin
Acesse o banco de dados diretamente via SSH e execute um UPDATE na tabela users trocando o campo passwordHash pelo hash Argon2 da nova senha. Gere o hash offline com ferramentas como argon2-cli. Esse é o único caminho, pois não há fluxo de "esqueci senha" automatizado para SUPER_ADMIN — isso é intencional para reduzir superfície de ataque.
AGlossário de termos técnicos
- Tenant
- Empresa cliente da Rede Libras (hospital, órgão, escola).
- Handoff
- Transferência de um atendimento ativo para outro intérprete sem derrubar a sala.
- Hot-standby
- Segundo intérprete reservado automaticamente em atendimentos críticos.
- Ingress
- Entrada de stream externo para canal de TV (via SRT/RTMP/WHIP).
- Egress
- Saída de gravação do LiveKit em formato MP4.
- SFU
- Selective Forwarding Unit — arquitetura de mídia eficiente usada pelo LiveKit.
- DSAR
- Data Subject Access Request — requisição LGPD de acesso/portabilidade de dados.
- MRR
- Monthly Recurring Revenue — receita mensal recorrente do SaaS.
- SLA
- Service Level Agreement — compromisso de tempo máximo de espera por prioridade.
- Breach
- Violação de SLA — gera crédito automático na fatura.
BRequisitos técnicos mínimos
- Navegador: Chrome, Edge, Firefox ou Safari atualizados (últimas 2 versões).
- Conexão: mínimo 2 Mbps upload e 2 Mbps download por participante.
- Câmera e microfone: funcionais, com permissão concedida.
- HTTPS: obrigatório (não há fallback HTTP).
- JavaScript: habilitado.
- Cookies: essenciais habilitados (sem eles, não mantém sessão).
- Dispositivos: smartphone, tablet, notebook ou desktop. Mobile-first.
CSuporte e contato
Comercial e contratação: contato@rede-libras.com.br
Suporte técnico: suporte@rede-libras.com.br
DPO (LGPD): dpo@rede-libras.com.br
Incidentes de segurança: security@rede-libras.com.br