Como o Gaavala Protege o Áudio das Suas Reuniões: Uma Arquitetura com Privacidade em Primeiro Lugar

Todo dia útil, milhões de profissionais entram em reuniões em que se discutem informações sensíveis — negociações de fusão, consultas médicas, estratégia jurídica, prévias de resultados trimestrais, decisões de pessoal. Quando essas reuniões atravessam barreiras de idioma, a tradução em tempo real vira algo essencial. Mas a maioria das ferramentas de tradução de reuniões exige enviar o seu áudio bruto para a nuvem de um fornecedor, criando exatamente o tipo de superfície de exposição de dados que times jurídicos, de conformidade e de segurança cada vez menos conseguem aprovar.

O Gaavala foi arquitetado para se retirar por completo do caminho do áudio. Quando você conduz uma reunião pela nossa extensão do Chrome, o seu áudio não passa pelos servidores do Gaavala. Ele é transmitido diretamente do seu navegador para o motor de fala para texto Soniox, por um WebSocket criptografado — e o nosso backend nunca vê um único byte dele.

Este artigo percorre exatamente como isso funciona, quais dados atravessam a rede e como a arquitetura se encaixa nos frameworks de conformidade mais comuns.

O Princípio Central de Privacidade

A maioria das ferramentas SaaS de tradução segue um fluxo de dados familiar:

  1. O seu navegador captura o áudio da reunião
  2. O áudio é enviado para o backend do fornecedor
  3. O backend do fornecedor repassa o áudio a um motor de fala para texto
  4. As transcrições voltam pelo backend do fornecedor
  5. Os servidores do fornecedor frequentemente registram, armazenam em cache ou retêm o áudio pelo caminho

Cada salto dessa cadeia é uma fronteira de confiança. Cada salto é um lugar onde um bug de log, um vazamento de credencial, uma intimação judicial ou um engenheiro mal-intencionado poderia expor o conteúdo da sua reunião. Quanto mais partes tocam o áudio, mais difícil fica provar a um auditor que ninguém o reteve.

O Gaavala elimina completamente a etapa de repasse. O fluxo de dados é:

  1. O seu navegador captura o áudio da reunião a partir da aba
  2. O seu navegador abre um WebSocket direto para o Soniox
  3. O áudio é transmitido diretamente por esse WebSocket
  4. O Soniox devolve as transcrições diretamente ao seu navegador
  5. O backend do Gaavala nunca é envolvido

A extensão do Chrome rodando na sua máquina é a única parte do nosso código que chega a tocar o seu áudio — e ela não envia esse áudio para nós.

Por Que Escolhemos Esta Arquitetura

Quando reconstruímos o Gaavala como extensão do Chrome, tomamos uma decisão arquitetural deliberada: a extensão autenticaria usuários pelo nosso backend, gerenciaria o estado da assinatura e serviria metadados — mas nunca estaria no caminho do áudio. O raciocínio era direto:

O Fluxo de Dados em Detalhe

Vamos ver o que de fato acontece quando você inicia a transcrição em uma reunião.

Passo 1: Autenticação

Quando você entra no Gaavala pela primeira vez, a extensão usa a API chrome.identity.launchWebAuthFlow do Chrome para completar um fluxo OAuth de Authorization Code com Google ou Microsoft. O provedor de identidade devolve um código de autorização ao seu navegador, que a extensão troca com o nosso backend por um JWT de sessão do Gaavala. Esse JWT fica em chrome.storage.local e é usado para autenticar as chamadas seguintes à nossa API.

Nada disso lida com áudio. O fluxo OAuth é somente texto — tokens, claims, campos de perfil.

Passo 2: Chave Temporária do Soniox

Quando você clica em "Start" (Iniciar) em uma reunião, a extensão chama a API do nosso backend para solicitar uma chave temporária do Soniox, de curta duração. Essa chave tem três propriedades importantes:

O padrão de chave temporária é central para a história de privacidade. Se o Gaavala embarcasse uma chave de API do Soniox de longa duração dentro do pacote da extensão, qualquer pessoa poderia extraí-la. Em vez disso, emitimos chaves descartáveis, geradas sob demanda, vinculadas à sua sessão autenticada e invalidadas pouco depois do fim da sessão.

O nosso backend registra apenas os metadados dessa requisição — qual usuário, em que horário, em qual plano. Ele não vê áudio nenhum, porque nenhum áudio foi capturado ainda.

Passo 3: Captura do Áudio da Aba

Você entra na sua chamada do Microsoft Teams, Zoom, Google Meet ou Webex em uma aba do Chrome. A extensão do Gaavala abre o painel lateral e pede que você inicie a captura de áudio. Quando você confirma, a extensão usa a API tabCapture do Chrome — uma API exclusiva de extensões que permite capturar o áudio da aba ativa com permissão explícita do usuário e um indicador visível.

O Chrome encaminha o áudio capturado para um documento offscreen que o Gaavala mantém em segundo plano. O documento offscreen é uma página isolada que a extensão pode usar para processar áudio sem manter interface visível por perto. Dentro desse documento offscreen, o Gaavala abre um MediaStream, conecta-o a um AudioContext e o prepara para o streaming.

Um ponto crucial: o áudio também passa por um grafo de áudio local que devolve o som aos seus alto-falantes. Isso significa que você continua ouvindo a reunião normalmente enquanto o Gaavala a captura — nada é silenciado nem redirecionado.

Passo 4: WebSocket Direto para o Soniox

O documento offscreen então abre uma conexão WebSocket diretamente com o Soniox (wss://stt-rt.soniox.com/...). Essa conexão:

Os quadros de áudio capturados da aba são codificados como PCM e enviados pelo WebSocket. O Soniox os processa em tempo real e devolve tokens de transcrição pela mesma conexão. Esses tokens — fragmentos de texto com marcação de tempo e etiquetas de falante — chegam diretamente ao documento offscreen, que os encaminha ao painel lateral para exibição.

Em nenhum momento desse ciclo inteiro um pacote de áudio chega a um servidor operado pelo Gaavala. Você mesmo pode verificar isso com o Chrome DevTools: abra a aba Network com o filtro WS ativo enquanto o Gaavala estiver rodando, e você verá exatamente um WebSocket — para um host soniox.com — e zero tráfego de saída para gaavala.com contendo áudio.

Passo 5: Exibição da Transcrição e Resumo Opcional

Os tokens de transcrição são renderizados em três superfícies: o painel lateral, um overlay flutuante na aba da reunião e o buffer em memória usado para exportação. Nenhuma dessas superfícies serializa áudio. Elas lidam apenas com texto.

Quando você aciona um resumo de IA ao fim de uma reunião, o resumo é gerado inteiramente no seu dispositivo pela IA integrada do Chrome (Gemini Nano). O texto da transcrição nunca sai da sua máquina — ele não é enviado ao backend do Gaavala e não é enviado a nenhum terceiro. O conteúdo da reunião, seja áudio ou texto, nunca atravessa o backend do Gaavala; a única coisa que atravessa continua sendo metadados de autenticação e de assinatura.

Quais Dados os Servidores do Gaavala Veem

Esta é a lista exata dos dados que o nosso backend manipula, em todos os recursos:

Dado Quando Retenção Observações
Refresh token de sessão do Gaavala No login Tempo de vida do token — registros expirados são removidos diariamente O seu token OAuth do Google/Microsoft nunca é armazenado
Perfil do usuário (e-mail, nome) No login Tempo de vida da conta Para cobrança + suporte
Status da assinatura Sempre Tempo de vida da conta Plano, estado do teste
Requisições de chave temporária do Soniox Por sessão Apenas log da requisição Sem áudio
Contador de minutos de transcrição Por sessão Tempo de vida da conta Agrupado por mês, para aplicação da cota
Analytics anônimo do site Somente depois de você aceitar os cookies Fica no Google Analytics, não no nosso banco de dados Apenas no site — a extensão reporta contagens anônimas de erros que não carregam nenhum ID de usuário

E esta é a lista exata dos dados que o nosso backend não vê:

Se um tribunal intimasse o Gaavala a entregar o áudio de uma reunião específica, a resposta tecnicamente verdadeira seria que não o temos e não conseguimos recuperá-lo. Ele nunca existiu nos nossos sistemas.

Audite Você Mesmo

Uma das vantagens de rodar como extensão do Chrome é que todo o runtime é inspecionável. A sua equipe de TI pode verificar as nossas afirmações de privacidade sem acreditar em uma única palavra deste artigo:

Método 1 — Inspeção de rede. Abra chrome://extensions, encontre o Gaavala e clique em "service worker" ou em "inspect views > background page". No DevTools, vá até a aba Network e filtre por WS (WebSocket). Inicie uma reunião. Você verá exatamente um WebSocket aberto, para um host soniox.com. Nenhum áudio vai para gaavala.com.

Método 2 — Inspeção do manifesto. Em chrome://extensions, expanda "Details" (Detalhes) no Gaavala e revise as permissões. As host_permissions declaram exatamente quais origens a extensão consegue alcançar. Você verá endpoints do Soniox para streaming e endpoints do Gaavala para autenticação e assinatura. Não há permissão de host com curinga nem acesso de rede não declarado.

Método 3 — Inspeção do código. A extensão é distribuída com um service worker, um documento offscreen, o painel lateral e content scripts. O Chrome expõe todos eles para inspeção pelas ferramentas de desenvolvedor. A sua equipe de segurança pode se conectar à background page ou ao documento offscreen a qualquer momento e ler o estado do runtime — inclusive confirmar que o objeto do stream de áudio nunca é serializado em um fetch ou XHR em direção ao nosso domínio.

Publicamos o manifesto e as permissões de host como parte da ficha na Chrome Web Store, e recebemos bem revisões de segurança de terceiros.

Mapeamento de Conformidade

GDPR e Minimização de Dados

O Artigo 5(1)(c) do GDPR estabelece o princípio da minimização de dados: dados pessoais devem ser "adequados, pertinentes e limitados ao necessário". Dados de voz são dados pessoais sob o GDPR, e dados biométricos quando usados para identificação.

A arquitetura do Gaavala se alinha diretamente a esse princípio. Ao manter o áudio inteiramente fora dos nossos sistemas, minimizamos os dados pessoais que processamos ao mínimo absoluto necessário para operar um negócio de assinatura — e-mail, nome, estado de cobrança. Para clientes que conduzem DPIAs, o nosso backend é efetivamente transparente quanto ao processamento de áudio: não há nada a avaliar, porque nada chega até nós.

O Soniox é um processador separado na sua cadeia de conformidade. Você pode analisar a postura de privacidade dele de forma independente, e o Soniox publica termos de processamento de dados que se aplicam à conexão direta que o seu navegador estabelece com ele.

HIPAA e Áudio Contendo PHI

Sob a HIPAA, qualquer fornecedor que processe, armazene ou transmita Informações de Saúde Protegidas (PHI) precisa assinar um Business Associate Agreement. Consultas médicas frequentemente contêm PHI — nomes de pacientes, diagnósticos, planos de tratamento.

Como o backend do Gaavala nunca recebe o áudio da reunião, o pipeline de áudio fica fora do escopo do BAA do Gaavala. A relação que você avalia para o processamento de áudio é entre você e o Soniox diretamente — o Gaavala não é business associate para esses dados, porque esses dados não nos tocam. Se você gerar resumos de IA, eles são produzidos no dispositivo pela IA integrada do Chrome — o texto da transcrição fica na sua máquina, então o recurso de resumo também não traz o Gaavala nem nenhum fornecedor adicional para a cadeia de processamento de PHI.

Risco de Fornecedor em SOC 2

Auditorias SOC 2 exigem que as organizações documentem e avaliem todos os fornecedores terceiros na sua cadeia de processamento de dados. Cada fornecedor adiciona complexidade à sua System Description e amplia o escopo da sua avaliação de risco.

Na arquitetura do Gaavala, o Soniox é um processador de dados com quem você interage diretamente, não através do Gaavala. O seu registro de risco de fornecedores deve avaliar o Soniox pelos próprios termos dele, o que muitas equipes de segurança consideram mais simples do que avaliar uma relação de subprocessador. O escopo do Gaavala no seu registro de risco é mais estreito: cuidamos de identidade e cobrança — não de áudio bruto, e não do texto da transcrição ou do resumo, que nunca sai da máquina do usuário.

Por Que o Formato de Extensão do Chrome Importa

Boa parte das garantias de privacidade acima depende de o Gaavala rodar como extensão do Chrome, com um padrão de rede direto para o provedor. Consideramos, e rejeitamos, várias alternativas:

O formato de extensão do Chrome foi o único que viabilizou a arquitetura de privacidade que queríamos. tabCapture, documentos offscreen e o modelo de service worker do Manifest V3, em conjunto, permitem que a extensão lide com o áudio inteiramente na máquina do usuário, abra conexões diretas com serviços externos e mantenha o estado em segundo plano necessário para reuniões longas — sem rotear nada por nós.

O Que Ainda Precisamos Acertar

Arquitetura de privacidade não termina em "não tocamos no áudio". Há preocupações adjacentes que também levamos a sério:

Comparação Entre Ferramentas de Tradução de Reuniões

Como o modelo de privacidade do Gaavala se compara ao de outras ferramentas comuns de tradução de reuniões?

Recurso Gaavala Otter.ai Zoom AI Companion Teams Copilot Interprefy
O áudio chega ao backend do fornecedor Não (direto para o Soniox) Sim (servidores do Otter) Sim (servidores do Zoom) Sim (servidores do M365) Sim (servidores da plataforma)
Áudio retido após a reunião Não Sim (padrão) Opcional Opcional Varia
Usado para treinar modelos Não Com opção de desativar Com opção de desativar Controles corporativos Desconhecido
Você mesmo pode auditar a rede Sim (DevTools) Não Não Não Não
Roda como extensão (auditável) Sim Não Não Não Não
Funciona em Teams/Zoom/Meet/Webex Sim Parcial Não Não Varia

O diferencial que importa: em todas as outras linhas dessa tabela, você está confiando nas afirmações do fornecedor sobre como o áudio é tratado nos servidores dele. Com o Gaavala, não há servidores em que confiar quanto ao áudio, porque não existe áudio nos nossos servidores. A afirmação é verificável com as ferramentas padrão de desenvolvedor do Chrome.

Privacidade É o Padrão, Não um Plano Pago

O plano gratuito do Gaavala entrega a mesma arquitetura direta para o Soniox, a mesma diarização de falantes, a mesma cobertura de 60 idiomas. O Pro libera 120 minutos por dia, o Speak Mode e a clonagem de voz — não privacidade. Não acreditamos que usuários preocupados com privacidade devam pagar mais para manter os próprios dados seguros.

Se a sua organização historicamente rejeitou ferramentas de tradução de reuniões porque a área de conformidade disse não ao envio de áudio para a nuvem de um fornecedor, o Gaavala foi construído para essa conversa. O pipeline foi desenhado para que as suas equipes jurídica, de segurança e de conformidade tenham menos coisas a revisar — não mais.

Adicione o Gaavala ao Chrome →

Teste grátis único: 5 minutos de transcrição, nunca renova. Sem cartão de crédito. Sem cadastro no site.


Artigos Relacionados

Mais guias da Gaavala