一份经过密码学签名的声明:我们没有收到任何秘密命令。如果有一天它不再出现,那就是我们在法律上唯一能给出的警告。
我们无法告诉你我们是否已被攻陷。所以我们趁着尚未被攻陷时,以书面并签名的方式告诉你。
法律可以禁止一家服务商告诉你它收到了秘密的政府命令,但无法强迫它继续发布一份声称自己从未收到过此类命令的签名声明。
一道秘密命令可以强制服务商交出数据,并在同一份文书中禁止其透露该命令的存在。但强迫沉默与强迫主动说谎并不是同一种法律行为,后者对一个国家来说要难得多。因此,我们趁这份声明仍然属实时发布它,并在每个截止日期前重新签名。这样一来,缺席本身就成了信号。
第一次接触这个概念?阅读长版:warrant canary 如何运作,以及它消失为何重要 →
警告:如果本页面被移除、未在截止日期前更新,或 PGP 签名验证失败,你必须假定 Arpokrat 已被攻陷。
下面每一条都是下方那份签名声明中带编号的一行,顺序相同、措辞相同。若某项主张不在签名之内,它就不会出现在本页面上。
We have NOT received any National Security Letter.
We have NOT received any gag order.
We have NOT installed any backdoors in our software.
以上所有内容都是关于一个文件的说法。这就是那个文件。
下面的区块就是已签名的文件本身,逐字节复制自下载按钮所提供的同一份文件。它在本页面构建时直接从磁盘读取:从不存放在页面文本中,从不重新换行,也从不经过 markdown 渲染器或任何翻译——因为其中任何一步都可能改变一个字节,而只要有一个字节被改变,签名就会失效。
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
ARPOKRAT WARRANT CANARY
Date: 2026-08-26
We, the undersigned founders of Arpokrat, solely confirm that:
1. We have NOT received any National Security Letter.
2. We have NOT received any gag order.
3. We have NOT installed any backdoors in our software.
To prove this message was generated recently and not pre-written, here is the latest Bitcoin block hash:
Block Height: 964112
Block Hash: 0000000000000000000206a9f1d1886f6f0762ceb85a434f38615f097693927a
This canary is valid for 60 days.
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEERR/2Eizf8SmWVvIrta2JoS0TYgMFAmqOvpsACgkQta2JoS0T
YgNFkxAAnlPr88XAnmZdtjvYXRgk/2o4VKA34sujhDcv9mlC9+ljNnJuLG4sbntg
PfTq9uXkFswhNdyntolfWz5axWyE7wBZRerw926j8TFLWlravk+WXivSBpFM19zX
P5sZU5Y86b9BH23L6WApsfKuLvfrVDiMgk000EOoYC7mw2E9XPfL1mAXs70jLOjR
e5XkKD2GYTwliMfH90qD7wumQVBARenrbhYqkT/hyZrxW9aLe4+w9fg2ufQgcOnd
BZaTn2m1XeZ0g139ul1g9mtP1PWjPPHd0xMmPeuZtPhooYfRPFKWShLddCCTyQ4S
hCDsGslx+yU1q4lR8Tjqk84zdMgDFhEEAy/9beGOu4bsFYj383IX3D5mlFkLQjJL
Ekule6Ia0X8nFG84a2s1ajrkvKR6sUtc9fBtKO5dAQbMeUDJ8aYgao6f8NETOf7e
V+2X7fpPz8k1vBzoctOkq65al5TwTlQ59oucrvuaaE47Gke9P1zL3hgaOc63zXOf
MsXO78wUGa3h8D2p+4PTqu8AoBHSw2CfFGxwcba7SyWFwUha5qFrskbNXhol+49p
miC5lOqWN9gn25BKl99HncIsHk3G0M3yoOZ8UOrO/GgAQaKiUBZNgCbJbjsmgFtL
GwBKJeMOqCrrvQs6JfkMzVhVbhOaPVzE9AfudMBVQKVvoQJmGgo=
=f1cX
-----END PGP SIGNATURE-----
时效性证明 — 比特币区块 964112 0000000000000000000206a9f1d1886f6f0762ceb85a434f38615f097693927a 区块高度和哈希都写在被签名的正文里。这两个值在该区块被挖出之前都无从得知,因此这份声明不可能是提前几个月写好、再由定时器发布的。
已签名的 canary,以及为它签名的公钥。
把 gpg 输出的内容与下面的指纹逐字符比对。
gpg --import arpokrat.ascgpg --fingerprint 正在载入地址…451F F612 2CDF F129 9656 F22B B5AD 89A1 2D13 6203正确的结果会同时列出密钥和你刚刚核对过的身份。gpg 还会警告该密钥未经受信任的签名认证,并在下面这一行加上诸如 [unknown] 的信任标记——这两点都在预料之中,只表示你没有在自己的信任网络中亲自认证这把密钥。它们不影响签名是否有效。
gpg --verify canary-2026-08-26.txt.asc预期输出gpg: Good signature from "Arpokrat <正在载入地址…>"
一点诚实的说明:我们从这把密钥所认证的同一个域名提供它,仅凭这一点并不足够——任何能控制本网站的人都可以同时发布密钥对的两半。在依赖上面这个指纹之前,请与你从别处取得的副本核对。