Pular para o conteúdo principal

Segurança

O lugar mais seguro para o seu trabalho é o computador em que ele já está.

O Convira é um agente de desktop, então a coisa mais forte que podemos dizer sobre os seus dados não é uma política e sim um formato: numa execução na nuvem não existe no nosso banco tabela alguma para o que você digitou, o que o modelo respondeu ou o que as ferramentas fizeram. Não é uma regra proibindo a leitura. Não há coluna para ler.

  • Empresa da UE · Convira OÜ · 17268095
  • Hospedado na UE · banco de dados e API
Uma execução na nuvemNosso banco de dados

Removido antes de qualquer gravação

  • Instrução
  • Resposta
  • Raciocínio
  • Caminhos de arquivo
  • Entrada e saída das ferramentas

Tudo o que resta para armazenar

  • Status
  • Carimbos de tempo
  • Modelo
  • Duração
  • Créditos

Todo evento de execução atravessa no nosso código uma única fronteira que remove os campos de conteúdo com base em uma lista antes de qualquer gravação. A execução em si vive no seu dispositivo.

Provas

Coisas que você pode conferir sem acreditar na nossa palavra.

Um certificado é um jeito de deixar que outra pessoa faça a checagem. Não temos um, então aqui está o material para você fazer por conta própria.

  • Todo artefato de versão é assinado com SigstoreA assinatura é sem chave persistente e o certificado nomeia o workflow que produziu a build, então a assinatura diz qual pipeline fez aqueles bytes, e não apenas que alguém tinha uma chave. Cada versão traz o seu bundle.
    cosign verify-blob --bundle FILE.release.sigstore.json --certificate-identity-regexp '/desktop-release.yml@' --certificate-oidc-issuer https://token.actions.githubusercontent.com FILE
  • Toda build sai com uma lista de materiaisUm SBOM CycloneDX por plataforma, publicado como arquivo da versão ao lado do instalador, listando o grafo npm e os crates Rust sobre os quais a criptografia é construída. Passe para o seu próprio scanner.
  • A procedência da build viaja com o binárioCada plataforma publica uma declaração assinada ligando o artefato ao commit e à execução do workflow que o construiu, e o job de publicação se recusa a publicar se essas assinaturas não conferirem.
  • Os instaladores também são assinados pelos fornecedores da plataformaNotarização da Apple no macOS, Authenticode no Windows. O atualizador do desktop confere a assinatura de uma atualização antes de instalá-la, então uma atualização adulterada é recusada.
  • O banco de dados na sua máquina é criptografadoSuas execuções e sessões ficam em um banco SQLCipher local cuja chave é guardada pelo armazenamento seguro do sistema operacional. Uma build empacotada se recusa a iniciar se essa proteção não estiver disponível, em vez de cair para texto puro.
  • Pesquisadores têm um caminho documentadoUm security.txt conforme a RFC 9116 aponta para uma política de divulgação com prazos de resposta e porto seguro para pesquisa de boa-fé. Essa página fica acessível mesmo enquanto o resto do site está bloqueado.

Onde ficam seus dados

Três formas de executar uma tarefa, e é exatamente nisto que diferem.

O que você escolhe decide o que sai da sua máquina. Nada mais nesta página importa tanto quanto esta tabela.

  • LocalNo seu hardware
    Executa em
    Sua máquina, com modelos hospedados por você
    Registro
    Sua máquina, no banco de dados local criptografado
    Chega até nós
    Tráfego de conta e licenciamento. Uma ferramenta paga de web, mídia ou conectores envia a entrada daquela ferramenta quando você aciona uma.
  • Private BoxEm hardware que você opera
    Executa em
    Um servidor que você mesmo hospeda e controla
    Registro
    Seu dispositivo mantém a cópia de referência
    Chega até nós
    Tráfego de licenciamento, mais a mesma entrada de uma ferramenta cobrada se você invocar alguma. Dispositivos com acesso à box também informam se ela respondeu - uma palavra de status, uma vez a cada dois minutos e de novo sempre que essa resposta mudar - para que os cartões da sua equipe concordem. O pareamento único envia mais, uma só vez: o endereço da box, suas impressões digitais TLS e sua credencial bearer. Guardamos o endereço e as impressões em texto claro para que o dispositivo de um colega fixe a máquina certa, e a credencial bearer apenas como texto cifrado, selada com a chave do seu dispositivo. Nunca o que ela executou.
  • NuvemNa nossa infraestrutura
    Executa em
    Nossa infraestrutura, que encaminha a solicitação ao provedor do modelo
    Registro
    Seu dispositivo mantém a cópia de referência
    Chega até nós
    Apenas metadados operacionais. A instrução e o contexto são encaminhados para gerar a resposta e não são retidos por nós.

Contenção

O código que o agente executa fica enjaulado pelo sistema operacional.

A própria política de permissões do Convira confere toda chamada de ferramenta. Esta é a camada abaixo dela, caso o que esteja errado seja a política.

  • macOSNegar por padrão
    • Seatbelt
    • sandbox-exec

    Um perfil gerado com postura de negar por padrão, de modo que um caminho não concedido à ferramenta é um caminho que ela não consegue abrir.

  • LinuxNegar por padrão
    • bubblewrap
    • namespaces
    • rlimits

    Uma prisão de namespaces. A raiz do sistema de arquivos da ferramenta contém apenas os diretórios que lhe foram concedidos, então um caminho que não lhe foi dado não é apenas ilegível: ele não está lá. Uma ferramenta que roda sem acesso à rede recebe um namespace de rede cujo único dispositivo é o loopback, portanto não consegue abrir um socket para lugar nenhum.

  • WindowsNegar por padrão
    • AppContainer
    • Job Object

    Um AppContainer novo a cada execução, sem SIDs de capacidade, que nega por padrão a rede de saída e o acesso ao sistema de arquivos em vez de apenas restringir gravações. Um Job Object limita memória, processos e CPU.

Verificamos a maior parte disso na sua máquina, e dizemos qual é a parte que não. Na primeira vez que uma ferramenta precisa de um processo isolado, o Convira executa os controles de recursos na sua máquina real: um shell devolve os limites que herdou, um grupo de processos de verdade é morto e o filho em segundo plano que ele lançou tem de morrer junto, e no Linux uma alocação maior que o teto tem de falhar enquanto uma menor sob um teto generoso funciona; um controle cuja checagem não passa é reportado como ausente pelo resto daquela sessão. O confinamento de arquivos e de rede só é checado desse jeito no Windows, lançando contra ele um processo confinado de verdade; no macOS e no Linux esses dois são deduzidos da presença do próprio sandbox do sistema operacional em vez de exercitados. Quando uma ferramenta precisa de um isolamento que o host não consegue dar, a ferramenta é retida em vez de rodar sem ele: código escrito pelo modelo é recusado de imediato, em vez de rodar sem confinamento. A exceção é uma lista curta de auxiliares que o próprio Convira invoca e que o modelo não pode escrever - git, extração de arquivos compactados, OCR -, que mantêm um caminho de compatibilidade mais estreito caso o sandbox de negação por padrão não carregue na sua máquina.

Limites

O que não afirmamos.

Esta seção é o motivo para acreditar no resto. É a parte que um fornecedor não tem incentivo algum para escrever, e ela vem escrita primeiro.

  • Sem certificação SOC 2 ou ISO 27001Hoje não temos nenhuma das duas. O SOC 2 é o primeiro trabalho planejado assim que o volume de negócios justificar o custo, e vamos nomear a firma e a janela quando ele começar, em vez de apresentar um plano como se fosse uma credencial.
  • Sem revisão externa da criptografiaNinguém de fora desta empresa a examinou. Nossa própria bateria de red team é evidência para nós, não um resultado a publicar como se fosse a conclusão de terceiros.
  • Ainda sem logon únicoAs contas usam uma senha mais um código enviado por e-mail. Hoje não há opção SAML ou OIDC para contas de cliente.
  • O Acordo de Processamento de Dados foi redigido internamenteEle está publicado e se aplica automaticamente, e não passou por advogado externo. Vai passar antes da primeira assinatura corporativa, e o próprio acordo diz isso na sua primeira seção.
  • Metadados de entrega existemNossos servidores veem para qual espaço de trabalho e canal uma mensagem foi, qual era o tamanho e quando. É assim que a entrega funciona. Criptografamos o conteúdo; não afirmamos a ausência de metadados.
  • Local significa inferência local, não herméticoNo runtime local, uma ferramenta paga de web, mídia ou conectores ainda nos envia a entrada daquela ferramenta, porque as chaves desses serviços são nossas e ficam no servidor. Tudo em volta permanece na sua máquina.

Disciplina

O que impede esta página de se desviar.

Texto de marketing envelhece mais rápido que software. Estas são as verificações que quebram o nosso build quando isso acontece.

  • Uma carta de frases que não podemos escreverUma verificação varre todo arquivo deste site que menciona o Team Hub e quebra o build diante de um exagero, em inglês e nas onze traduções, porque quatro tradutores uma vez transformaram uma afirmação delimitada em uma universal.
  • Apagar uma divulgação também quebra o buildA mesma verificação fixa os limites específicos que esta página precisa carregar. Um parágrafo de limites removido sem alarde numa reescrita é build vermelho, não uma melhoria silenciosa do texto.
  • A afirmação sobre criptografia é exercitada, não declaradaUma bateria percorre as rotas reais de colaboração com selagem real no lado do cliente e uma string marcadora dentro de cada texto em claro, e então confere que o marcador não chega a nenhuma coluna do banco, nenhum objeto armazenado e nenhum evento ao vivo.
Segurança | Convira