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.

“Good app but annoying ads.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
ed31cfbf4c7cccf8bee4d721602013bbd37f82c3a13dbaa1300f01b0b2e254b4
Signature (Ed25519, base64)
ujzRQ6rx2Iv8Hra/qt5oPNFcJRJUmvsMcNLZxGhglotqlYpXYUiLby1qNMtMj/dxRh6yZtsSe8O2ezD19ARlDQ==
Merkle root
80de158564b7616572ca0c0059561f6ec90cd5bce49a388e61df989f3f6f2a86
Merkle path
["ed325f25b1c272d35c507da147079627c15ea9a7d4c5ae178b9165780a1ecc53","5324a179bf1a70a8818601a3f29a2fb6da43b7b3e02d4d894775021f12cf9ea1","2b0e6461c7c8a3c0be6f65be33fd294f6000f7b167f8ab908f339940c7597f0b","a0a9bb3ccd830c961787fe3dab8799141d9276e2e55ffd1af0cea25b7149d4dd","d4bdfd91eb4c4e4892287229b07d62ebd28a5380145cbf6df06c3e478f411e81","339a8b6e334242950d182bc8c5c6cdb5b5d1384773626cb63505b0741127a997","e72b75e6e95ffd940ca717782f5d294ec90ccd7c7c777acfc3fbec0edc4006d8","a269cef831fb214c5b6a9cee0da53edb1d65527749978470f24245cc5170dfc7","75fa1fbb24c0f4d6759eff90d46c8218c9af960963a63418fd733b67fcfffde7","bb86fbbc8690aa7b1c87be30ac223b884cb045bbb06f245a00b62b8b5c97b8cf","80d3969abdb789421199847380743d9e40364c21cef7fe30a643d307a281c9ce","3313dd0f5efca87d347f162963e654f8f97b434abd08d651e0c6d5a5221a45dd","a005037a25946b6652855fc44de7f4032ae34c31430074646af4b1ad906e77ec"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2513802575 · entry 108e9186e8c5677a9216…
Expected log hash
5899b5d0ea18fa3c879147333708054c2e3cd77662f2b6f633aa3b5d5512bbe5 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":"v1787121142818","kind":"published-quote","locale":"en","page":"theme:meteoblue/communication/en","quote":"Good app but annoying ads.","rating":3,"review_date":"2026-04-05","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.meteoblue.droid","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 (80de158564b7…), 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.