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.

“UI works well and the selection is great.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
36123a8d9698003ab0c2a113f94a521184c7cc64c3fecf95cc21f5fbf1c53908
Signature (Ed25519, base64)
hkNuMrheTTh9R0FEritteEdpbQA+kesX24LMxSQjTJcV11C1iltdBKK7mnfeCM3rMRn2vpATZG5fY2Dkhh8RDQ==
Merkle root
70a672ba4f99febc4973332b6c2cf94172d87101aca638fdfd56ae3131b117da
Merkle path
["360eab15926a99e81e6c489db62a3a27ce612793971f1e2ac2b95e4f4ad6400f","c2da3bbd155050cbc85542d04c150d86dc257447ae74b316f1a8e1c5e393f190","c5192a1246d1a5ba1f03ca92780710bf517bae5a4a8beddc12db03e989ccfb54","3d5f3b8293d909299450dcb04f135d176baa30e6f2c40236ff8cbca330b2a856","5c0c8624e0d173efb8d05c42d48909acbbc78f24d572d185153feb7b4281150d","810c9097be3430d5d216bc97dfc7990ccd2163b9a10636dfd218ccf158ad7c0f","fb3369153aa5b10f71278f6b7c0d78edabeeced8e90a4c946a43d4e9adce716b","eed4403923db1d6d7668b5bc3a77d9b08ba3fe34ca2e057b5f6f62947a25cc70","584fee55b1e6e297fea321df8f1c66d1f7600b7017824300b5540aab1ca06fee","468426c6f5155afd1c4902173a8be0f3e209b427f1ca01983dffe11266df91e9","589887798b162c5ad321340148f4b98b07ffb994657a7dbed451eafaf7bef480","3daf7333d84309bbae2a24d7bac378eb809912ba4c275eda118437baa7113699","4f7bbc30a7f547580056ddb3496a15f8060c2811c9dc3565770a20e7409b051e","1f37dc6912cfdc60064656f6b3b1ac7b51a18eea41a11061f5457370784c1545","c66ddd9e0c503da25c55afd584b26557c7acbabc25078f9f7593d3776356303a"]
Anchored
2026-09-01
Public log entry
search.sigstore.dev, log index 2670402210 · entry 108e9186e8c5677aa13d…
Expected log hash
4c67c3cc128b94bdb5d524d39c2018621ea5c6ac22722b8aaf21a3d775248c87 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":"v1788228248765","kind":"published-quote","locale":"en","page":"brand:bookbeat","quote":"UI works well and the selection is great.","rating":2,"review_date":"2026-08-21","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.bookbeat.android","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 (70a672ba4f99…), 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.