12 min de leitura
CardanoWall Desktop: um cliente de e-mail local para Proofs of Existence
O CardanoWall Desktop é um cliente open-source e multiplataforma para Label 309 — identidades locais, um espelho de registros offline-first, uma inbox selada, rastreamento de registros enviados e o gateway de sua escolha. Veja como funciona.

O CardanoWall Desktop é um cliente open-source para Label 309 — uma forma de manter seus registros de Proof of Existence (prova de existência), suas identidades e sua inbox selada na sua própria máquina, em vez de em uma aba do navegador. A sensação é a de um cliente de e-mail: uma Inbox de registros selados endereçados a você, uma visão Sent de tudo o que você publicou, um fluxo de composição para novas provas, um Explorer local sobre o conjunto público de registros na cadeia, Contatos para endereços de recebimento e gerenciamento local de identidades.
Este artigo descreve como ele funciona, para que você possa decidir se ele combina com a sua forma de trabalhar.
O ponto não é apenas "um app de desktop". O ponto são três propriedades que um navegador não consegue oferecer por completo: ele é offline-first, é neutro quanto ao fornecedor e foi construído para que suas chaves privadas nunca saiam do dispositivo.
Que problema o app de desktop resolve?
O app web é o lugar mais fácil para começar. O app de desktop é para quem quer posse local.
Um navegador é um ótimo lugar para criar uma prova rápida, publicar um registro ou rodar um fluxo de trabalho baseado em conta. Algumas pessoas e empresas precisam de mais do que isso:
- um cofre de identidade local e cifrado;
- acesso offline aos registros que já sincronizaram;
- arquivos cifrados em cache local;
- uma inbox privada descoberta por decifração local, e não por roteamento no servidor;
- um espelho local pesquisável do conjunto público de registros;
- fluxos de arquivos grandes que transmitem em vez de carregar arquivos inteiros na memória;
- a capacidade de apontar para um gateway auto-hospedado;
- menos suposições embutidas em torno de um único fornecedor hospedado.
O CardanoWall Desktop foi construído para essas pessoas. Ele traz o modelo Label 309 para a sua própria máquina e trata "offline" como um estado normal, não como um erro.
O CardanoWall Desktop é uma carteira Cardano?
Não. Ele não é uma carteira, e foi projetado para que você nunca confunda os dois.
Ele não custodia ADA. Não guarda uma frase de recuperação de carteira. Não constrói nem submete transações Cardano, e não detém nenhuma chave de cadeia ou de armazenamento.
A publicação ainda passa por um gateway Label 309, que é dono de todo o pipeline de publicação: precificação, upload, construção e submissão da transação Cardano, confirmação, tratamento de reorganizações, indexação e contabilidade de saldo. O app de desktop é um cliente. Ele mantém suas identidades Label 309 localmente, prepara registros, assina quando você escolhe assinar, cifra payloads selados, decifra registros selados que chegam, verifica provas e conversa com o gateway que você configurar. Se você quiser a mesma separação a partir de um script ou de um terminal, a ferramenta de linha de comando open-source faz o mesmo trabalho sem interface.
Por que o app de desktop é open source?
Porque um software que lida com identidades, assinaturas, arquivos cifrados e provas de longo prazo deveria ser inspecionável.
Se uma ferramenta toca nas suas chaves e nas suas provas, você deveria poder ler como ela funciona, uma equipe de segurança deveria poder auditá-la, desenvolvedores deveriam poder construir sobre ela e operadores deveriam poder apontá-la para a própria infraestrutura. O formato da prova é aberto, o gateway é aberto, e o cliente de desktop também é aberto — sob a mesma licença Apache-2.0 do resto do código do Label 309. Um padrão só é tão útil quanto as ferramentas ao seu redor, e essas ferramentas não deveriam transformar você em um cliente cativo.
O que "offline-first" significa aqui?
Offline-first significa que o app local continua útil quando a rede está indisponível, porque um banco de dados local — não a rede — é a fonte da verdade sobre o que você vê.
O app mantém estado local: registros sincronizados, correspondências da inbox, registros enviados, contatos, identidades, texto cifrado em cache e (apenas se você optar por isso) arquivos decifrados em cache. Quando você está offline, ainda dá para:
- navegar pelos registros que já sincronizou;
- ler sua inbox;
- decifrar arquivos selados em cache;
- verificar registros em cache;
- pesquisar seus dados locais;
- rascunhar uma prova para publicar depois.
Offline não significa que toda ação se conclui. Publicar uma nova prova ainda precisa de um gateway e de uma conexão de rede. Buscar um texto cifrado que você nunca colocou em cache ainda precisa de acesso ao armazenamento. Mas os dados que você já sincronizou não desaparecem porque o Wi-Fi caiu. (Para os casos em que estar offline é justamente o objetivo — calcular o hash e assinar em um ambiente isolado — veja provas offline.)
Como funciona a Inbox no desktop?
A Inbox é uma visão local dos registros selados que suas identidades conseguem abrir — e o servidor nunca descobre quais registros são seus.
Um gateway expõe um fluxo público de cada registro Label 309. O app de desktop sincroniza esse fluxo em um espelho local. Para cada uma das suas identidades, ele tenta abrir localmente os compartimentos de chave selados usando as chaves de recebimento daquela identidade. Se um compartimento abre, o registro aparece na Inbox daquela identidade.
Isso não é, deliberadamente, uma caixa de correio no servidor. O feed do gateway é cego ao destinatário: ele não carrega nenhum campo por destinatário, então não tem como saber para quem um registro selado se destina. Seu cliente descobre isso por conta própria, por decifração por tentativa. É exatamente por isso que um cliente local se encaixa tão bem na Proof of Existence selada — a mesma máquina que guarda as chaves da sua identidade é o único lugar onde a inbox pode ser montada.
O que a visão Sent rastreia?
A visão Sent rastreia os registros que você publica, ao longo de todo o seu ciclo de vida — e verifica o resultado em vez de confiar nele.
Uma prova não está concluída no instante em que você clica em enviar. Ela passa por etapas: rascunhada, cotada, em upload, em publicação, submetida, em confirmação, confirmada — ou falha e é reembolsada automaticamente se a publicação não puder ser concluída. O app de desktop mantém esse ciclo de vida visível localmente. Ele consegue mostrar qual gateway foi usado, qual identidade assinou o registro, se o registro foi selado, quais destinatários foram selecionados, quando a transação foi confirmada e se o verificador local concorda que o registro na cadeia corresponde ao que o app preparou.
Essa última parte é a mais importante. "Confirmada" não deveria significar "o gateway disse que sim". O gateway constrói e submete a transação, então isso não é algo a aceitar por fé — um gateway com bugs ou hostil poderia reportar uma transação diferente ou declarar a confirmação de forma incorreta. Por isso, assim que existe um hash da transação, o app busca o registro na cadeia e o compara byte a byte com o exato registro que publicou, antes de marcar qualquer coisa como confirmada. Esta é a verificação autônoma aplicada à sua própria caixa de saída.
Como as identidades são armazenadas no desktop?
Cada identidade é armazenada em um cofre local e cifrado, e a semente secreta nunca sai do núcleo Rust que está no coração do app.
Toda identidade Label 309 tem raiz em uma única Identity Seed de 32 bytes. A partir dessa semente, o app deriva a chave de assinatura e as chaves de recebimento da identidade. A própria semente permanece dentro do núcleo local: ela nunca é enviada à webview que desenha a interface, e nunca é enviada a nenhum gateway. A interface só vê projeções públicas — rótulos, fingerprints, chaves públicas, endereços de recebimento e status. Enquanto o cofre está desbloqueado, a semente vive em memória que se zera e é apagada quando você bloqueia o app ou ele se autobloqueia por inatividade.
Essa separação é a essência de todo o design: a semente é o backup portátil e a coisa que vale a pena proteger, então é tratada como a joia da coroa. Se você quiser o contexto sobre por que uma semente — não uma conta ou uma senha — é a identidade de verdade, veja sua identidade é uma semente, e, para o princípio por trás de mantê-la no dispositivo, por que as chaves nunca saem do dispositivo.
Uma limitação honesta: manter os segredos no núcleo local protege contra uma interface maliciosa ou com bugs e contra um arquivo de cofre roubado e bloqueado. Isso não derrota um sistema operacional totalmente comprometido. Enquanto o app está desbloqueado, um malware na mesma máquina poderia, em princípio, ler segredos em memória — janelas curtas de desbloqueio, autobloqueio e dependências mínimas reduzem essa exposição, mas não conseguem eliminá-la, a mesma ressalva que qualquer carteira de desktop carrega.
Posso usar meu próprio gateway?
Sim — e essa é uma das principais razões pelas quais o app de desktop existe.
Ele funciona com qualquer gateway Label 309 compatível. Aponte-o para o gateway oficial do CardanoWall por conveniência, para um gateway auto-hospedado que sua empresa opera, ou para um gateway por trás do produto de outra pessoa. O oficial é, no máximo, uma porta de entrada conveniente de um clique; nunca é um padrão que você não escolheu. Você fornece a URL base do gateway e uma chave de conta, e o app sonda o endpoint para confirmar que ele fala o padrão antes de você depender dele.
A divisão é clara: o gateway é dono do pipeline de publicação, o desktop é dono da experiência do cliente local. Essa separação é o que evita o aprisionamento. Seu app local, suas identidades locais, seu cache local e seus registros padronizados não deveriam depender de uma única interface hospedada.
O que o gateway vê, e o que ele nunca vê?
Um gateway vê o que precisa para publicar e operar o serviço — e nada que lhe permita ler seus arquivos selados ou se passar por você.
Ele pode ver sua credencial de conta, cotações de preço, uploads, texto cifrado, seu saldo, o status da transação, os bytes públicos do registro e metadados operacionais. Ele não vê sua Identity Seed, não vê suas chaves privadas de destinatário e não consegue decifrar seus arquivos selados. O app de desktop prepara e usa cada segredo localmente; o gateway apenas publica registros padronizados e serve o feed público.
Isso não significa que um gateway nunca possa se comportar mal. Ele pode atrasar, falhar, reter um registro ou reportar o status de forma incorreta. É exatamente por isso que a verificação importa: uma prova válida é verificável a partir do registro público na cadeia e de um explorador Cardano público, e não confiável porque a interface de um gateway diz que sim.
O que posso fazer com arquivos quando estou offline?
Isso depende do que você sincronizou e colocou em cache — e o app é honesto sobre quais arquivos são seguros de manter por perto.
O texto cifrado pode ser mantido em cache livremente, porque já está cifrado; reabrir um arquivo recebido é então instantâneo e funciona offline. Os arquivos decifrados são mais sensíveis, então qualquer cache de arquivo decifrado é opcional, desativado por padrão e ele próprio cifrado. O comportamento padrão é manter o texto cifrado e decifrar sob demanda, em memória.
Um modelo mental útil:
- os metadados públicos do registro podem ser espelhados localmente;
- o texto cifrado pode ser mantido em cache para acesso offline;
- os arquivos decifrados são tratados com cuidado e só gravados em disco onde você os salva explicitamente;
- a Identity Seed permanece protegida no cofre;
- a verificação roda localmente para registros e arquivos em cache.
Isso lhe dá os benefícios práticos de trabalhar offline sem fingir que arquivos decifrados são livres de risco. E um arquivo decifrado ainda é só um arquivo: depois que você o salva, qualquer pessoa a quem você o entregar pode lê-lo. Uma prova selada mantém o conteúdo confidencial para os detentores da chave; ela não torna um destinatário confiável.
Para quem é o app de desktop?
É para pessoas e organizações que trabalham com provas com frequência suficiente para que uma aba do navegador deixe de ser a ferramenta certa.
Bons encaixes incluem:
- equipes jurídicas e de conformidade que recebem provas seladas;
- jornalistas e suas fontes lidando com registros confidenciais;
- empresas que publicam provas de conformidade recorrentes;
- desenvolvedores e equipes de plataforma que usam Label 309 em automação;
- equipes de IA que preservam compromissos de conjuntos de dados e de saídas;
- criadores que mantêm provas assinadas de trabalho original;
- auditores que precisam de acesso local a pacotes de evidências;
- qualquer pessoa que prefira uma infraestrutura auto-hospedada ou neutra quanto ao fornecedor.
Se você só publica uma prova de vez em quando, o app web continua sendo o caminho mais simples, e a ferramenta de linha de comando open-source já permite que você trabalhe sem o site hoje. O app de desktop é para o trabalho contínuo.
O que você ganha
É um produto local-first que se comporta como um software de evidências sério, não como um brinquedo leve. O que ele lhe dá:
- avisos claros de backup de identidade, para que você nunca perca uma identidade por acidente;
- nenhuma confusão com frase-semente de carteira;
- estados de verificação transparentes;
- status de confirmação legível;
- tratamento cuidadoso e fora de banda dos endereços de recebimento;
- pesquisa local em seus registros e arquivos abertos;
- pré-visualização de arquivos em linha de forma segura;
- múltiplas identidades em um só lugar;
- contatos com fingerprints verificáveis;
- a livre escolha de gateway;
- estados de erro honestos em vez de falhas silenciosas.
O padrão lhe dá o modelo de prova. O app de desktop lhe dá o ambiente de trabalho em torno dele. Você pode baixá-lo a partir do código open-source.
A versão curta
O CardanoWall Desktop é o cliente local para Label 309. Ele sincroniza o conjunto público de registros, mantém suas identidades localmente, descobre itens selados da inbox por decifração por tentativa local, rastreia as provas que você envia (e as verifica na cadeia), funciona offline com os dados que você já sincronizou e se conecta a qualquer gateway compatível.
O app web lhe dá conveniência. O app de desktop lhe dá controle local.
Leitura adicional
- O padrão Label 309: label309.org
- Código open-source, SDKs e a ferramenta de linha de comando: github.com/cardanowall
- O que é um gateway Label 309 e o que o CardanoWall pode ver
- Como receber registros selados e usar a CLI em automação