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.

“The app has to check if I didn't steal anything.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0ca2216849f66451a4b054c8f5b84fc3b6140dd9eadc0eb075882c0b9ba6589f
Signature (Ed25519, base64)
KFCqqT668IIbPTRAA0ST4fcbO9WRJ1TDgE2qzSQg75fAw69fydPmsa3Uj5RCKwLeRu2jDI3SqOkvEwqKAz3SDA==
Merkle root
f26292e960b34f73f9768b4afc64585e265549d794b35b8167826c2bcda92ef5
Merkle path
["0ca37e3d8d2278d15f2e817ae96c94312553787ed5fa5a3a42e5d87d1c164cc4","cda4dded03f7569341290b3ef35fa91d71d98b778903e8cc1e19981e29290b4f","4c89dcfb371d5711493fc91945321f196e4f65eb4ea9d730f13530d2abd8a25d","2d616080f6fb0558c11d5def8c4506e6ee93f0a55770bfaeb2afad9ae526a9d3","305fd04bfd9bf7a10038ef542ee6e512aaddd998ee4a41f59980923da3714a9c","9d69074502fb9e5c5c21c4023191d1e1c4e7f68abac4790de266663b9487ab74","fd0f1c2103376b7c7277acc9dfdde1ae6e4cb30a285c094c9d72c613da0f6ce8","5cbadae98f4ab82aac4e07b9f16f1959bc2bf4bcd7ccb8fcfd5406d3fad44572","0577738379661660c5ecb674defa7d539db269033a9ffe6266b646d94f46e92f","db8743c56c7d07b43dd97bc9a68a5b355c257b822137e7ae2cd6d603b440600a","b27b104304fff8f60732e536ec19910e83421e4d3962110f65a88271a9707037","61b50ad04922f327345abbcbc9d231acfaa1042078046650c0d690ade7d11fb4","14d95cb3ffe81dc7ba7bda02f51c7ab9c1977951e0a9ce587124764e85380fa3","0cf751b4d000491c43eea40a33568458d763987b542601ca0644e491c0b04ce6","e95e880a53b013b49906f2e6b9dcc652726333d77986f48029bb634dc427e2de"]
Anchored
2026-09-23
Public log entry
search.sigstore.dev, log index 2913636507 · entry 108e9186e8c5677aea51…
Expected log hash
417fac9b806377ff48d30ded01faf8424eb98406df713fe2564ee9077747e6a6 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":"v1790070376053","kind":"published-quote","locale":"en","page":"theme:audioteka/service/en","quote":"The app has to check if I didn't steal anything.","rating":3,"review_date":"2025-09-22","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.audioteka","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 (f26292e960b3…), 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.