Integrity
Every archive day is hashed, and each day's hash names the day before it.
A day cannot be removed or altered without breaking every day after it.
What the record holds
66 closed days in the archive, every one of them sealed into the chain. 64 sealed days have their heads published here, through 2026-10-23: 23 re-derived from a copy held outside the archive's storage provider (the newest of them written 14 Sep 2026) and 41 anchored from the archive as stored by the daily anchoring job (last ran 24 Oct 2026). 2 sealed days have no row here yet (2026-10-24, 2026-10-25): sealed, and not yet anchored or re-derived — the table lagging the archive.
- Days closed
- 66
- Days sealed
- 66
- Days with a published head
- 64
- Re-derived from an outside copy
- 23
- Anchored from the archive
- 41
What stands behind a reading
- A named operator
- probe402 is run by one named person, and the method page says who. Method
- A sealed chain
- 66 closed days in the archive, every one of them sealed into the chain. 64 sealed days have their heads published here, through 2026-10-23: 23 re-derived from a copy held outside the archive's storage provider (the newest of them written 14 Sep 2026) and 41 anchored from the archive as stored by the daily anchoring job (last ran 24 Oct 2026). 2 sealed days have no row here yet (2026-10-24, 2026-10-25): sealed, and not yet anchored or re-derived — the table lagging the archive.
- Retained captures
- Every reading is graded from bytes we keep; each capture's hash is published in its day's manifest, and a disputed reading is checked against those bytes.
- A published dispute route
- A reading can be contested, and the method page says how and what is committed in return. Method
- Failures we publish
- Our own errors are filed as corrections: 4 corrections over 7 filed records, 4 raised by us against our own archive and 0 by anyone else. Each grade answer counts the absences filed for its endpoint, and each week has a record of the collection cycles that did not close (the newest covers the week of 26 Oct 2026). gap record (JSON)
What has been checked
- On 17 October 2026, every object and response body that the archive's 56 sealed days name (21 August to 15 October 2026: 701,677 objects and 590,352 response bodies, 5.37 GB) was read back from the archive and hashed against its day's manifest on this page. Every one matched; every day's head was re-derived and linked to the day before; and the copy held outside the archive's storage provider matched object for object on each of the 51 days it held.
- Since 18 October 2026, every credential the operator's machine holds for the archive's storage is sent, nightly, a request to delete an object that does not exist, and the operator's morning record lists which of them can delete.
Check us from outside
- You can
Take any day's manifest hash from the table below.
- You can
Fetch that day's manifest from its row, remove the final newline byte and hash the rest with SHA-256. The digest must equal the row, and equal the previous day's hash (
prev_manifest_sha256) inside the next day's manifest. - You cannot
Fetch the captures themselves.
A capture can carry credentials an endpoint returned. Every capture's hash is in its day's manifest, and a disputed reading is checked against the kept bytes.
- So
From outside, the published head is checkable against the served manifest, and each day against the next; that a manifest describes the archive is checked against the kept bytes when a reading is disputed.
Published heads
| Day | # | Manifest hash | How the hash was taken | Manifest |
|---|---|---|---|---|
| 2026-08-21 | 0 | f0bca18bc38e9a7d202bedc12def262cd4a17ec61136ee07f911afc775bafc65 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-08-22 | 1 | 6c7307b90cd4526281918351d2db867a16649334670c2b6d8a181b7bee95fb5b | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-08-23 | 2 | a02a3bb34b13ead82ab0c2e340005b7f50e342d939f6aff11c4cdc015b56fef0 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-08-24 | 3 | 4489acd993301d55ef9cfdbea259e8103caab82e388193029da9280b63e8a163 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-08-25 | 4 | f1a092c896cc7fed856b277b9966271c97c6561448f068a97b406b3cf21fb7fe | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-08-26 | 5 | 6bb70b7cd09e8c4bf7fe11ba1f77088a8af1ad4be48ade32a9ba2eedadad44af | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-08-27 | 6 | 77ec31607a51c46b2cd07aa1f76374011d94e4aa41e7c539613cd69e4fc22af2 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-08-28 | 7 | 097310da6f9122009b8bc7d197ede621301835253b608631a34ec195e60e27f3 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-08-29 | 8 | 77f366f397c817bdf5f572e2fd6283a1720cccae91cc3a7fd6a4ee3fcb554656 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-08-30 | 9 | 7e1290e6b241e69d235ec7280791489e95753f8e96edb80ea2a3a8fea1b49fc6 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-08-31 | 10 | 65c6239ba624d23c3f6c07b9f2b302122f8152cafb4ca9a6ec0678f2f69180fd | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-09-01 | 11 | 8357a3d6cc7cd932e6e847b467c3e13f512bc32283498559066b1aeb3d3c50f4 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-09-02 | 12 | a83c4117446ed26be4dd9a2c829c8b90ebd869d2bafaaec1fc62b6e99f45ed4f | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-09-03 | 13 | 256ae9aa2a9e78c016e5800200f9e6edaf92e4fa5d69d88220819433c229dfd7 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-09-04 | 14 | b7fcf603b0903f192f8a1f8135ae10c679781524ce8c46699a5cb26e50ac04f3 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-09-05 | 15 | 3753fd61b2156c582d7000c51a081f6e120a1fe3c507a32844e50c1654f448b9 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-09-06 | 16 | bf24287886f7ac093676cd0e8c9e84cf9c7150a5b6d3e4e26706befc6835645e | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-09-07 | 17 | a9f81952b039861618bcb51738a8c58f18e640d92198a8ef7392e37fb0269cc0 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-09-08 | 18 | bb52c1ddf08e4d8c9d3760b2a1d2059b3a0a0c3e1675b7aed63d4a93f3286252 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-09-09 | 19 | 059ace9ad80f314f27ea38f98071a7c35c8f52040f777e869ffb707c2c0f8c1f | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-09-10 | 20 | a705ee98d15790806271c685d05f4081c9e3b34a330c835f43f8ba62e2e1ade8 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-09-11 | 21 | e35e01d795d396d58b0136d753730aeb3ef699d83639c717751a0e45ff85e2a4 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-09-12 | 22 | 887e99b368fe40d7052590b13f4f7ac3b00cb3f37d1889ee757e77aed13c1cf8 | re-derived from a copy held outside the archive's storage provider | Fetch |
| 2026-09-13 | 23 | 35084d331092de35b7970fa3c9f87441a150077f25b88d2d904986ddb16a87f3 | anchored from the archive as stored | Fetch |
| 2026-09-14 | 24 | 4f4129e1d9281ecf0c1d58804615a7b52968a21d13653c87ac3788fdc0730898 | anchored from the archive as stored | Fetch |
| 2026-09-15 | 25 | 11232c1fc92561e6219d781c60b7f1ccad0a4e6bcafd0063b57d78e939ea8e18 | anchored from the archive as stored | Fetch |
| 2026-09-16 | 26 | 75bc676f83cbba7e000143202c2a2333e386011291932a750aa185f30cb4e9f4 | anchored from the archive as stored | Fetch |
| 2026-09-17 | 27 | 51c4de880a093e4716ec7e0770694051eb60733da39cd26312e6bc5bbdb05392 | anchored from the archive as stored | Fetch |
| 2026-09-18 | 28 | 68d4dc042889da9ca6471883df24fbdb52c2b5a2a962a699382d655dfbfe0484 | anchored from the archive as stored | Fetch |
| 2026-09-19 | 29 | 1cc30b745bf50239c94ff94b8e4ae6dcf86741e8702950b4bd1852edc91c6485 | anchored from the archive as stored | Fetch |
| 2026-09-20 | 30 | e1f46a99760a0c8bccc039473bb0bc6aa58ee896130d4cf0b382fc79401a00a6 | anchored from the archive as stored | Fetch |
| 2026-09-21 | 31 | 606f731e96a2dab10ac58f0f7606e4e99b537a25c30acb24579651b52d6f1501 | anchored from the archive as stored | Fetch |
| 2026-09-22 | 32 | 669b3426e310938080d2a6be9e7ee0bd39b3d7a95412cf84eb624047b4ffc18f | anchored from the archive as stored | Fetch |
| 2026-09-23 | 33 | 067dfe64b16f6ec684d6e5c8a786a50e5fe585d3f39ffba12d5af0afbad06830 | anchored from the archive as stored | Fetch |
| 2026-09-24 | 34 | 3aa9fc2b45b9be9487be758948dc735787a0327c1b2da647100b2b020b0b6b8b | anchored from the archive as stored | Fetch |
| 2026-09-25 | 35 | f6e5b50ebeb51bad88b24836722e87d042ff34e7661d0eeca34e902d1a22cee0 | anchored from the archive as stored | Fetch |
| 2026-09-26 | 36 | 2efb24973f9e18542cff42825c2b5f992568df8fb89df2845aed4f79df8ae71a | anchored from the archive as stored | Fetch |
| 2026-09-27 | 37 | fb117b9343b6b1d9fbf32665add279dc3629bd8b8bb549737d03e1ebb057d999 | anchored from the archive as stored | Fetch |
| 2026-09-28 | 38 | 7d4fd1c1f49b3b0555879bc2239eb239cf7dc7f713dd8d5e53bf78fa6f972a50 | anchored from the archive as stored | Fetch |
| 2026-09-29 | 39 | 92e858325e59ef2da674c021e7cf07ec9572fe1f93de62a15f2b473a32817019 | anchored from the archive as stored | Fetch |
| 2026-09-30 | 40 | 855256405d0f17415eb2b04863ee6c5234bfc6a5f6f13820401a5237b6aa3437 | anchored from the archive as stored | Fetch |
| 2026-10-01 | 41 | 56d366c82c883dbc8155e9b71cf4a5e942c6df1fea7717c6ea8d1474fb8aae22 | anchored from the archive as stored | Fetch |
| 2026-10-02 | 42 | 2455f94e57bc67edd74a16ee2a6f973bb82fc53418e59091cbcfbae38d50cc6c | anchored from the archive as stored | Fetch |
| 2026-10-03 | 43 | 53f73cfb443e1ea046627b0547e094cf46ee3b6c973b592ec4b5df75ab134bd5 | anchored from the archive as stored | Fetch |
| 2026-10-04 | 44 | a02b65fe6dbd5ff0a64036373ea29dec1ad9ca6f7d73442d40f5b1d92761acc4 | anchored from the archive as stored | Fetch |
| 2026-10-05 | 45 | 351e82b2df7a32868cf2fb7b1c52718f15bddf432998e7d2a5c99f9c02dd3c3d | anchored from the archive as stored | Fetch |
| 2026-10-06 | 46 | 225e127e348129752a13331b2ac5daf9ec1b8cd140fa8076a7018ffcf0c1b998 | anchored from the archive as stored | Fetch |
| 2026-10-07 | 47 | 55e5eb5b40c7adffd45098e2e2ed1978c83c3aaf0ee198879167b4a9d7560625 | anchored from the archive as stored | Fetch |
| 2026-10-08 | 48 | 81925ac2f3a8589c1785206e4be67bc45f4f9affed2d549eccbc16a0fd5af020 | anchored from the archive as stored | Fetch |
| 2026-10-09 | 49 | 3e1257bdd6e9ccfb04c4409d6b358820fb4c1edeab2d85257a7a890b10cae1f3 | anchored from the archive as stored | Fetch |
| 2026-10-10 | 50 | 0ef94d27d4ea2386ef0119c0c635c63bc59789bd07c3cc895b41260de8f548e7 | anchored from the archive as stored | Fetch |
| 2026-10-11 | 51 | 618afe784159e46041162b10e6c5ddc5e13d9b82dca1a6aebb02430f83f5af95 | anchored from the archive as stored | Fetch |
| 2026-10-12 | 52 | 61d104c7583e46651cbf5b75a4094f48c7e53a1008b414e46789a5297b5500ac | anchored from the archive as stored | Fetch |
| 2026-10-13 | 53 | 14933833404ac4907c7eca78bd6d781a4ed58a9f9e769ddbe3a2d67436f9d988 | anchored from the archive as stored | Fetch |
| 2026-10-14 | 54 | 974baffb98857eca7ec7b495608489e4d030b62a216584f22c080f3aa1684295 | anchored from the archive as stored | Fetch |
| 2026-10-15 | 55 | ce53d8f93f3d8e37eda7dce9b8fd567e10b9c685f89c4ad061174e0137d2dfcd | anchored from the archive as stored | Fetch |
| 2026-10-16 | 56 | b8804a17ce0c97445dd8954bbd476cde11e2e6af4297fa90446f923c890d54dc | anchored from the archive as stored | Fetch |
| 2026-10-17 | 57 | 7647b7623205c66fec9887dca78f0bb9883d5a110439888b007478e336135695 | anchored from the archive as stored | Fetch |
| 2026-10-18 | 58 | e9e564777a59c8d9327100986b6396ac865c6deb50e54828128c5c360d94e4f1 | anchored from the archive as stored | Fetch |
| 2026-10-19 | 59 | b0fd80071c9a54f68b842ee6b85bf3772746f0d4fbcabf8e69099142a95f9f66 | anchored from the archive as stored | Fetch |
| 2026-10-20 | 60 | 5a7268048903b2dbf043bf105a6f42645117f7ee46cc8b1ef94dba92b73c933f | anchored from the archive as stored | Fetch |
| 2026-10-21 | 61 | 6ee3451379f26942a755a340709004e1a71fe1a8a58a59b0d4d8652965127fe1 | anchored from the archive as stored | Fetch |
| 2026-10-22 | 62 | 2209a9460cfe4153978ad4f4beec53c792f9ea528189aaad7140c8ec792f1412 | anchored from the archive as stored | Fetch |
| 2026-10-23 | 63 | ff977b7bab4ac278c11ff834387339ac298538711bd14e8014ed08349c62cc55 | anchored from the archive as stored | Fetch |
How a day joins this table
A day joins this table after it is sealed: re-derived from a copy held outside the archive's storage provider, or anchored from the archive as stored by the daily anchoring job, which checks that the day's manifest names the previous day's head. The newest row can therefore trail the newest sealed day by up to a day. The continuity line above checks this table's own arithmetic — indices, dates and hash shape — and not the archive; a day's manifest at /chain/{date} is what shows it was sealed.
- Newest re-derived row
- Anchor job last ran
- Newest manifest
A public copy of this table
The rows of this table are also pushed to a public git repository outside the vendor that holds the archive, https://github.com/probe402/probe402-chain-heads, by the daily anchor job, which refuses to push a change that is not an append. Read back after its last push, the newest commit there, 2fa02b8b8b4f, is dated 24 Oct 2026, 04:37 UTC and carries 64 rows through 2026-10-23, the same count and the same newest day as this table. A clone of that repository keeps the commit of every append, so a row that later reads differently here, or is rewritten there, is a discrepancy the clone shows. In the copy's table a row whose seventh cell begins primary( is anchored from the archive as stored; any other value there names the copy a row was re-derived from a copy held outside the archive's storage provider.
The public copy began on 17 September 2026: rows 0 to 24 (2026-08-21 to 2026-09-14) arrived in one commit that day, from heads served on this page since 25 August 2026; every row since was appended by the daily anchor job.
https://github.com/probe402/probe402-chain-heads
The day manifests
Each day's manifest — the hash list that its head above is the hash of — is served at the address on its row. It names the objects written that day under the prefixes it covers by key, byte length and SHA-256, and every distinct response body by SHA-256 and byte length. It carries no response body, no header, no host, no URL and no token: the captures themselves are kept and not served.
A day's manifest lists the objects written that day under the prefixes its manifest_version covers, and every distinct response body by its hash. Version 6, which seals each day now, covers: under raw/, ticks, captures, corrections, policy, curation and provider; under metrics/, records; under paid/, attempts, receipts and sweeps. An earlier day's manifest states its own version, and covers the prefixes of that version. The observation files the answers are read from, under dataset/, are derived from raw/ and are in no manifest: every week they are re-derived from raw/ and compared, and the weekly verdict carries the result.
The object served here is the manifest's canonical JSON followed by exactly one newline byte. Canonical JSON is the output of JSON.stringify for the value with every object's keys sorted: no whitespace, UTF-8. The chain hash is the SHA-256 of those bytes without that trailing newline: strip the final 0x0A, hash the rest, and the digest is the manifest_sha256 published for the same day on /chain — and the prev_manifest_sha256 carried inside the next day's manifest. The newline is stored and not hashed so that re-serializing a manifest can never change a link in the chain.