What a warrant canary cannot do
BlogExplainer

A warrant canary is a statement a service publishes saying it has not received a secret order. The idea: a government can compel silence, but it is harder to compel a lie.
In short
- Verifying a canary tells you one thing: this text was signed by this key and not altered. It does not prove the statement is true.
- A real canary uses a key published in advance, has a renewal date, and cannot be written ahead of time.
- Skudo's is renewed by a person every thirty days, at
/canary.asc. - The legal theory behind canaries has not been tested in court.
What a canary proves
You learn one thing: the text was signed by this key and has not changed. Nothing tells you the statement is true. A canary rests on a person being unwilling to sign something false.
The Electronic Frontier Foundation explains the legal idea as compelled speech: a government may not be able to force a provider to state falsely that it received nothing. The same source says this has not been tested in court.[1]
Three properties of a real canary
| Property | Why it matters | What Skudo does |
|---|---|---|
| Signed with a key published in advance | Otherwise anyone who takes the server can publish a canary | Signed with the same PGP key as Skudo's mail |
| Has a renewal date | Otherwise a healthy canary and an abandoned one look the same | Renewed every thirty days, with a visible status |
| Cannot be written in advance | Otherwise a scheduled job could keep publishing after an order arrives | Contains the latest Bitcoin block hash |
How the freshness proof works
Bitcoin miners find a block hash by trial and error, so the next one cannot be predicted.[4] Once a block exists, anyone can check its hash.
Skudo's generator refuses to publish if it cannot fetch the hash.
Why it is not automated
The act of renewing is the point
A canary signed by a cron job survives a gag order without noticing it. A person types a command and confirms the statements are true, and that person could refuse.
How to read silence
| State | What it means |
|---|---|
| Renewed on time | Nothing to read into it |
| A few days late | People are late |
| Well past renewal | The statement has stopped being made. There is no code to decode. |
Canaries are hard to track at scale. The EFF stopped accepting submissions to Canary Watch in May 2016 because canaries are not standardised.[2] Apple's transparency reports dropped their canary in September 2014 after a change in reporting rules.[3]
Check it yourself
Ours is at /canary.asc. The transparency page shows the state and three commands to check it without trusting that page.[5]
Sources
All checked on 20 September 2026.
- Electronic Frontier Foundation, Warrant Canary Frequently Asked Questions: https://www.eff.org/deeplinks/2014/04/warrant-canary-faq ↑
- Electronic Frontier Foundation, Canary Watch: One Year Later: https://www.eff.org/deeplinks/2016/05/canary-watch-one-year-later ↑
- Help Net Security, Apple drops the warrant canary from transparency report: https://www.helpnetsecurity.com/2014/09/19/apple-drops-the-warrant-canary-from-transparency-report/ ↑
- Bitcoin Wiki, Proof of work: https://en.bitcoin.it/wiki/Proof_of_work ↑
- Skudo, transparency page and canary: https://skudo.org/transparency/ ↑