Pular para o conteúdo
Capy

Como o Capy funciona

Como o Capy funciona

O Capy não tem contas nem servidor que consiga ler as suas salas. Esta página mostra como, das suas primeiras 24 palavras até a ata depois de uma chamada.

Cada parte é escrita para qualquer pessoa, com uma nota “Por dentro” para quem quer saber o nome das peças de verdade.

  • Sem contas
  • Peer to peer
  • IA no seu computador

Peer to peer, no Pear

Seu aparelho fala direto com o deles.

Na maioria dos apps, uma mensagem vai de você para o servidor de uma empresa, e o servidor a repassa. O Capy não tem esse servidor. Seu computador se conecta aos computadores das pessoas da sua sala, e o app em si não faz nenhuma requisição à web.

Para se encontrarem, os aparelhos usam uma lista telefônica pública que ninguém controla, chamada tabela hash distribuída (DHT). Cada sala tem um tópico. Os aparelhos que o compartilham o procuram, descobrem o endereço uns dos outros e se conectam. Uma técnica chamada hole punching faz a conexão atravessar roteadores e firewalls domésticos, e tudo no enlace é criptografado de ponta a ponta.

Às vezes não dá para fazer uma conexão direta, por exemplo entre duas redes móveis rígidas. Aí o Capy passa por um relay cego: um computador sempre ligado, mantido pela equipe do Capy, que repassa os bytes criptografados entre os dois aparelhos. Ele não consegue lê-los, e só é usado quando a conexão direta não é possível.

Com quem seu aparelho fala

Com as pessoas da sala, direto

Requisições à web feitas pelo app

Nenhuma

Criptografia

De ponta a ponta, em cada enlace

Se o enlace direto falha

Um relay cego repassa bytes cifrados

HyperDHTse encontram pelo tópicoVocêElesEnlace diretocriptografado de ponta a pontaRelay cegosó vê bytes cifrados
A DHT só apresenta os aparelhos. Mensagens e chamadas vão pelo enlace direto. O caminho tracejado pelo relay é o plano B.

Por dentro

  • RuntimePear · Bare
  • Encontrar peersHyperDHT · Hyperswarm
  • ConexõesNoise · SecretStream
  • Relayblind-relay
Docs do Pear: peer-to-peer, sem mistério

Sua identidade

24 palavras, e nenhuma conta.

Não há cadastro, e-mail nem senha. Quando você começa, o Capy cria 24 palavras. Elas são a sua identidade. A única cópia fica no seu aparelho, num arquivo que só a sua conta de usuário consegue ler, e nada é enviado a lugar nenhum.

A partir das palavras, o Capy deriva uma chave de identidade Keet. A cada vez que o app roda, ele também cria uma chave nova para este aparelho, e a sua identidade a atesta. A chave do aparelho assina tudo o que você escreve: mensagens, seu perfil e confirmações de leitura. O app de todo mundo confere essas assinaturas, então ninguém consegue escrever como você, e nenhum servidor precisa dizer quem você é.

Digite as mesmas palavras em outro computador e ele encontra seus outros aparelhos sozinho, e suas salas vêm junto. Ao sair da conta, o aparelho esquece as palavras. Digite-as de novo para voltar.

Onde ficam as palavras

Só no seu aparelho

Conta, e-mail, senha

Nenhum

O que assina suas mensagens

Uma chave do aparelho, atestada pela sua identidade

Ao sair da conta

O aparelho esquece as palavras

Como uma mensagem passa a ser sua

  1. Suas 24 palavras

    Ficam só neste aparelho. Nada para resetar, nada enviado.

  2. Sua chave de identidade

    A mesma em todo aparelho onde você digita as palavras.

  3. Uma chave para este aparelho

    Criada a cada vez que o app roda. Sua identidade atesta que ela é sua.

  4. Mensagens assinadas

    A chave do aparelho assina o que você escreve, para os outros conferirem que veio de você.

Vale saber

Se você perder as palavras e todos os aparelhos que as têm, ninguém consegue trazer sua identidade de volta, nem nós. Não existe conta para resetar. Enquanto um aparelho continuar logado, os Ajustes mostram as palavras de novo.

Por dentro

  • Identidadekeet-identity-key
  • Seus outros aparelhosblind-pairing

Salas e convites

Uma sala é um registro em que todos escrevem.

O aparelho de cada membro mantém o seu próprio registro e acrescenta a ele. O Autobase junta todos os registros numa só ordem com a qual todos os aparelhos concordam, e um pequeno banco de dados por cima (HyperDB) a transforma em mensagens, perfis e tarefas. Não existe cópia central: a sala é a soma das cópias dos seus membros.

Você entra com um convite, um código que você cola ou lê como QR code. Seu app envia um pedido, e o app de um membro que esteja online confere o convite e deixa você entrar. A partir daí todo o histórico é replicado para você, porque o aparelho de cada membro guarda uma cópia.

Qualquer membro pode estar rodando um Capy modificado, então nenhum aparelho confia num registro só porque ele chegou. Antes de valer, cada aparelho confere o formato, o tamanho e a assinatura dele. Um registro que falha é ignorado do mesmo jeito em todo lugar.

Onde vive uma sala

No aparelho de cada membro

Quem deixa você entrar

Um membro que esteja online

Quem confere cada registro

Todo aparelho, antes de valer

O convite como QR code

Desenhado no seu aparelho

AnaBoVocêAutobaseuneUma só visão
Cada pessoa escreve só no próprio registro. O Autobase dá a todos os aparelhos a mesma visão unida.

Entrando numa sala

  1. Um convite

    Quem criou a sala gera um código. Ele pode ser mostrado como QR code, desenhado no aparelho.

  2. Um pedido

    A pessoa cola o código, e o app dela pede para entrar.

  3. Um membro deixa entrar

    O app de um membro confere o convite e adiciona a pessoa como escritora.

  4. O histórico é replicado

    O registro é copiado para o novo aparelho e a sala abre, mensagens incluídas.

Por dentro

  • Registro compartilhadoAutobase
  • Banco de dadosHyperDB
  • Convitesblind-pairing
  • VerificaçõesAutobase apply
Docs do Pear: crie um app multiwriter com Autobase

Blind peers

Um ajudante que guarda o que não consegue ler.

Uma sala vive nos aparelhos dos seus membros. Se todos estiverem offline, quem volta não tem de quem copiar. Um blind peer cobre essa lacuna. É um computador sempre ligado que guarda uma cópia criptografada dos dados da sala, arquivos incluídos, e a entrega aos membros quando eles voltam. Ele nunca tem a chave que abre nada disso, por isso é cego.

O Capy já vem com um, mantido pela equipe do Capy, e não há nada a configurar: cada sala é registrada nele ao abrir, exceto as salas seguras, que nunca são. Um blind peer guarda blocos assinados, então pode mantê-los ou descartá-los, mas não consegue alterá-los.

Ele também guarda as cópias seladas das chaves das mensagens, que permitem abrir uma mensagem com quem a escreveu offline (mais em armazenamento).

Quem mantém

A equipe do Capy

O que guarda

Cópias criptografadas das salas

O que vê

Endereços IP, quanto está guardado, quando

O que nunca vê

Mensagens, arquivos, nomes

O que pode alterar

Nada: os blocos são assinados

Salas seguras

Nunca entram nele

1 · Todos offlineAnaBoBlind peerblocos trancadosofflineoffline2 · A Ana abre o CapyAnaBoBlind peerblocos trancadossincroniza o que perdeuoffline
Os cadeados são o ponto: o blind peer guarda e entrega os blocos, e não consegue abri-los.

Por dentro

  • Clienteblind-peering
  • O que espelhaAutobase · Hyperblobs · Hypercore
Docs do Pear: blind peering

Armazenamento e criptografia

Cada mensagem tem a sua própria chave.

Tudo vive nos aparelhos dos membros, numa pasta que o app mantém (um Corestore). O Capy não tem banco de dados em lugar nenhum. Fotos, vídeos e arquivos vão em cores próprios, criptografados para que um blind peer não consiga lê-los.

Cada mensagem é selada com uma chave só dela. Essa chave nunca está no registro da sala. Ela fica num arquivo separado em cada aparelho e só viaja para os membros, pelas conexões criptografadas da sala.

Para uma mensagem abrir enquanto quem a escreveu está fora, cada aparelho publica uma nova prekey por dia. Quem escreve sela a chave de cada mensagem para as prekeys dos outros aparelhos, e os blind peers guardam essas cópias. Só o aparelho dono de uma prekey consegue abrir a sua cópia.

Onde ficam seus dados

Nos aparelhos dos membros

O que sela uma mensagem

Uma chave só dela

Onde essa chave fica

Num arquivo separado em cada aparelho

Prekeys

Novas a cada dia, destruídas após cerca de 30 dias

Fotos, vídeos, arquivos

Criptografados, em cores próprios

Depois de Apagar para todos

Chave descartada, blocos dos arquivos limpos

EnviandoMensagemseladaMensagem seladano registro da salaSua chaveAparelhos dos membrosenviada só pelas conexões criptografadas da salaApagando para todosSua chavedestruída em todo aparelho=Ilegívelnenhuma chave abre
A chave e a mensagem ficam em lugares diferentes, então destruir a chave basta para a mensagem ficar ilegível.
  • Apagar para todos é um registro assinado. Cada aparelho o confere, descarta a chave da mensagem e limpa os blocos dos arquivos. O que sobra no registro é ruído selado.
  • A metade privada de uma prekey é destruída quando o prazo acaba (cerca de 30 dias, 60 no máximo), então até as cópias que um blind peer guarda não abrem para ninguém.
  • “Liberar espaço neste aparelho” limpa os arquivos só aqui, e eles continuam limpos após reiniciar. “Baixar de novo” os traz de volta de um membro que os tenha.

Vale saber

Apagar não alcança o que alguém já guardou. Um membro que leu uma mensagem, a fotografou ou roda um app modificado fica com o que tem. O que é garantido: nada legível sobra nos aparelhos honestos, e ninguém que entre depois consegue lê-la.

Por dentro

  • Uma chave por mensagemAES-256-GCM
  • PrekeysX25519 · sealed boxes

Salas seguras

Feita para uma chamada, depois some.

Uma sala segura é para 2 a 8 pessoas. Tem pasta e armazenamento próprios, que não são compartilhados com nada mais no app, e não guarda nada além do chat: sem arquivos, transcrições, atas, notas ou IA.

A chave é criada no aparelho de quem criou a sala e fica num único arquivo no aparelho que só a sua conta de usuário consegue ler. Ela continua ali ao fechar e reiniciar. A sala é apagada quando a chamada termina (o padrão), quando o prazo acaba (um dia por padrão, no máximo uma semana), quando quem a criou a apaga ou quando você sai da conta. Apagar limpa cada core do armazenamento e remove a pasta, arquivo da chave incluído.

Uma sala segura não anuncia tópico, então não pode ser encontrada na DHT. Os membros se conectam direto uns aos outros pela chave. Ela nunca entra na lista da sua conta e nunca é entregue a um blind peer. Enquanto uma está aberta, as janelas do Capy ficam fora de capturas de tela, gravações e compartilhamento de tela no macOS e no Windows. O Linux não consegue isso, e o Capy avisa.

Pessoas

De 2 a 8

Onde a chave fica

No aparelho, até a sala ser apagada

O que guarda

Só o chat

Blind peers

Nunca recebem uma cópia

Criadachave no aparelhoChamadachat, áudio, vídeoApagadachave e pasta removidasmantida ao fechar e reiniciarnada sobraCada aparelho guarda a chave num arquivoNunca anunciada na DHT
Por padrão a sala é apagada quando a chamada termina. As outras formas de ela acabar estão no texto.

Vale saber

Alguém na sala ainda pode fotografar a tela ou rodar um Capy modificado que guarda o que vê. Enquanto a sala não é apagada, quem tiver o seu computador e a sua conta de usuário consegue lê-la, então vale ter criptografia de disco inteiro (FileVault, BitLocker).

Por dentro

  • A salaCorestore · Hyperswarm
  • Janelas ocultasElectron setContentProtection

Chamadas

As chamadas vão entre as pessoas que estão nelas.

Seu microfone é codificado em áudio Opus e sua câmera em vídeo VP8. Os dois são cortados em pacotes pequenos e enviados direto aos outros da chamada, pelas mesmas conexões criptografadas que a sala usa, como mensagens fora de ordem que não esperam umas pelas outras.

Os insights da chamada também não vêm de um servidor. No seu computador, um detector de voz percebe quando você fala. Seu aparelho grava isso, assinado, na sala: em lotes, a cada 5 segundos e quando você sai. Cada aparelho calcula então a divisão de fala e as interrupções a partir dos mesmos registros, e por isso todas as telas mostram os mesmos números, inclusive para quem entrou tarde.

Ninguém hospeda uma chamada. Qualquer pessoa nela pode avançar a rodada, marcar uma decisão ou editar as notas. Quem criou a sala, ou um admin, pode silenciar ou remover alguém, e cada app obedece só a eles.

Áudio

Opus

Vídeo

VP8

Enviado para

As pessoas da chamada, criptografado

Divisão de fala

Calculada em cada aparelho

AnaVocêBoDetector de vozroda em cada aparelhoáudio (Opus) · vídeo (VP8)nenhum servidor mixa a chamadaA divisão de fala é calculada em cada tela a partir dos mesmos registros
Cada enlace leva áudio e vídeo criptografados direto entre dois aparelhos. Se um enlace direto falha, o relay cego repassa os mesmos bytes criptografados.

Por dentro

  • CodecsOpus · VP8 · WebCodecs
  • TransporteProtomux · unordered messages

IA no seu computador

A IA roda aqui, não na nuvem.

A IA do Capy é o QVAC, a IA local da Tether. Você escolhe e baixa cada modelo uma vez em Ajustes → Notas e IA, e ele chega pela rede peer-to-peer, não por um site. Até você baixar um, esses recursos ficam desligados. Os modelos rodam então num segundo processo no seu computador.

Ninguém transcreve você além de você. Com a transcrição ligada, seu computador transforma a sua própria voz em texto com Whisper ou Parakeet e assina cada frase na sala. O texto é compartilhado com a sala: essa é a transcrição. O áudio não é guardado.

Quando uma chamada termina, a última pessoa a sair escreve a ata com um modelo de linguagem no próprio computador, se tiver um modelo de atas. A ata aparece na sala como um cartão que qualquer pessoa pode abrir.

Fica no seu computador

  • Os modelos e tudo o que eles usam
  • Sua voz, como som
  • Me atualiza, a preparação da reunião e as respostas do Buscar e perguntar
  • As sugestões, até você clicar

Vai para a sala

  • As frases da sua própria transcrição, assinadas por você
  • A ata, quando você é o último a sair
  • O que você escolhe adicionar: uma decisão, uma tarefa

Da sua voz até a ata

  1. Seu microfone

    Sua voz é ouvida só no seu computador.

  2. Whisper ou Parakeet

    Transforma sua fala em texto, no seu computador.

  3. Linhas assinadas na sala

    Cada frase é assinada por você e entra na transcrição que todos compartilham.

  4. Um modelo de linguagem

    No computador da última pessoa a sair, se ela tiver um modelo de atas.

  5. A ata

    Aparece na sala como um cartão que abre as notas da chamada.

  • As legendas podem ser traduzidas no seu computador com modelos Bergamot.
  • Buscar e perguntar acha palavras em transcrições, atas e mensagens, e responde perguntas sobre chamadas passadas com o EmbeddingGemma e o modelo de linguagem, citando os momentos.
  • Sugestões de decisões, tarefas e do item da pauta precisam citar uma linha da transcrição. O que não cita é descartado, e nada é adicionado até uma pessoa clicar.
  • O que um modelo escreve vem marcado como IA e separado do que as pessoas disseram.

Vale saber

Nenhum serviço de IA e nenhum servidor do Capy recebe a sua voz ou o seu texto. Um modelo ainda pode errar: trate a IA como quem toma notas, não como fonte da verdade.

Por dentro

  • WorkerBare
  • Fala para texto@qvac/asr-ggml · Whisper · Parakeet
  • Modelo de linguagem@qvac/llm-llamacpp
  • Os modelos vêm deQVAC registry · Hyperswarm
QVAC, da Tether

Atualizações

As versões novas vêm de outros peers.

Não há servidor de atualização. A equipe do Capy publica cada versão na rede Pear, e o app a baixa de outros computadores que já a têm, do mesmo jeito que uma sala é replicada. Seu app confere ao abrir e de novo quando surge uma versão nova.

Quando o download termina, um cartão na barra lateral oferece Reiniciar. Ele nunca reinicia no meio de uma chamada. Uma versão de produção exige um quórum das chaves de assinatura da equipe, então uma chave sozinha não consegue lançar uma atualização.

Se uma versão nova falha ao abrir duas vezes seguidas, o Capy recoloca o app anterior e não tenta aquela versão de novo até chegar uma mais nova. Num Mac fora da pasta Aplicativos, o Capy oferece se mover para lá para poder se atualizar depois.

Servidor de atualização

Nenhum

De onde vem

De outros peers na rede Pear

Assinatura da versão

Um quórum das chaves da equipe

Se uma versão falha duas vezes

O app anterior volta

A viagem de uma atualização

  1. A equipe publica

    Uma versão nova entra na rede Pear, assinada com as chaves da equipe.

  2. Os peers repassam

    Computadores que já a têm compartilham com o seu.

  3. Seu app confere e baixa

    Antes, o Capy confere se consegue se substituir onde está.

  4. Você reinicia

    O Capy oferece Reiniciar. O app anterior é mantido até o novo abrir.

Por dentro

  • Atualizadorpear-runtime

Perguntas

Respostas curtas.

A equipe do Capy consegue ler minhas mensagens?

Não. As mensagens vão entre os aparelhos dos membros e são seladas com chaves que a equipe nunca tem. A equipe mantém alguns ajudantes sempre ligados: um relay cego e um blind peer, que veem endereços IP e quanto dado criptografado circula, nunca o que há nele, um seeder que mantém as atualizações disponíveis e uma caixa de entrada para os relatos de problema que você decide enviar.

O que acontece se todos de uma sala estiverem offline?

A sala espera. Quando alguém volta, as mensagens sincronizam. Como o Capy guarda cópias criptografadas no blind peer, você também recebe dele o que perdeu, mesmo que ninguém mais esteja online. Se você ficou fora por mais de 30 dias, algumas mensagens podem mostrar “Aguardando esta mensagem” até um membro que tenha a chave ficar online.

Onde estão meus dados?

Nos aparelhos das pessoas de cada sala, numa pasta que o app mantém. Uma cópia criptografada também pode ficar no blind peer. Uma sala segura fica só nos aparelhos dos seus membros, e é apagada.

E se eu perder minhas 24 palavras?

Enquanto um dos seus aparelhos continuar logado, os Ajustes mostram as palavras de novo para você anotar. Se perder as palavras e todos os aparelhos, ninguém consegue recuperar sua identidade, nem nós. É o preço de não ter uma conta para resetar.

A IA envia algo para um servidor?

Não. Os modelos rodam no seu computador depois de você baixá-los uma vez, pela rede peer-to-peer. A transcrição da sua voz vai para a sala como texto, assinada por você, porque é isso que uma transcrição compartilhada é. O áudio não é guardado. O Capy não faz nenhuma requisição à web.

É grátis? Por que não há servidores próprios?

Sim, o Capy é grátis, e está em beta. Seus aparelhos fazem o trabalho que os servidores fazem em outros apps: guardam as salas, levam as chamadas e rodam a IA. A equipe só mantém alguns ajudantes leves, como o relay e o blind peer, que movem e guardam bytes criptografados.

O que um blind peer enxerga?

O endereço IP do seu aparelho quando ele se conecta, quanto dado criptografado está guardado e quando ele é lido ou escrito. Não vê o que há dentro: mensagens, arquivos, nomes.

Quem pode ver meu endereço IP?

As pessoas com quem você se conecta numa sala ou numa chamada, os nós da rede que ajudam a encontrá-las, e o relay e o blind peer, se forem usados. É assim que conexões diretas funcionam. Uma VPN o esconde, se isso importa para você.

Alguém na sala pode gravar?

Pode. Qualquer pessoa numa sala vê o que a sala mostra e pode fotografar ou gravar a tela, ou rodar um Capy modificado que guarda o que recebe. As verificações do Capy impedem que um app modificado prejudique o dos outros, mas não impedem um membro de guardar o que viu. Numa sala segura, as janelas do Capy ficam fora de capturas e gravações de tela no macOS e no Windows, mas uma câmera apontada para a tela ainda funciona.

Política de PrivacidadeO que o Capy nunca coleta, e o que os outros podem ver.Baixar o CapyGrátis, em beta, para macOS. Versões de teste para Windows e Linux.Documentação do PearA stack peer-to-peer em que o Capy é construído.

Tudo isto roda nos seus aparelhos. A equipe só mantém um relay, um blind peer, um seeder das atualizações e uma caixa de entrada para relatos de problema, e nenhum deles consegue ler suas salas.