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.

“No, that's how it is; even if the manual says they are included, you have to order them separately.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
a244325c811e251be2ab34a1e510b09c15e0bfe12cbdc973e5f1250e55104e4c
Signature (Ed25519, base64)
rXTu4nIW8zun8Zb023mpP4o9uzu9mXkDUXYpISPAk5Y1OBolwzVgo2u5Wue4A1ivoSQPTipmqCmzhc9ZawRTCg==
Merkle root
1e69109d842117168677c2c7aab9689ac78923960f86fb642566271a6ebec358
Merkle path
["a247ad4834cacc12fa43bb5552fac6ac166bb3c179c5961337aeeb39c86e133a","c8691b269aeea6ee5ae2f2f8bf9eaff013850825aa0a83a415ae77c8c5ae1e68","5fbbd4efbe12a43d4f7040ed6833831936ed21dacf71299bfb7bd54e8ab4f9da","e924203f0de310b71178505a4fc0697b571031e1b97a4e1c1d7a9b6078f3ef8d","952d421c97bebccf3cb293aff836e1029763541c1fec5de0d766d68bc222db49","907b6a8cdfbd1ff91cac0b8e6dae75895e12bc498b06fc2d850ec5cea67bb695","d1e79a8dee86001576584451a2dd5412ad12605877feedc76a0ff2e36c603b91","154ab2b62a888b99c740780cf6a738c2771d72e94aba41186475150137d4baf7","58100a9c3e32f66964efecb93f8d33f3ca1b86fb0709cdc19b919c45270a07bd","3715d97d7f2c9d9f3d5c0913e0d3659efb66bbeab78e7962df33d1261a59020a","1b6be8a7cf122d1248014ade7180eb475f90ee5a823800f348fd6c46ce6ac731","7653a5e606e042366c82dfda10c023c0c6749afda96ba6ae69204d5283ae6913","4415f435576ebcceac3b3c0977d023db135f0518d5b58f01ba0fb57155fcb406","4db0e65440b78c494263fe6b915a75fbf2b04ea1cd2fed0eeba5f9cb4589aa37"]
Anchored
2026-10-15
Public log entry
search.sigstore.dev, log index 3258673097 · entry 108e9186e8c5677ab832…
Expected log hash
c57cff5f0f2da5f1c24e09823c0cd10c485830bed55f44ffe5864187f8e896d3 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":"v1792033864449","kind":"published-quote","locale":"en","page":"brand:gerflor","quote":"No, that's how it is; even if the manual says they are included, you have to order them separately.","rating":1,"review_date":"2026-05-14","source":"Google Maps","source_url":"https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sCi9DQUlRQUNvZENodHljRjlvT2tobmNuZEdXbWRSYkRGdWNXdG9XbGRPV1c1b1ZsRRAB!2m1!1s0x0:0x685d704fc7c47f33!3m1!1s2@1:CAIQACodChtycF9oOkhncndGWmdRbDFucWtoWldOWW5oVlE%7C%7C?hl=en","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 (1e69109d8421…), 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.