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.

“a very good app for my business”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
5503f79eda1cf9d15ca0469126b1aa7d489ee070bfaaa9482ffd40b6d3379666
Signature (Ed25519, base64)
pE39Q1etuno9FPB4isYtjkxUhgZvs99PlCKGhqzh6ZKc/o/WXXHQ+O7D7mzHG++n6WRNjklIuUkOMB1L19HeBA==
Merkle root
04b39eaa56e1cf8f75dc8eac18bf6942167c8418ea731a7471223f0be60e3e6c
Merkle path
["5504c529304e349b5f17269b84900acb00d41bdfbf9b120edbb4fb1e3d84e93c","ca9623c3372e176ebab6f40d890b4070ab42005f80dd6ceb53a3808762ae4c14","ca0eb27738b20ade592d63fc08102346c235bad9e25661b9e815d8e5adb64030","341ca197de24f288aa240fe0562df916594b6a476d3239c5433ff4985a403613","8411382a50a678c234024c64d7e7e338d312ca85054c16864d1fce94365b428a","16527d8c004dc3ce2096bb05d668a3c9ed0a78492968f0fadedc55293913eb72","a6e79faedef98e09353c1225e2f0cc9ce40be53b9647a967b1cb9ca2ce6de4a3","53783fd9f8b75c8f9d0cc9b3dadabf4ed5ec39d2ba400d4321b077028148e63a","3e523cef2d89b2fe818a58326d741e8138ce93698a82784f5616fde871b734e0","4a56e51b4c194541041d68b49760029d8f41cb6d51c084d6a8bc6f76c6485b03","f0595b91093a42f963c5f4ccbbd4eda5c3fa85d7ea8db8604cc0983281b111fd","dd759c3bba11d3e1478fedb143fcb14237bbac94f760c71aba28b9f5afca77fc","858da9c5e5c810f227c1c3047d0873181b65380781d4a4eb884968faf30fbb8e","c5cc7ab668acd70733708092004f0624164aaac2bfd55cacefad6637b26146b8","695aed3f647000e14ed985f8c4d6045987ffb913dd12c814d6f9a495d4d25fd3"]
Anchored
2026-09-19
Public log entry
search.sigstore.dev, log index 2890214870 · entry 108e9186e8c5677af53b…
Expected log hash
1f3acef0f063246e051bf412e40f4279cb96ed334ff7b0647a13320c1b31c4fa 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":"v1789722569406","kind":"published-quote","locale":"en","page":"theme:xero/fit/en","quote":"a very good app for my business","rating":4,"review_date":"2025-09-07","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.xero.touch","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 (04b39eaa56e1…), 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.