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.

“It has misleading ads on the side.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
198cb4b8c0c9d8ffd5fc275f1b466d432881b861ad6020e9cfa0372c2ddd0aef
Signature (Ed25519, base64)
EVS0wsiw1eXFIAIqJv2ZKqycs5I8BZOEinVkfWook49mVeeeQ+2M3b4ItT5eBr6uog5cusPMfDl6a/K+uxZAAg==
Merkle root
e299bf38720a5a91bdf63bbc0205245bccdf3432ab1652c69342549658b7a9ef
Merkle path
["198f438f62c4ebf22b6c9f0c4d7d6635c6293c9b6e261518bdff6db1638172b1","da1a6de6e9446bd084f972dcfde2883a5ea1a5dd843c8aa6fd82e6ca6d06c401","d8d2b711b0470a36e1097dbf37b17463225620046565de7727525f67d2f870e6","61aef78431601ab43be52a8240d9742a41b15e42e924028e363586f47e57b829","41cae5a1e29d12cff318dd1aef95ccd4c7972e3de72d64d9506e7c4ff24331e2","efe59d2b3bd8a207dc02e0363344e50345f36245302f5b12c111c7d059476892","74522697798c92c4c26acd866eec25bbd4f96fb4dfc48399ada994ddc630220d","e182f774d41fbb61df42aa36038aa15644e16ff95b75aba6b46a98a87817b4eb","fed4fc83d00c72d2f51d192a942793cd55b39978c317ba0725fb46dd5332b455","5e19ab54ca8adac336c09bc9e25cb1f486e85d1bedc29c4c4d278fd509c1b824","07be6c3c8a9e01f9b22a73457cdae6cb1c800fed0aa42a077db2612d9d0e21be","31f91261e54510c82e0f505e928dcd01951b5f1b3bd1a4ebc39a5ed954368324","e3c57a8cebd6c96ff44fe2cffa20a59e203e20975780cfe446c93ca7bbe448ac","2e838893ef313b8ef0f87568e1e691fc197dfcee84413640a12968493decac73","bce5d442c07de6307e5ea8947098e74ce88c2246eda5e5fc1015a6d7519228a8"]
Anchored
2026-09-21
Public log entry
search.sigstore.dev, log index 2904877428 · entry 108e9186e8c5677ab408…
Expected log hash
d020708737f55ccdf49203f373fcbcefe8158cc388605556fbfda3c365de7360 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":"v1789881486272","kind":"published-quote","locale":"en","page":"theme:vaia/communication/en","quote":"It has misleading ads on the side.","rating":2,"review_date":"2026-01-10","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.studysmarter","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 (e299bf38720a…), 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.