TRANSPARENCY · WARRANT CANARY
No secret
compulsion received.
At regular intervals the operator signs a statement that it has not received a gag order, secret subpoena, backdoor demand, key-disclosure order or seizure. If the statement stops appearing, or an assertion flips, that silence is itself the warning.
LATEST CANARY
Source: GET /api/canary/latest — verify the signature yourself with the CLI below.
WHAT IT IS
What is a warrant canary?
A warrant canary is a signed statement that an operator has NOT received a certain kind of secret legal order. Many jurisdictions can compel a provider to hand over data or install a backdoor and, at the same time, forbid it from telling anyone. The operator cannot legally say “we were served” — but it can stop repeating “we were not served.”
So the operator publishes a fresh, signed statement on a schedule. As long as it keeps appearing on time with every assertion intact, readers infer that none of those secret compulsions has happened. If it disappears, or an assertion changes from true to false, the reader reads that change as the signal the operator is barred from stating directly.
WHY IT MATTERS
Who relies on this
Journalists & sources
A reporter needs to know whether the platform protecting a source has been quietly compelled to expose it. A canary that stops renewing is a reason to change tools before a source is burned.
Activists & defenders
Human-rights defenders operate where a secret seizure or key-disclosure order can be fatal. The canary turns an invisible legal event into an observable one they can act on.
Everyone, verifiable
The signature is post-quantum (ML-DSA-87) and the statements are hash-chained, so no one — not even the operator — can rewrite history or backdate a “clean” statement without breaking the chain.
THE SIX ASSERTIONS
What each statement swears
Every canary carries the same six assertions in a fixed order. “Holds” means that kind of secret compulsion has NOT been received. If any single one flips to false, the canary is TRIPPED.
no_gag_orderNo confidentiality or gag order has been received that would forbid disclosing a legal demand.
no_secret_subpoenaNo secret court subpoena or national-security letter has been received.
no_backdoor_requestNo request to add a backdoor to the software or hardware has been received.
no_key_disclosure_compelledNo order compelling disclosure of signing or encryption keys has been received.
no_seizureNo server, device or infrastructure has been seized.
keys_uncompromisedThe signing keys have not been compromised; their integrity is intact.
THE TWO SIGNALS
How to read a change
Each statement carries a deadline (next_due_by). If the clock passes that deadline and no new signed statement appears, the canary is EXPIRED. Treat it as a signal — an operator under a gag order may simply go quiet rather than lie.
If a later statement is still validly signed but one of the six assertions has flipped to false, the canary is TRIPPED. Because the signature is valid, this is the operator's own deliberate statement that the corresponding secret compulsion has now occurred.
INDEPENDENT VERIFICATION
Verify it yourself
You do not have to trust the operator or this page. Fetch the signed bundle and check it with the open-source lydos-warrant-canary CLI on your own machine, with your own clock.
Inspect the statement
Run inspect with your own current time in milliseconds. The tool reports HEALTHY, EXPIRED or TRIPPED — structure, freshness and assertions are all checked against the clock you supply, not a hidden one.
your terminallydos-warrant-canary inspect --bundle canary.bundle --now-ms 1749200000000
# STATUS: HEALTHY — all claims hold, statement is fresh.
# STATUS: EXPIRED — overdue by <n> ms. Treat as a SIGNAL, not routine.
# STATUS: TRIPPED — the following assertions no longer hold:
# - no_gag_orderRecompute the hash & read the JSON
canonical recomputes the statement hash that links the chain; json prints the public view of every field for your own tooling.
your terminal# recompute the canonical statement hash and inspect the public JSON view:
lydos-warrant-canary canonical --bundle canary.bundle
lydos-warrant-canary json --bundle canary.bundleVerify the post-quantum signature
The final layer of trust is the signature itself, verified against the operator's published signing key.