Un canari judiciaire est une déclaration publiée régulièrement et signée PGP attestant qu'un prestataire n'a pas reçu certains types de procédure judiciaire — le plus souvent une National Security Letter, une ordonnance de silence ou une demande de surveillance de masse. Le canari continue jusqu'à ce qu'il s'arrête. L'absence du prochain canari prévu est le signal que quelque chose a changé. Cette page explique le mécanisme, détaille la vérification PGP et liste les prestataires qui en maintiennent un en 2026.
Mis à jour · Auteur : Ingénierie BitVPS
Le warrant canary repose sur une asymétrie précise dans la doctrine du discours contraint. De nombreuses lois de surveillance — 18 USC §2709 aux États-Unis (l'autorité des National Security Letters) ; des dispositions analogues dans l'Investigatory Powers Act 2016 du Royaume-Uni (§133, non-divulgation) ; des équivalents dans d'autres juridictions des 14 Eyes — comportent des clauses de non-divulgation qui empêchent le destinataire d'une injonction d'en parler. Ces clauses imposent le silence. Dans la plupart des juridictions, elles n'obligent pas le destinataire à formuler activement une déclaration affirmative fausse.
C'est cette distinction que le canary exploite. Un fournisseur publie « nous n'avons reçu aucune NSL à la date du [date] » à une cadence fixe — hebdomadaire, mensuelle, trimestrielle. Tant que l'affirmation reste vraie, la publication se poursuit. Si le fournisseur reçoit une injonction, il ne peut pas le dire directement (gag order). Mais il peut cesser de publier l'affirmation positive. Le canary suivant, prévu au calendrier, soit n'apparaît pas, soit apparaît avec la clause concernée retirée, soit apparaît avec une formulation différente. Cette absence — ce changement — est une information que le gag order ne peut pas étouffer.
Le canary de BitVPS, publié sur /canary/, suit ce schéma. Chaque lundi, nous re-signons une déclaration couvrant la semaine se terminant le dimanche précédent. La déclaration signée énumère : NSL reçues (objectif : zéro), gag orders reçus (objectif : zéro), injonctions de rétention massive reçues (objectif : zéro), nombre d'injonctions par juridiction (Saint-Christophe-et-Niévès, Islande, Pays-Bas, Roumanie, Suisse), avis DMCA reçus versus traités, et plaintes pour abus reçues versus traitées. Cinq des six chiffres sont censés être zéro en semaine normale ; les chiffres d'abus et de DMCA sont non nuls par conception (nous recevons des plaintes pour abus, et nous publions combien).
La cadence compte. Un canary publié une fois par an porte moins de signal qu'un canary publié chaque semaine — le décalage entre la coercition et le moment où le client le remarque est la fenêtre de fraîcheur. Les canaries hebdomadaires réduisent cette fenêtre à sept jours ; les canaries quotidiens (rares, car ils exigent une gestion des clés à grande échelle) la réduisent à vingt-quatre heures. Les canaries trimestriels laissent une fenêtre de trois mois durant laquelle un fournisseur pourrait être compromis avant qu'un observateur externe ne le remarque.
Un canary qui n'est pas signé cryptographiquement n'est que du théâtre. La vérification prend quatre étapes et environ quatre-vingt-dix secondes. L'exemple ci-dessous utilise le canary de BitVPS ; la même procédure fonctionne pour tout fournisseur publiant un canary signé en PGP.
Étape 1 — Obtenir la clé publique du prestataire. BitVPS publie la clé PGP publique à /pgp/. L'empreinte de la clé est documentée sur plusieurs pages du site (about, canary, pgp, footer), de sorte qu'une tentative d'altération d'une seule page est détectable. Recoupez l'empreinte avec plusieurs sources — instantanés archive.org, la Wayback Machine, des serveurs de clés PGP tiers — avant de lui faire confiance.
curl -O https://bitvps.io/pgp/bitvps-pubkey.asc
gpg --show-keys bitvps-pubkey.asc
Étape 2 — Importer la clé. Importez dans votre trousseau GnuPG local. La clé reste dans votre magasin local — aucun téléversement requis, aucune confiance tierce nécessaire.
gpg --import bitvps-pubkey.asc
Étape 3 — Télécharger le texte du canari signé. Le canary sur /canary/ est du HTML rendu, mais le fichier signé sous-jacent est également disponible sous forme de .asc clairsigné — visible en bas de la page du canary ou directement via le chemin de stockage. Pour les besoins de cet exemple, enregistrez-le sous canary.asc dans votre répertoire de travail.
curl -O https://bitvps.io/canary/latest.asc
Étape 4 — Vérifier la signature. Exécutez gpg --verify sur le fichier .asc. Une ligne « Good signature » confirme deux choses : le canary a été signé par le détenteur de la clé importée, ET le texte du canary n'a pas été modifié depuis la signature. Une vérification échouée signifie que le fichier a été modifié, que la signature est invalide, ou que la clé ne correspond pas — considérez le canary comme non fiable et enquêtez davantage.
gpg --verify canary.asc
# expected:
# gpg: Good signature from "BitVPS Ltd. <>"
# gpg: Primary key fingerprint: 4DCF 5D6D 10AF F2AA 47E2 070E A62A EDAF 647E E3E6
Si vous n'avez jamais utilisé GnuPG auparavant, installez-le d'abord : `apt install gnupg2` sous Linux de la famille Debian, `brew install gnupg` sous macOS, ou téléchargez GPG4Win sous Windows. L'étape de vérification elle-même est identique sur toutes les plateformes.
Liste courte et vérifiable. Nous avons inclus des exemples historiques (Apple 2013–2014, Reddit 2014–2016) pour contexte — ils sont utiles comme études de cas sur la façon dont un canari signale un changement. Envoyez-nous des ajouts via /panel/?section=support si vous maintenez un canari public non listé ici.
| Prestataire / projet | Cadence | Première publication | Statut | Notes |
|---|---|---|---|---|
| rsync.net | Quarterly, PGP-signed | 2014 | Maintained | One of the earliest commercial canaries. Includes Bitcoin block-hash as a freshness anchor. |
| BitVPS | Weekly, PGP-signed (every Monday) | 2024 | Maintained | Per-jurisdiction order counts (KN, IS, NL, RO, CH) plus DMCA, abuse, NSL and gag-order statements. |
| Bahnhof (transparency report) | Annual transparency report (not a canary in the strict sense) | 2014 | Active transparency reporting | Swedish ISP. Publishes detailed transparency stats; the canary-style attestations are scattered through the integrity page rather than a single signed document. |
| The Tor Project | Annual | 2014 | Maintained | Re-affirmed annually. One of the longest-running organisational canaries. |
| Apple (historical) | Removed in 2014 — historical example, not current | 2013 | Removed (2014) — historical | Apple's November 2013 transparency report contained the canonical "Apple has never received an order under Section 215" canary statement. The line was conspicuously absent from the September 2014 report. Apple has not commented publicly on the change. |
| Reddit (historical) | Removed in 2016 — historical example, not current | 2014 | Removed (2016) — historical | Reddit's 2014 transparency report carried a National Security Letter canary. The 2015 report removed the language. The administrator who maintained the canary commented publicly that he could not say more. |
Nous gardons délibérément cette liste courte. Une longue liste d'intentions dilue le signal — la valeur d'un canary tient à sa vérifiabilité, et la vérification à grande échelle coûte cher. Nous mettons la liste à jour lorsque nous la modifions ; le champ dateModified de cette page reflète la dernière passe de vérification en date.
Réponse honnête : moins que ce que le discours marketing laisse entendre. La cause dominante d'un canary manqué au cours de la dernière décennie n'a pas été la réception d'une National Security Letter — c'est la négligence administrative. L'ingénieur responsable était en vacances, la tâche cron est tombée sur une rotation d'identifiants, le DNS du sous-domaine du canary a expiré, l'entreprise a oublié. Un seul renouvellement manqué est faible signal au mieux.
Ce qui transforme un signal faible en signal fort, c'est la corroboration. Cherchez :
Le retrait du canary d'Apple en 2014 est l'étude de cas canonique. Le rapport de transparence de septembre 2013 contenait la phrase « Apple n'a jamais reçu d'injonction au titre de la Section 215 du USA Patriot Act. » Le rapport de transparence de septembre 2014 ne la contenait pas. Apple n'a publié aucune déclaration expliquant ce changement. Des chercheurs en confidentialité (Christopher Soghoian, alors à l'ACLU ; Glenn Greenwald à The Intercept) ont signalé l'absence en quelques jours. Le signal était d'abord faible — cela aurait pu être un changement éditorial — mais l'absence a persisté dans les rapports suivants, et le directeur juridique d'Apple n'a pas réaffirmé par la suite la déclaration du canary lorsqu'on le lui a directement demandé. Deux ans plus tard, l'interprétation consensuelle dans la communauté de recherche sur la confidentialité était qu'Apple avait reçu une injonction au titre de la Section 215. Apple ne l'a jamais ni confirmé ni infirmé.
La bonne interprétation d'un canari manqué est « enquêter davantage », non « le fournisseur a été assigné ». Les canaris sont des indices en l'absence de tromperie, non des preuves en sa présence.
Trois limites honnêtes que vous devez peser avant de traiter un canari comme une preuve cryptographique de l'intégrité du fournisseur.
1. La théorie juridique repose sur une faille. Le canary exploite une doctrine selon laquelle les gag orders imposent le silence plutôt qu'un mensonge actif. Cette doctrine n'a pas été testée de manière définitive pour chaque loi de surveillance dans chaque juridiction. La Stanford Law Review et d'autres juristes ont défendu les deux thèses. Un procureur déterminé pourrait plausiblement soutenir que contraindre à la poursuite de la publication positive de « nous n'avons pas reçu » fait elle-même partie d'une obligation de non-divulgation, et que cesser la publication constitue une violation du gag order. La théorie juridique a tenu jusqu'à présent dans la jurisprudence américaine publiée, mais elle n'a pas été plaidée jusqu'à une résolution définitive. Les autres juridictions sont encore moins éprouvées.
2. Les canaris non signés sont inutiles. Un canary qui n'est pas signé avec une clé PGP vérifiable — ou qui utilise une clé dont l'empreinte ne peut pas être recoupée avec plusieurs sources indépendantes — n'est que du théâtre. Un adversaire qui contrôle le site du fournisseur peut substituer un faux canary « tout va bien » sans qu'il soit possible de détecter la substitution. C'est la signature PGP qui rend le canary porteur. Un texte non signé n'est pas un canary, quoi qu'il dise. Vérifiez avant de faire confiance.
3. Les canaris expirés sont ambigus. Lorsqu'un canary cesse d'être renouvelé, l'interprétation dépend de ce qui se passe par ailleurs. Un canary périmé, plus un silence organisationnel, plus un changement de clé constituent un signal fort. Un canary périmé à lui seul est faible — cela pourrait signifier que l'ingénieur est en vacances. Un canary qui n'a jamais commencé n'est aucun signal. La charge de la levée d'ambiguïté retombe sur le client ; le fournisseur ne peut publier honnêtement que ce qu'il peut publier honnêtement.
Traitez les canaries comme un signal d'intégrité culturelle parmi d'autres, et non comme une garantie de sécurité. Un canary vous indique qu'un fournisseur estime que la coercition est un risque suffisamment réel pour investir un effort d'ingénierie dans la pré-publication du signal de contradiction. C'est significatif. Ce n'est pas la même chose qu'une preuve cryptographique.
BitVPS resigne le canari chaque lundi. La déclaration actuelle, l'archive de chaque semaine précédente et la clé PGP de vérification sont toutes sur /canary/.