Segurança
O Parla trabalha com o seu microfone, por isso foi feito para ser difícil de usar de forma abusiva. Sua voz nunca sai do seu dispositivo, a extensão pede o mínimo possível, e cada parte do código que publicamos é fixada, verificada e testada antes de chegar até você.
Enquanto você usa o Parla
- Sua voz é limpa no seu dispositivo, dentro do navegador. O Parla não tem servidor que receba áudio, nem contas ou senhas que possam ser roubadas.
- O mecanismo é código nosso, escrito em Rust sem bibliotecas de terceiros, e roda como WebAssembly na sandbox do navegador. Os modelos de IA são dados (números), não programas: nenhum código dos autores dos modelos roda no seu computador.
- A extensão pede só o que a limpeza do microfone exige: guardar as configurações e rodar nas páginas em que você usa o microfone. As páginas dela só executam os próprios scripts (uma Content Security Policy rígida).
- As páginas da web só chegam à extensão por um canal estreito: recebem os arquivos do mecanismo e nada mais, e tudo o que enviam é verificado e tem tamanho limitado.
- Os relatórios ficam desativados até você ativá-los. São anônimos, e cada campo está listado na nossa documentação.
Do nosso código ao seu navegador
- Tudo o que o build usa é fixado em uma versão exata e verificado pela sua impressão digital: GitHub actions por commit, imagens de contêiner por digest, downloads por SHA-256, pacotes npm e Python por lockfile.
- Nenhuma versão com menos de 3 dias entra. A maioria das versões maliciosas de pacotes é descoberta e removida em poucos dias, então deixamos que sejam pegas primeiro. As atualizações automáticas esperam uma semana, e cada uma é compilada e testada antes de ser aceita.
- Os pacotes nunca podem executar scripts de instalação, e as assinaturas do registro npm são verificadas em todo build.
- Só o nosso pipeline automatizado gera as versões, a partir do branch principal. As credenciais das lojas e do npm ficam em um ambiente protegido que só a etapa de publicação pode usar, e o build não guarda o token de acesso do repositório.
Verificado a cada mudança
- Análise estática: o CodeQL lê o TypeScript, o mecanismo em Rust e os workflows de build; o zizmor audita os workflows.
- Uma varredura dinâmica do site (OWASP ZAP) a cada mudança e toda semana.
- Uma mudança que adiciona um pacote com vulnerabilidade conhecida é bloqueada, e os alertas do Dependabot monitoram todos os lockfiles.
- Varredura de segredos com proteção de push: o GitHub recusa qualquer commit que contenha uma senha ou chave.
- Código com tipagem estrita (TypeScript e Python) e testes automatizados no Chrome e no Firefox antes de cada versão.
Encontrou um problema?
Conte para nós em particular: relate uma vulnerabilidade no GitHub. Assim ele pode ser corrigido antes de se tornar público.
Tudo nesta página pode ser conferido: o código, o pipeline de build e as verificações de segurança são de código aberto. Como as versões são geradas e verificadas