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.

“So far, the app has been meeting my needs”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
f36fb4bafb1c4beac7e50d999b1ceca374d0179e8c2cf1e3c9c235351933ed4f
Signature (Ed25519, base64)
+y1lRX4taoqNvhPyKsMSjO+VnzGmcItrzNDmlz3p1ekXSb+k+ti6TY2GtbhqCwPBBZll8aVNhO4IUZAH3Kn6BA==
Merkle root
2f068f3de56bebe7a575ba4a979c9244445d2350140e36238e088fa40fbfdd88
Merkle path
["f36d2e2b398100acc0711a10e7c17e9bfeac6a5eda94d3e945cd733aa482ceb1","5213c878e322f71f59193bcf894845264a5b9fa331e8791dfae6aa223b55f207","e0bdb2658e056d74d6a2335aa0dfff84a079082a9b100a790960894da780ac84","721cdaf22bd99e70d094d7589f990a20d88c80d00cc3855099bc2004b67947a6","64c3f227ea439b60214ca4f708509ab710ba45576d66d7f1e05a820673066f4c","eb98307103b29a6669b416ef1cd68a96600d8feec57c1ef1e999458d4583d083","c16a4541f8c1afad8fe015dce8c2b3fbadec9faa4758a1bd6105787f7d236cfd","30c42cbe3aaebe99899ca40c0eded1c6e702a0801d07cdf504b0d34ac9d7f09b","6fcb14fef71f6a190dc3c360fd6cabeb3c1d1caaa2a48ad43254d6c3487383b7","a1ed2643d0f8f706561c246751c813b6bdf9e8556e2e80969068729a7fe3212e","a90fa58de5999e596d28283605afaa5c0df6592f34abc44393d5449ed42372bd","71cd50b067ff32d173a37554b8e65642cf533aa669254bc42c5be6ecf57ec03b","34bf35d805c4f7af315854dc10a7a10ae0ea054d46dee40b360c3f04f8b8e60c","58a3dfc9ad8696e92f5fc9960e9c6bc4cc04e270091b574a948593298b33d1f5"]
Anchored
2026-09-20
Public log entry
search.sigstore.dev, log index 2893887498 · entry 108e9186e8c5677af79f…
Expected log hash
90099e0300c6e23b62e79318296ebab91bff130379d248ada57f044f77e72ccd 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":"v1789796056710","kind":"published-quote","locale":"en","page":"theme:uairango/price/en","quote":"So far, the app has been meeting my needs","rating":5,"review_date":"2025-12-16","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.uairango","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 (2f068f3de56b…), 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.