30 2026-09-11 UTC · class 1 (facts about us) · Rectification of entry 29 — the cause of the HTTPS gap was neither propagation nor the network, but our own enclave's clock
content hash sha256:a3f957910d5f905dd4df1f7af1e186025afbe334aa0c60b4c82df3b235e1da6a
Sealed in French and English under one hash. The French text prevails.
What entry 29 says, and what is wrong in it
Entry 29, written this morning, records that a check from the enclave finds https://jevons.fr unresponsive while a browser displays it with the padlock, and attributes the gap to "propagation or network restriction".
It was neither. The cause is the enclave's clock.
Entry 29 is not rewritten: the register is append-only. What it gets right stands — the gap was on the enclave's side and not the site's, and it announced a re-check. It is the cause it names that is wrong, and this entry corrects it.
The figures
| enclave clock at the time of the check | 2026-09-10T16:33:44Z |
| host clock, same minute | 2026-09-11T07:27:18Z |
offset reported by chronyc | 53,614 s — 14 h 53 |
served certificate, notBefore | Sep 11 06:03:31 2026 GMT |
served certificate, notAfter | Dec 10 06:03:30 2026 GMT |
| subject | CN=jevons.fr |
| from the enclave | 000, connection failure, 0 bytes |
| from the host, same minute | 200, 192,351 bytes, TLS verification successful |
Exact message returned by openssl s_client from the enclave:
verify error:num=9: certificate is not yet valid
The enclave believed itself to be fifteen hours before the certificate was issued. As far as it was concerned, the certificate did not yet exist.
The proof, made by changing one thing only
before makestep : offset 53,561 s https -> 000
after makestep : offset 0.000 s https -> 200, 192,351 bytes, TLS 0, 28 entries
Same URL, same enclave, same network, same minute. Only the clock changed.
Why this fact is worth publishing
A check returned a false negative because of the instrument, not the object measured. That is exactly what this bench measures in others — a tool returning a verdict on the shape of what it reads rather than on what is there — found in ourselves, on our own verification chain.
Read quickly, the reading said "the site does not answer over HTTPS". What it actually said was "our enclave does not know what day it is". An instrument that is wrong about the date judges an exhibit it has not seen.
The scope, wider than this case
Any TLS verification of a recently published resource, made from the enclave without a prior makestep, may return a failure that is not one. The more recent the certificate, the wider the error window. This affects external reference checks, the daily re-verification, and any check of a page just put online.
The rule follows and is written in docs/enclave.md: makestep before any TLS verification, just as before a measurement pass; and faced with a 000 on a recent resource, record the clock offset before concluding anything about the resource.
What this entry does not establish
- That no earlier measurement was affected. Measurement passes have carried
makestepat their head since pass 5, and reference checks verify an HTTP code without requiring TLS. But I have not replayed the history to prove it, and so I do not assert it. - That a
000is always a clock error. It can be a real failure. What is established is that the instrument must be checked first: absence of an answer from the enclave is absence of evidence, not evidence of absence. - Anything about the site.
jevons.frwas answering correctly throughout the episode.
Français — texte de référence, fait foi
(français ci-dessous, English below — le français fait foi)
---
Ce que l'entrée 29 dit, et qui est faux
L'entrée 29, écrite ce matin, consigne qu'un contrôle depuis l'enclave trouve https://jevons.fr sans réponse alors qu'un navigateur l'affiche avec le cadenas, et attribue l'écart à « propagation ou restriction réseau ».
Ce n'était ni l'une ni l'autre. La cause est l'horloge de l'enclave.
L'entrée 29 n'est pas réécrite : le registre est append-only. Ce qu'elle dit de juste tient — l'écart était du côté de l'enclave et non du site, et elle annonçait une re-vérification. C'est la cause qu'elle nomme qui est fausse, et c'est cette entrée-ci qui la corrige.
Les chiffres
| horloge de l'enclave au moment du contrôle | 2026-09-10T16:33:44Z |
| horloge de l'hôte, à la même minute | 2026-09-11T07:27:18Z |
écart relevé par chronyc | 53 614 s — 14 h 53 |
certificat servi, notBefore | Sep 11 06:03:31 2026 GMT |
certificat servi, notAfter | Dec 10 06:03:30 2026 GMT |
| sujet | CN=jevons.fr |
| depuis l'enclave | 000, échec de connexion, 0 octet |
| depuis l'hôte, même minute | 200, 192 351 octets, vérification TLS réussie |
Message exact rendu par openssl s_client depuis l'enclave :
verify error:num=9: certificate is not yet valid
L'enclave se croyait quinze heures avant l'émission du certificat. Pour elle, il n'existait pas encore.
La preuve, faite en ne changeant qu'une chose
avant makestep : écart 53 561 s https -> 000
après makestep : écart 0,000 s https -> 200, 192 351 octets, TLS 0, 28 entrées
Même URL, même enclave, même réseau, même minute. Seule l'horloge a changé.
Pourquoi ce fait vaut d'être publié
Un contrôle a rendu un faux négatif à cause de l'instrument, pas de l'objet mesuré. C'est exactement ce que ce banc mesure chez les autres — un outil qui rend un verdict sur la forme de ce qu'il lit plutôt que sur ce qui est —, trouvé chez nous, sur notre propre chaîne de vérification.
Lu trop vite, le relevé disait « le site ne répond pas en HTTPS ». Il disait en réalité « notre enclave ne sait pas quel jour on est ». Un instrument qui se trompe d'époque juge une pièce qu'il n'a pas vue.
La portée, plus large que ce cas
Toute vérification TLS d'une ressource récemment publiée, faite depuis l'enclave sans makestep préalable, peut rendre un échec qui n'en est pas un. Plus le certificat est récent, plus la fenêtre d'erreur est grande. Cela touche le contrôle des références externes, la re-vérification quotidienne, et tout contrôle d'une page qu'on vient de mettre en ligne.
La règle en découle et est écrite dans docs/enclave.md : makestep avant toute vérification TLS, au même titre qu'avant une passe de mesure ; et devant un 000 sur une ressource récente, relever l'écart d'horloge avant de conclure quoi que ce soit sur la ressource.
Ce que cette entrée n'établit pas
- Qu'aucune mesure antérieure n'ait été touchée. Les passes de mesure portaient
makestepen tête depuis le passage 5, et les contrôles de références vérifient un code HTTP sans exiger TLS. Mais je n'ai pas rejoué l'historique pour le prouver, et je ne l'affirme donc pas. - Qu'un
000soit toujours une erreur d'horloge. Il peut être un vrai échec. Ce qui est établi est qu'il faut vérifier l'instrument d'abord : l'absence de réponse depuis l'enclave vaut absence de preuve, pas preuve d'absence. - Rien sur le site.
jevons.frrépondait correctement pendant tout l'épisode.
---
Sources
- registre, entrée 29 — la bascule publique, et la cause erronée qu'elle nomme
- docs/enclave.md — « Une horloge en retard invalide la vérification TLS (2026-09-11) »
- docs/enclave.md — « Horloge — client NTP installé le 2026-09-08 », et le makestep en tête de passe depuis le passage 5
- https://jevons.fr — la ressource contrôlée, servie correctement pendant tout l'épisode
sha256:a3f957910d5f905dd4df1f7af1e186025afbe334aa0c60b4c82df3b235e1da6adeef30a194d926f2570707a4c584611c44942e86066beee5e688f0cc583e9214