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.

“they changed this app”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
838b19adf5a52e7850916f47d23f3bda623902bb77cd0273f021ee6bb0a622bb
Signature (Ed25519, base64)
7Zro9jaLAUN0cuNKbytz2gMYesshi8yGN1xmzH4polvTO5X5AoUmIkdnSnM/4T8qCbV2cR5wc0ojbWIIE6t9Bw==
Merkle root
ea9653d48be6468e8b38c47d968f49528ccd17e229f6df41b5fdcfc232720ce1
Merkle path
["838a33ed60a12abd75ac363a0be88da817b181a2bff46ca40b288a5909984b99","64d2515c7ec3a834895eca3eb2902bf683ec4db1c5da27b0655030e915acb388","4486e227c77a270057eec67ecd079b84d8f4f96c563103c0cb7e05e1dab3ce84","34ad7cd37224cf355c817f47398b1c6fadedd9b5e6719db5cc6684048968b2bc","6f9d32ae35e55198ac45dd97b99223b514ebf02f14ba586e19711fbce3303489","6a8a349293126cdddb4cd0b2d3e14f97411bef39e367852141e31b418f21b119","df944d86ee63e5a9806f47a52d371e479538874c7207711462f6d4cc6fd76991","3cfc2699d5890d7860a99cb0ef27fb2aae6bbc82d6f1b19b58dfe5601f6ee0ed","9721c6b1c4af3a517f0191a7c4b2feab4cffed4a5683028479f9f3e12e8f3cf7","2fd6877058a84fc72b94f55c882e4afdb06ea09a3693151f2fd81fe6d7a53b1f","8ba46993c70476f84738be8ce5e9d52ba6f714db67d696100a2f57cbaaabd32f","182421c42f44dd31e48e89ae9fe9f4260b76d70180e539225768fd2a073069b6","ccf8ff30a3103bcff522ac20eeb7c8bafaced0c8bb22a4b473e821c1f5835c20","941e58bbc56b1efe09a1b494813fe84c02af0a34c4d123d9b4a10e3358002128","142248530d485121153c09b780e08c6af592fdb4c333042d3cdd9e4160c6db55"]
Anchored
2026-10-09
Public log entry
search.sigstore.dev, log index 3162767972 · entry 108e9186e8c5677a40b3…
Expected log hash
ea8f60b663262eef5ec0ce5a9fbc0ace913092ea47c37bdc70ac392578ea0c35 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":"v1791541525227","kind":"published-quote","locale":"en","page":"theme:everand/fit/en","quote":"they changed this app","rating":1,"review_date":"2025-10-30","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 (ea9653d48be6…), 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.