
Warrant canaryO que não podem nos obrigar a dizer, dito com antecedência.
Um provedor notificado com uma gag order não pode contar a você. Ele pode, porém, deixar de repetir uma declaração que fez livremente no trimestre passado — e esse silêncio é uma mensagem que nenhuma ordem pode obrigar a existir. Esta é essa declaração, assinada, com um hash de bloco provando quando.
Assinado e atualizado
A declaração abaixo carrega uma assinatura válida da chave publicada no rodapé desta página.
O extrato
Cada item é escrito para ser removível individualmente, porque a remoção é todo o mecanismo. Um deles desaparecer de uma futura assinatura é a mensagem.
- 01 Nenhuma National Security Letter, ordem FISA, ou instrumento equivalente de qualquer jurisdição jamais foi recebido por nenhuma entidade da DediPrivacy.
- 02 Nenhum mandado, intimação, ordem ou solicitação jamais chegou acompanhado de uma proibição de divulgá-lo ao cliente envolvido.
- 03 Nenhum governo ou parte privada jamais recebeu o conteúdo do disco, banco de dados, memória ou tráfego de um cliente.
- 04 Nunca fomos obrigados a preservar, monitorar ou interceptar o tráfego de um cliente de forma prospectiva, nem a instalar nada para essa finalidade.
- 05 Nenhum equipamento foi apreendido, copiado ou fisicamente acessado por qualquer autoridade em nenhuma instalação que ocupamos.
- 06 Nunca fomos obrigados a modificar um sistema, enfraquecer uma proteção criptográfica ou introduzir um meio de acesso.
- 07 Mantemos o controle administrativo exclusivo da nossa infraestrutura. Nenhum terceiro possui credenciais, chaves ou caminho de gerenciamento para ela.
Prova de data
Assinado após o bloco do Bitcoin 960,003 foi minerado. Esse bloco não existia antes, então esta declaração não pode ter sido assinada com antecedência e liberada por um temporizador.
0000000000000000000083e9eb459b89b6070a6d28dd719547602ce594c9d8a5
Como ler
A parte que a maioria dos canaries omite.
Um canary só funciona se o leitor souber o que seu silêncio significa antes de o silêncio acontecer. Decidir depois é decidir tarde demais.
- A remoção é o sinal
- Se uma declaração desaparecer de uma assinatura posterior, interprete isso como o evento correspondente tendo ocorrido. É para isso que o mecanismo serve, e é a única coisa que ele pode dizer.
- O silêncio também é o sinal
- Se uma assinatura não aparecer em até 21 dias após a abertura do trimestre, trate este canary como expirado e aja de acordo. Não espere ser avisado; talvez ninguém possa avisá-lo.
- O hash do bloco é a prova da data
- Cada assinatura cita um bloco recente do Bitcoin. Esse bloco não existia antes de ser minerado, portanto a declaração comprovadamente não foi assinada com antecedência e guardada.
- Verifique você mesmo
- A assinatura é real e a chave é pública. Um canary que você precisa aceitar por confiança é decoração; este falha ruidosamente no seu próprio terminal se tiver sido alterado.
Verifique você mesmo
Quatro comandos. Se algum deles falhar, esta página está mentindo para você, e é nisso que você deve agir, não na cor tranquilizadora da faixa acima.
curl -sO https://dediprivacy.com/canary-key.asc
gpg --import canary-key.asc
curl -sO https://dediprivacy.com/canary.txt
gpg --verify canary.txt
- Impressão digital da chave de assinatura
1E54 D9BE F416 1A5E 0871 6802 3924 3549 015B 7740- Chave pública
- /canary-key.asc
- Declaração assinada
- /canary.txt
Compare a impressão digital com uma cópia que você não obteve deste site — um snapshot arquivado, um trimestre anterior que você salvou, ou um espelho. Uma chave servida pelo mesmo servidor da declaração que ela assina prova apenas que o servidor é internamente consistente, e nada além disso, e essa é a única fraqueza que todo canary tem.
O bloco assinado, na íntegra
Exatamente os bytes em /canary.txt. Tudo acima é uma renderização disto; isto é o que carrega a assinatura.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
DediPrivacy — warrant canary
==================================
Period: Q3 2026 (1 July 2026 – 30 September 2026)
Signed: 2026-07-28 17:33 UTC
Next due: 1 October 2026
Treat expired: 22 October 2026
Entities: 8, in 8 jurisdictions
Bitcoin block: 960003
Block hash: 0000000000000000000083e9eb459b89b6070a6d28dd719547602ce594c9d8a5
That block did not exist before it was mined, so this statement was
not signed in advance of it.
As of the date above, and to the knowledge of every person able to bind
any DediPrivacy entity:
1. No National Security Letter, FISA order, or equivalent instrument from
any jurisdiction has ever been received by any DediPrivacy entity.
2. No warrant, subpoena, order or request has ever arrived accompanied by
a prohibition on disclosing it to the customer concerned.
3. No government or private party has ever been given the contents of a
customer disk, database, memory or traffic.
4. We have never been ordered to preserve, monitor or intercept a
customer's traffic prospectively, nor to install anything for that
purpose.
5. No equipment has been seized, imaged or physically accessed by any
authority at any facility we occupy.
6. We have never been compelled to modify a system, weaken a
cryptographic protection or introduce a means of access.
7. We retain sole administrative control of our infrastructure. No third
party holds credentials, keys or a management path into it.
A statement removed from a future signing should be read as the
corresponding event having occurred. If no signing appears within
21 days of a quarter opening, treat this canary as expired.
Signing key: 1E54 D9BE F416 1A5E 0871 6802 3924 3549 015B 7740
Published at: https://dediprivacy.com/canary
-----BEGIN PGP SIGNATURE-----
iHQEARYKAB0WIQQeVNm+9BYaXghxaAI5JDVJAVt3QAUCamjn0AAKCRA5JDVJAVt3
QMi0AP0W7vNtYjg6NFdLMjxHsxB8xm/ymiiTuquf0vKnK9OUhQD48RQg+76VSfZh
3JcZUpakl+MnabHbhKzSpipJd58nAg==
=8HSs
-----END PGP SIGNATURE-----
Sobre canaries em geral.
Os warrant canaries realmente funcionam?
Elas nunca foram testadas até o limite em tribunal, e quem afirmar certeza em qualquer sentido está exagerando. A teoria é que obrigar uma empresa a continuar repetindo uma declaração falsa é algo mais difícil de um tribunal ordenar do que obrigar ao silêncio. O que não está em dúvida é a alternativa: sem isso, um provedor sob ordem de silêncio não tem nenhuma forma de sinalizar, e você não tem nenhuma forma de perceber.
O que fazer se ele parar de receber atualizações?
Trate como se as declarações que ele costumava fazer não fossem mais verdadeiras, e aja no seu próprio prazo, em vez de esperar uma confirmação que pode ser legalmente impossível de dar. Na prática: mova qualquer coisa sensível, rotacione chaves que você expôs à plataforma, e não envie uma mensagem pedindo explicações — essa pergunta não pode ser respondida honestamente por ninguém sob gag order.
Por que um hash de bloco do Bitcoin?
Isso comprova a direção do tempo. Um hash de bloco não pode ser previsto antes de o bloco ser minerado, então citar um hash recente demonstra que a assinatura foi feita depois daquele momento. Sem isso, uma empresa poderia assinar doze declarações trimestrais com antecedência e publicá-las automaticamente, o que tornaria o canary uma decoração em vez de um sinal.
Quem assina, e é automatizado?
A assinatura roda em um temporizador trimestral, e a chave é mantida fora do container que serve este site, de modo que comprometer o site não pode produzir uma assinatura. A automação é o que mantém a declaração atualizada — e é também a objeção óbvia, porque um assinador que assina incondicionalmente continuaria "cantando" mesmo depois do evento que existe para relatar. A resposta a isso é uma trava: um único arquivo, que qualquer operador capaz de vincular as entidades pode criar sem notificar ninguém, interrompe permanentemente toda assinatura futura. A declaração publicada então envelhece além do seu período de carência e esta página fica vermelha por conta própria. Acionar esse freio exige uma única ação e nenhuma explicação a ninguém, que é a propriedade que importa — a explicação é exatamente o que uma ordem judicial é capaz de proibir.
Por que trimestral em vez de diário?
Um warrant canary diário é mais preciso e muito mais fácil de quebrar por acidente — um feriado, uma queda, uma falha de script produz um alarme falso, e depois do terceiro alarme falso ninguém mais acredita no sinal. Um formato trimestral com um período de carência declarado é mais lento e muito mais difícil de interpretar errado.
E se apenas uma declaração desaparecer?
Então leia exatamente aquele como tendo ocorrido, e nada mais. As declarações são propositalmente separadas para que o sinal possa ser específico — um canary que só consegue dizer "algo aconteceu" quase não fornece nada sobre o qual agir.
