Pular para o conteúdo

Transparência verificável

Como auditar a transparência

Confiança se prova. Aqui mostramos, em linguagem simples, como qualquer pessoaverifica que o cofre só foi liberado por eventos registrados — e que esse registro não pode ser reescrito sem ser notado. Você não precisa confiar na nossa palavra: a matemática responde por nós.

Em uma frase

A Aeterne mantém um registro de transparência: uma lista de eventos que só cresce, com uma “raiz” assinada. Você baixa essa raiz, confere a assinatura com a chave pública e checa a cópia externa no Sigstore Rekor. Se algo tivesse sido alterado, a conferência falharia. Privacidade preservada: o registro guarda apenas hashes e estados — nunca o conteúdo do cofre nem dados pessoais.

  1. 1. Baixe a raiz assinada do registro (STH)

    A “raiz” é um resumo matemático de tudo que aconteceu no registro até agora. Em linguagem técnica, chama-se Signed Tree Head (STH). Você baixa esse resumo, já assinado, abrindo no navegador:

    aeterne.app/api/transparency

    A resposta traz quatro coisas que importam: o treeSize (quantos eventos há no registro), o rootHash (a raiz), o timestamp (o instante) e a assinatura signatureEd25519. Guarde esse texto num arquivo — ele é a sua prova, datada, daquele momento.

  2. 2. Anote a chave pública

    Na mesma resposta há o campo publicKey. Essa é a chave públicada Aeterne — ela só serve para conferir assinaturas, nunca para criar. Pode circular livremente; não é segredo.

    A assinatura é feita com uma chave dedicada, separada de qualquer segredo de login do sistema. Por isso, mesmo num cenário extremo de vazamento de senhas internas, ninguém consegue reescrever o registro e re-assiná-lo sem que você perceba.

  3. 3. Confira a assinatura

    Aqui está o coração da prova: a chave pública confere que aquela raiz foi mesmo assinada pela Aeterne, e que nenhum caractere foi trocado depois. Se um único número da raiz mudar, a conferência falha.

    O jeito mais simples é usar o nosso verificador de linha de comando — ele faz isso por você e não depende dos servidores da Aeterne. Veja o passo a passo no card Verificador independente abaixo.

  4. 4. Cheque a âncora no Sigstore Rekor

    A cada liberação do cofre, a Aeterne publica a raiz num registro público e imutávelmantido por terceiros — o Sigstore Rekor. É um livro-razão append-only que não está sob o nosso controle. Para descobrir onde olhar, abra:

    aeterne.app/api/transparency?op=anchor

    A resposta traz um verifyUrl apontando para search.sigstore.dev. Abra esse endereço e confira que a raiz registrada lá bate com a que você baixou. Como o Rekor é externo, isso prova que nem nós conseguimos reescrever a história sem ser observados.

  5. 5. (Avançado) Recompute a raiz a partir das folhas

    Para quem quer ir ao fundo: o registro segue o padrão internacional RFC 6962(o mesmo do Certificate Transparency). Cada evento é uma “folha”; combinando as folhas em árvore chega-se à raiz. Você pode baixar provas de inclusão e de consistência:

    • ?op=inclusion&index=N— prova de que o evento N está mesmo no registro.
    • ?op=consistency&first=M&second=N — prova de que o registro só cresceu(nada foi apagado) entre os tamanhos M e N.

    Recompondo as folhas pela regra do RFC 6962, você reconstrói a raiz por conta própria e compara com a raiz assinada. Bateu? O registro é íntegro e append-only.

Verificador independente (linha de comando)
Uma ferramenta enxuta, em Node puro, que confere a assinatura por você — sem depender dos servidores da Aeterne. Reusa a verificação criptográfica nativa; não reimplementa nada por conta própria.

O script vive no repositório da Aeterne em scripts/aeterne-verify.mjs. Com o Node instalado:

# Verificar a raiz atual, baixando direto do site:
node scripts/aeterne-verify.mjs sth --url https://aeterne.app

# Verificar uma raiz que você guardou (auditoria ao longo do tempo):
node scripts/aeterne-verify.mjs sth --file sth.json --pubkey-file pubkey.txt

# Ver onde conferir a âncora pública no Sigstore Rekor:
node scripts/aeterne-verify.mjs anchor --url https://aeterne.app

# Ensaiar a integridade do seu arquivo de exportação, 100% offline:
node scripts/aeterne-verify.mjs export --file aeterne-export.json

O verificador devolve [ OK ] quando a assinatura bate, ou [FALHA]caso contrário, com código de saída adequado para scripts. Guarde uma raiz assinada hoje: se o registro for reescrito amanhã, a verificação dessa raiz antiga vai falhar — e você vai saber.

Por que isso importa

Um cofre de herança precisa provar que só abre nas condições certas — e que ninguém, nem a própria Aeterne, abre por baixo dos panos. O registro de transparência torna cada liberação observável por qualquer pessoa, para sempre. É a diferença entre “confie em nós” e “confira você mesmo”.

Mais contexto sobre arquitetura, compliance e continuidade no Trust Center. Dúvidas? Escreva para cuidamos@aeterne.app; achou uma falha? security@aeterne.app.