沉默是我们 最响亮的警告。
一份经过密码学签名的声明:我们没有收到任何秘密命令。如果有一天它不再出现,那就是我们在法律上唯一能给出的警告。
- 签署日期
- 有效期
- 60 天
- 下次更新截止
- 还剩 49 天
我们无法告诉你我们是否已被攻陷。所以我们趁着尚未被攻陷时,以书面并签名的方式告诉你。
什么是 Warrant Canary?
法律可以禁止一家服务商告诉你它收到了秘密的政府命令,但无法强迫它继续发布一份声称自己从未收到过此类命令的签名声明。
一道秘密命令可以强制服务商交出数据,并在同一份文书中禁止其透露该命令的存在。但强迫沉默与强迫主动说谎并不是同一种法律行为,后者对一个国家来说要难得多。因此,我们趁这份声明仍然属实时发布它,并在每个截止日期前重新签名。这样一来,缺席本身就成了信号。
第一次接触这个概念?阅读长版:warrant canary 如何运作,以及它消失为何重要 →
警告:如果本页面被移除、未在截止日期前更新,或 PGP 签名验证失败,你必须假定 Arpokrat 已被攻陷。
截至 October 15, 2026,我们确认:
下面每一条都是下方那份签名声明中带编号的一行,顺序相同、措辞相同。若某项主张不在签名之内,它就不会出现在本页面上。
没有国家安全信函
We have NOT received any National Security Letter.
没有封口令
We have NOT received any gag order.
没有后门
We have NOT received any warrant from any government agency.
没有后门
We have NOT installed any backdoors in our software.
不要只听我们说。
以上所有内容都是关于一个文件的说法。这就是那个文件。
下面的区块就是已签名的文件本身,逐字节复制自下载按钮所提供的同一份文件。它在本页面构建时直接从磁盘读取:从不存放在页面文本中,从不重新换行,也从不经过 markdown 渲染器或任何翻译——因为其中任何一步都可能改变一个字节,而只要有一个字节被改变,签名就会失效。
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
ARPOKRAT WARRANT CANARY
Date: 2026-10-15
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 received any warrant from any government agency.
4. 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: 971519
Block Hash: 000000000000000000010a975426c4be8e2e4c1a1e154b157f726011e2b20836
This canary is valid for 60 days.
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEERR/2Eizf8SmWVvIrta2JoS0TYgMFAmrQ6LcACgkQta2JoS0T
YgNTzhAA1vQFSFneDPqOQHW78s2hLop1Va2U3Y0KZ3GlDMqUoC8aa7VnQ1z73Sri
ECB5kymwd5mu2kmsAzMRVfVDtipAt1jnJJ76LsvWD0GTcD2PWgqLfWpbW2Cf0giE
wF4ZzJSoEP/NJntRPmcgCJTgBOVQLIStW4sAqf0d2rYZ4YWLgkNO+mZDs8JbVSfX
k5qeehfJeHc8baI634Rc8tW8ulByzbxfRqXV+taDOhBAaKZ++h7Yk8/lGg9jfJLk
SYJT+Kb1emwajlaRm6i5sa7PvWmKjAUlWUu4G0Pp5zQAVHR/8LGC9C/EApBNG1KI
eq/pmWG1ZxTdSPWtB658Ishi6m8Cmrs4RCdt5VaW1uxpV77BEfnTEST/0WfroWnt
ibd3xyzeqkyTDzf0IXu8oqF5kXG/i1CG8CWZXVf3SGwjMePR24HuksoPvxmriGCE
I1Wfd96uGmdIkiDDgreMS17D0fX1TNpkU7R+OjOPD9Ko8D1fKzoLYZNGvq/p0Dds
nQzHT6cI33YvB/RCQmb2FnPzIG7YRfU2ahb53bhFk2tAm9RHuygokm1OU1qG0dZ0
WjQgkJI0aVLVCwbtCpoR9+T4gQkhj6LLmK8oODgyYWeGx6ZI2EyTda3qno+aIc7W
6hJDd3G44luzZwRE3JH4ZaY0PTbsIp1D/ZN9ERBte36qsP63kp4=
=6cuu
-----END PGP SIGNATURE-----
时效性证明 — 比特币区块 971519 000000000000000000010a975426c4be8e2e4c1a1e154b157f726011e2b20836 区块高度和哈希都写在被签名的正文里。这两个值在该区块被挖出之前都无从得知,因此这份声明不可能是提前几个月写好、再由定时器发布的。
如何自己验证
- 下载两个文件
已签名的 canary,以及为它签名的公钥。
- 导入密钥并核对指纹
把 gpg 输出的内容与下面的指纹逐字符比对。
gpg --import arpokrat.ascgpg --fingerprint 正在载入地址…PGP 密钥指纹 — 在信任任何签名之前,请先与你下载的密钥核对:451F F612 2CDF F129 9656 F22B B5AD 89A1 2D13 6203 - 验证签名
正确的结果会同时列出密钥和你刚刚核对过的身份。gpg 还会警告该密钥未经受信任的签名认证,并在下面这一行加上诸如 [unknown] 的信任标记——这两点都在预料之中,只表示你没有在自己的信任网络中亲自认证这把密钥。它们不影响签名是否有效。
gpg --verify canary-2026-10-15.txt.asc预期输出
gpg: Good signature from "Arpokrat <正在载入地址…>"
一点诚实的说明:我们从这把密钥所认证的同一个域名提供它,仅凭这一点并不足够——任何能控制本网站的人都可以同时发布密钥对的两半。在依赖上面这个指纹之前,请与你从别处取得的副本核对。