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.

“once you pay for books, you lose them when you stop paying”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
90dbfada5ec6f372e227ddf7294e92ebe90cb348a8bbc9282a5105505ea69e28
Signature (Ed25519, base64)
nvtleEfiuSkvYkHmWolh9a+hxdcghozjaNYTqbzQwBmxX7imzzNYbUnx5EJfpW9rwaLs/cykXVJjGULvKhxzDQ==
Merkle root
f26292e960b34f73f9768b4afc64585e265549d794b35b8167826c2bcda92ef5
Merkle path
["90dcb26cd47631c55c25d961802294fff3c656a6b016872539836ed6d322cfb6","25bac4bf9c3d2db8dafcdc3e2d8ad7116f2f0555bc965669276c299528c47cfe","30db49abd7ea8da46dfb5f6b9bab830d88fb6948b762d95295f23c2bc6488dbe","978f5493e26ba5c34c233de757afb38269a39e6763d5d3324ba3e8defa78606d","d48217ef52bc50a71615b5f7d7853eed1de63352c73fbeeacb4a37488705d488","484247a4acde678bbff37cf00730dbea3e9fc1186759318586ac42ab00462536","4ee9154e24d26c03e72d71c51e3a9a3ccadbf17f252a17dbef8e9e7d4fefeafd","acfdc567a2e417b54ed0e8523573383bb7d573d5396f87f81be5510c43f18d73","d27b3a449136e6c44ea17dbeb7cddb4af7c2ef696d3270b83af84eb956a91274","abd33169375eaf8dacbe4405430b79a47af6b49e397cabfdc735e9551541dd9d","3ee4c26b3b5e7bee9c8f7c2261aaa73715be73d5f55359c966a0859b79b1d92a","da342b52039afded388a34c4d220b41695f65ea8d9006b7b024c76c455dc983f","edcaec9f8e5156b483404ee77350f2ddca893e6ce1a1eb48e97046facf217e60","ebe1651655c8b61b6b5364f1f9c2df6d3d2570b884eb1475b1f154f5054feeba","a616224c7837fee9e37cf9dfa53b6dc52945555438d928215ead84ba8ccc7b57"]
Anchored
2026-09-23
Public log entry
search.sigstore.dev, log index 2913636507 · entry 108e9186e8c5677aea51…
Expected log hash
417fac9b806377ff48d30ded01faf8424eb98406df713fe2564ee9077747e6a6 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":"v1790070376053","kind":"published-quote","locale":"en","page":"theme:everand/durability/en","quote":"once you pay for books, you lose them when you stop paying","rating":1,"review_date":"2026-06-08","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.scribd.app.reader0","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 (f26292e960b3…), 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.