Journal public
Chaque pick reçoit un sceau numérique, calculé à partir de son contenu et du sceau du pick précédent. Si quelqu'un modifiait un seul pick, même d'une virgule, son sceau ne correspondrait plus et toute la suite de la chaîne serait cassée.
Vérification dans votre navigateur…
Contrôle complet de la chaîne par le serveur : OK, 5
| # | Sceau | Publié le | État |
|---|---|---|---|
| 5 | Voir l'empreinte3eadc60e9b866d4850ffb99d01513aee573dd0471e7dd512aca55cd5946977f1 | 2026-11-01 00:01 | Scellé |
| 4 | Voir l'empreinted0564da8c740853ace7ffe1d87d64a6d61c2d1a6ee92922d700b4fc34af076a6 | 2026-10-30 23:05 | … |
| 3 | Voir l'empreintec0e709191236b4efe8997423eef1e54f169fddffdf6329fa2e83b1886f0c0cae | 2026-10-29 23:12 | … |
| 2 | Voir l'empreinte70e98e91013dc25ae731fa01f2f032bb39b832856757ac717fe71e6d334854fc | 2026-10-28 23:00 | … |
| 1 | Voir l'empreinte785e205f94527dcfec760048a12f625cf9ab10333266940866f0c2cc5ec89501 | 2026-10-28 18:32 | … |
Vérifier vous-même
Le contenu de chaque pick ouvert est publié sur /api/journal. Ce programme refait le calcul sans faire confiance à Certipick :
import hashlib, json, urllib.request
maillons = json.load(urllib.request.urlopen("https://www.certipick.fr/api/journal"))
for m in maillons:
if "contenu" in m:
ok = hashlib.sha256((m["hash_prec"] + "|" + m["contenu"]).encode()).hexdigest() == m["hash"]
print(m["id"], "ok" if ok else "FALSIFIE")