Quote verification

This proves the quote below is recorded by Citatio exactly as displayed and has not been altered since it was committed and anchored. It documents Citatio's crawl observation; it does not imply endorsement by the source platform. The quote links to the original review.

“Protonmail m'a causé bien assez de maux de tête.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
31c5023d510b29932db626e8f21cce7f18ee1c255d12406efaf6334d8f8e6d1c
Signature (Ed25519, base64)
piWSjS0dGT1eMtMXs2WqrzQmTZzPmZ+z+1BEQ5l/l/VW1ZD46qWciMmRyVQHUtqBSuk6LkeJZtaUxxMd+hvJAQ==
Merkle root
c921242d78a65e026e3281000ec5ef04ef930758058c4fed3f79f3b5ef992cde
Merkle path
["31c3a55d08974cf188ca7215549856c6ce1f2286577541e6ca3e1e5b32bda130","5f196212c43f97c18fb3ec9c46274b4e2dd208d8b54495f63c0f59263a180e09","9b1000bae88b4f81aa2d0f686fcc7770e3ccb31faf59bb91c7146909c301e29f","04ef097bfd7fbea5901983f910bef055b395ae990b37a135d4e2f8faac2073c2","fd7939f3aa0e84bb1b7d4df8a81c3b5d44ec331058fe0d6104a8839741969213","c63b8d62333b862f0d177a24b3575af1692c21ef89be037ab60bc979a6f05a20","d7ef5fb0220ff513a3ceb246bc7ec69325676fa3ccb3fac78ba17ff18d98e6a4","083aa3f4d57ed21df369a65cbe8ecd5703c6168e00640d7f0337f6d0474d8cf9","17d96afd9e66049d609588a738863b430bc845a3198506352637f0947e8f292b","c392ea0092133956b77e6853ea98d8186d50c433f350405c1f291655e6e2bf16","3c7435e43c83c03b1ba40a295d4666b439c0dc2fac13e44eac9d3230203b6dda","fe73ce509a77325b5ffa3ce5d771087bfb0281b53fe18b6fd059050b1823b872","affd4e3e6ec270a4ab2ae23163aa1a6ec143fc7cb3b6399ad8156d5289cce2ce","a3747175efd8cc3d769be29f15252da2dfd09eccbeeae76e08b0112f75ae1173","522d5a6bf348351e5632579ca190fcb390464957ba4b4698b399695ee13b67d6"]
Anchored
2026-08-21
Public log entry
search.sigstore.dev, log index 2543700701 · entry 108e9186e8c5677ac7e1…
Expected log hash
c1abaf0323b08bce2cedebaf1993162920ee741ace8973292e7ffdd13aca356b The log entry's spec.data.hash.value must equal this value: the SHA-256 of the Merkle root string above. Recompute it yourself from the root to confirm.
Canonical record
{"dataset_version":"v1787287374804","kind":"published-quote","locale":"fr","page":"product:proton/proton-mail/fr","quote":"Protonmail m'a causé bien assez de maux de tête.","rating":1,"review_date":"2026-08-10","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6a79fdb35d21d3393f683027","v":1}

Verify in the public log

  1. Open the Rekor entry (pre-filled with this proof's log index).
  2. In the entry, compare spec.data.hash.value with the "Expected log hash" above: it is the SHA-256 of the Merkle root string (c921242d78a6…), which ties this proof's root to the log entry.
  3. Decode spec.signature.publicKey.content from base64: it must equal Citatio's published key at /.well-known/citatio-signing.json.
  4. The entry's integratedTime is the independent timestamp: the root, and with it this quote, existed no later than that moment.
  5. Locally, without any Citatio infrastructure: SHA-256 the canonical record (must equal the record hash), verify the Ed25519 signature against the public key, and fold the hash through the Merkle path (sorted-pair SHA-256) to reach the anchored root.