Seja o primeiro da fila quando o Gaavala chegar à Chrome Web Store. Entrar na lista de espera
Como o Gaavala Protege o Áudio das Suas Reuniões: Uma Arquitetura com Privacidade em Primeiro Lugar
Gaavala envia o áudio ao vivo do navegador diretamente ao Soniox para transcrição e tradução. O backend processa contas, assinaturas e outros dados declarados, mas não retransmite esse áudio. O histórico das transcrições permanece sete dias no seu dispositivo. Este guia explica os fluxos separados e como inspecioná-los.

O Princípio Central de Privacidade
A maioria das ferramentas SaaS de tradução segue um fluxo de dados familiar:
- O seu navegador captura o áudio da reunião
- O áudio é enviado para o backend do fornecedor
- O backend do fornecedor repassa o áudio a um motor de fala para texto
- As transcrições voltam pelo backend do fornecedor
- 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 é:
- O seu navegador captura o áudio da reunião a partir da aba
- O seu navegador abre um WebSocket direto para o Soniox
- O áudio é transmitido diretamente por esse WebSocket
- O Soniox devolve as transcrições diretamente ao seu navegador
- 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 áudio da sua reunião — 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:
- Manter o áudio fora do backend do Gaavala reduz um caminho de processamento; não elimina a necessidade de avaliar o serviço, o Soniox, as permissões do navegador e as transcrições locais. Os fluxos de conta, cobrança, amostra de voz e diagnóstico também precisam ser considerados.
- Raio de impacto de segurança: uma violação em um servidor que processa áudio é fundamentalmente pior do que uma violação em um servidor que processa metadados de texto. Preferimos que os nossos sistemas mais sensíveis lidem com os dados menos sensíveis.
- Latência: cada salto de repasse adiciona tempo de ida e volta. O streaming direto do navegador para o Soniox elimina um salto inteiro, o que nos dá uma latência de legendas visivelmente melhor.
- Custos que se alinham com a privacidade: operar o nosso próprio repasse de áudio significaria pagar banda e computação em cada reunião. Não operar um economiza dinheiro e protege os clientes. Quando os incentivos se alinham, a arquitetura tende a permanecer honesta.
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:
- Ela é restrita apenas a fala para texto — nada mais na superfície da API do Soniox
- Ela expira em minutos, não em dias
- Ela é emitida uma vez por sessão e não é persistida no seu dispositivo
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. Essa conexão:
- Usa TLS 1.2 ou superior
- É autenticada com a chave temporária de curta duração do Passo 2
- Origina-se da pilha de rede do seu navegador — os pacotes fluem do seu sistema operacional para o Soniox, não para o Gaavala
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 da reunião 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 da reunião.
Passo 5: Exibição da Transcrição e Resumo Opcional
As legendas aparecem no painel lateral e na sobreposição da reunião. O histórico também fica sete dias no banco de dados local da extensão no seu dispositivo, com exportação e exclusão. É armazenamento de texto local, não gravação de áudio nem arquivo na nuvem.
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; o que atravessa está listado na próxima seção.
Quais Dados os Servidores do Gaavala Veem
Estes são os principais tipos de dados que o nosso backend trata, 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 |
| Registros de pagamento (Pro) | Quando você paga | Pelo tempo que a lei fiscal exigir, mesmo depois que você apagar a sua conta | Valor, imposto, moeda, país, data e forma de pagamento, conforme informados pelo nosso parceiro de pagamentos; os dados do seu cartão ficam com o parceiro de pagamentos |
| 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 |
| Amostra de referência do clone de voz (Pro) | Somente se você gravar uma | Até você apagar a sua voz ou a sua conta | Criptografada (AES-256-GCM), usada apenas para construir a sua voz; não é áudio de reunião |
| Relatórios de problemas técnicos | Somente quando você enviar um | 180 dias | Diagnósticos que você escolhe enviar; o texto da transcrição fica de fora |
| Idioma da interface | Sempre que você usa a extensão com a sessão iniciada | Tempo de vida da conta | Para que nossos e-mails cheguem a você no seu idioma |
| E-mail da lista de espera (site) | Somente se você entrar na lista de espera | Até você nos pedir para apagá-lo | Com o idioma da página e a origem da campanha; usado apenas para confirmar o endereço e anunciar o lançamento |
| 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ê:
- Áudio bruto da reunião (em qualquer formato, em qualquer momento)
- Streams comprimidos de áudio da reunião
- Buffers de áudio da reunião ou representações intermediárias
- Dados biométricos de voz das suas reuniões (a única gravação de voz que guardamos é a amostra do clone de voz do Pro citada acima, e só se você a gravar)
- Identidade de falante além dos IDs anônimos de falante que o Soniox atribui
- Texto da transcrição — os resumos são gerados no dispositivo; as transcrições nunca saem da sua máquina
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.
Em chamadas recorrentes com clientes, seu próprio clone de voz pode dar ao Speak Mode uma voz familiar; o guia explica a gravação e a exclusão.
Para controles e limites de respostas apenas por texto, veja o guia de acessibilidade.
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 da reunião 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 análise de minimização deve distinguir áudio enviado ao Soniox, dados de conta e amostra vocal opcional tratados pelo Gaavala e texto no dispositivo. Esses fluxos continuam na avaliação mesmo sem um intermediário de áudio.
O Soniox continua na sua cadeia de conformidade, como o fornecedor de serviços de voz que o Gaavala contrata: o Gaavala mantém a conta no Soniox e emite a chave de curta duração com que o seu navegador se conecta, e a nossa Política de Privacidade cita o Soniox entre os terceiros com quem compartilhamos dados. Por isso, uma DPIA abrange o Soniox como parte do serviço do Gaavala, não como um fornecedor que você mesmo contrata.
HIPAA e Áudio Contendo PHI
Segundo as orientações do HHS sobre business associates, um fornecedor que trata informações de saúde protegidas em formato eletrônico (ePHI) em nome de uma entidade sujeita à HIPAA ou de outro business associate pode se enquadrar nessa categoria. Quando essa relação se aplica, são necessárias cláusulas BAA adequadas. As orientações do HHS sobre nuvem explicam a aplicação aos serviços de nuvem. Avalie o serviço efetivo, os fluxos de dados e os acordos.
O backend do Gaavala nunca recebe o áudio da reunião, portanto as PHI faladas em uma reunião nunca ficam armazenadas nos servidores do Gaavala. Ainda assim, o áudio da reunião é transmitido ao Soniox e processado lá, pelo fornecedor de serviços de voz que o Gaavala contrata; por isso, uma avaliação de HIPAA precisa cobrir esse caminho como parte do serviço do Gaavala — não se trata de uma relação apenas entre você e o Soniox. 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 não acrescenta à cadeia de processamento de PHI nem os servidores do Gaavala nem outro fornecedor.
Risco de Fornecedor em SOC 2
O critério CC9.2 dos Trust Services Criteria da AICPA trata da avaliação e gestão dos riscos associados a fornecedores e parceiros comerciais. A avaliação depende do sistema, dos serviços e dos compromissos definidos, além do papel do fornecedor nesse escopo.
Na arquitetura do Gaavala, o seu navegador se conecta diretamente ao Soniox, mas a relação com o fornecedor passa pelo Gaavala: o Gaavala mantém a conta no Soniox, por isso o seu registro de risco de fornecedores lista o Soniox como subprocessador do Gaavala para reconhecimento de voz, não como um fornecedor que você mesmo contrata. O que a conexão direta reduz é a pegada do próprio Gaavala: os nossos servidores cuidam de dados da conta, como identidade, cobrança e uso, além da amostra do clone de voz de um usuário Pro, se ele gravar uma — não do áudio das reuniões, 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:
- Repasse de áudio no servidor: simples de implementar, mas nos obrigaria a lidar com o áudio de cada cliente na nossa própria infraestrutura. Foi exatamente o que quisemos evitar.
- Aplicativo web com STT embutido: capturar o áudio da aba a partir de uma página web exige
getDisplayMedia, que apresenta ao usuário um seletor no nível do sistema operacional a cada sessão e prende a captura à aba escolhida. Pior: não há forma confiável de uma página web manter um stream de áudio em segundo plano enquanto o usuário interage com outras abas. - Aplicativo nativo de desktop: nos daria mais controle, mas adicionaria atrito de instalação, custos de assinatura digital e a carga de desenvolvimento específico por sistema operacional. E ainda assim não eliminaria o nosso papel de processador de áudio, a menos que fôssemos cuidadosos — o que significa reinventar todos os mesmos problemas.
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 capture o áudio da reunião na máquina do usuário, transmita-o por uma conexão direta ao motor de fala para texto e mantenha o estado em segundo plano necessário para reuniões longas — sem passar o áudio da reunião pelos nossos servidores.
O Que Ainda Precisamos Acertar
Arquitetura de privacidade não termina em "não tocamos no áudio das reuniões". Há preocupações adjacentes que também levamos a sério:
- Emissão de chaves temporárias: as chaves Soniox de curta duração que emitimos poderiam ser abusadas se o nosso backend as emitisse para um atacante. Autenticamos cada requisição com o seu JWT, limitamos a taxa de emissão de chaves e registramos anomalias.
- Atualizações da extensão: uma versão atualizada da extensão poderia, em tese, mudar o padrão de rede. Versionamos o manifesto, publicamos changelogs, e a Chrome Web Store exibe qualquer permissão nova antes de a atualização ser instalada.
- Texto do resumo: os resumos são gerados inteiramente no dispositivo pela IA integrada do Chrome (Gemini Nano), então a transcrição nunca chega ao nosso backend — esse risco não existe na arquitetura atual. Se até o processamento local de IA for demais para uma reunião específica, basta não usar o recurso de resumo; nada mais depende dele.
- Amostra de referência do clone de voz (Pro): se você criar um clone pessoal da sua voz, a sua amostra de dois minutos é armazenada criptografada (AES-256-GCM) nos servidores do Gaavala, usada apenas para construir a sua voz e apagada mediante solicitação — veja a Política de Privacidade.
- Solicitações judiciais: nos comprometemos publicamente a responder a solicitações judiciais apenas quanto a dados que de fato possuímos. Para o áudio das reuniões, a resposta será sempre "nós não o temos".
Comparação Entre Ferramentas de Tradução de Reuniões
Compare separadamente quem recebe o áudio, onde e por quanto tempo guarda o texto e se o usa para treinar modelos. Gaavala envia áudio ao Soniox e mantém o histórico local por sete dias; isso não define a política de outros produtos.
O Zoom declara que não usa as comunicações de clientes para treinar modelos de IA próprios ou de terceiros. Confira separadamente a retenção, os recursos ativos e as configurações da organização: treinamento e armazenamento são questões diferentes.
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 até agora a sua organização recusou ferramentas de tradução de reuniões porque a área de conformidade vetou servidores do fornecedor da ferramenta entre as suas reuniões e o motor de fala para texto, o Gaavala foi feito exatamente para esse caso. 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.
Teste grátis único: 5 minutos de transcrição, nunca renova. Sem cartão de crédito. Sem cadastro no site.