TRANSPARENCE · WARRANT CANARY
Aucune contrainte
secrète reçue.
À intervalles réguliers, l'opérateur signe une déclaration attestant n'avoir reçu aucune ordonnance de bâillon, citation secrète, demande de porte dérobée, injonction de divulgation de clés ni saisie. Si la déclaration cesse de paraître, ou si une assertion bascule, ce silence est lui-même l'avertissement.
DERNIER CANARY
Source : GET /api/canary/latest — vérifiez vous-même la signature avec le CLI ci-dessous.
CE QUE C'EST
Qu'est-ce qu'un warrant canary ?
Un warrant canary est une déclaration signée attestant qu'un opérateur n'a PAS reçu un certain type d'ordonnance légale secrète. De nombreuses juridictions peuvent contraindre un fournisseur à livrer des données ou à installer une porte dérobée, tout en lui interdisant d'en informer quiconque. L'opérateur ne peut pas légalement dire « nous avons été assignés » — mais il peut cesser de répéter « nous n'avons pas été assignés ».
L'opérateur publie donc, selon un calendrier, une déclaration fraîche et signée. Tant qu'elle continue de paraître à l'heure avec toutes ses assertions intactes, les lecteurs en déduisent qu'aucune de ces contraintes secrètes n'a eu lieu. Si elle disparaît, ou si une assertion passe de vrai à faux, le lecteur lit ce changement comme le signal que l'opérateur a l'interdiction d'énoncer directement.
POURQUOI C'EST IMPORTANT
Qui s'y fie
Journalistes & sources
Un journaliste doit savoir si la plateforme protégeant une source a été discrètement contrainte de l'exposer. Un canary qui cesse de se renouveler est une raison de changer d'outils avant qu'une source ne soit grillée.
Militants & défenseurs
Les défenseurs des droits humains opèrent là où une saisie secrète ou une injonction de divulgation de clés peut être fatale. Le canary transforme un événement juridique invisible en un événement observable sur lequel ils peuvent agir.
Pour tous, vérifiable
La signature est post-quantique (ML-DSA-87) et les déclarations sont chaînées par hachage : personne — pas même l'opérateur — ne peut réécrire l'histoire ni antidater une déclaration « propre » sans briser la chaîne.
LES SIX ASSERTIONS
Ce que chaque déclaration jure
Chaque canary porte les mêmes six assertions dans un ordre fixe. « Tient » signifie que ce type de contrainte secrète n'a PAS été reçu. Si une seule bascule à faux, le canary est TRIPPED (déclenché).
no_gag_orderAucune ordonnance de confidentialité ou de bâillon interdisant de divulguer une demande légale n'a été reçue.
no_secret_subpoenaAucune citation judiciaire secrète ni lettre de sécurité nationale n'a été reçue.
no_backdoor_requestAucune demande d'ajout de porte dérobée au logiciel ou au matériel n'a été reçue.
no_key_disclosure_compelledAucune injonction contraignant à divulguer les clés de signature ou de chiffrement n'a été reçue.
no_seizureAucun serveur, appareil ou infrastructure n'a été saisi.
keys_uncompromisedLes clés de signature n'ont pas été compromises ; leur intégrité est intacte.
LES DEUX SIGNAUX
Comment lire un changement
Chaque déclaration porte une échéance (next_due_by). Si l'horloge dépasse cette échéance sans qu'une nouvelle déclaration signée paraisse, le canary est EXPIRED (expiré). Traitez-le comme un signal — un opérateur sous bâillon peut simplement se taire plutôt que mentir.
Si une déclaration ultérieure est toujours valablement signée mais qu'une des six assertions est passée à faux, le canary est TRIPPED (déclenché). Comme la signature est valide, c'est la propre déclaration délibérée de l'opérateur que la contrainte secrète correspondante a désormais eu lieu.
VÉRIFICATION INDÉPENDANTE
Vérifiez-le vous-même
Vous n'avez pas à faire confiance à l'opérateur ni à cette page. Récupérez le paquet signé et vérifiez-le avec le CLI open source lydos-warrant-canary sur votre propre machine, avec votre propre horloge.
Inspecter la déclaration
Lancez inspect avec votre propre heure actuelle en millisecondes. L'outil renvoie HEALTHY, EXPIRED ou TRIPPED — structure, fraîcheur et assertions sont vérifiées par rapport à l'horloge que vous fournissez, pas une horloge cachée.
votre 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_orderRecalculer le hachage & lire le JSON
canonical recalcule le hachage de la déclaration qui relie la chaîne ; json imprime la vue publique de chaque champ pour vos propres outils.
votre 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.bundleVérifier la signature post-quantique
La dernière couche de confiance est la signature elle-même, vérifiée par rapport à la clé de signature publiée par l'opérateur.