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.

“they changed this app”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
141cd61279b7298017d0e9b1db6c22b7791ad31d382ec028e9951bf5a8b3f1b8
Signature (Ed25519, base64)
9OwgP8a9hnKM2rnhov+6M3s48H9ofrKX/Lf0Y/9byB4tgkFKxHcFDVfkb09Gsya8mqjQSkm1E3ebc8/Q0GiUCg==
Merkle root
f26292e960b34f73f9768b4afc64585e265549d794b35b8167826c2bcda92ef5
Merkle path
["141cb2fc02186f7bd9f06f80f4fe771e459633b743812cf16586f94c6152a921","24a9977281ec8cc187070d60b5afaa1267283983d53745c02776c49de1782434","7279f9f344dacc82f54b9e19501de25ba35073b3d196d51fa04744ae94f6ae7c","51e955051d754764a5255f7dbc208ed7c03f793730b86f8e31b48a4610f0f162","4c3bd7a7eb93b65eb9eb364336bb9c3ac3eeddd0eba4555f1971c6c0eec48dfe","c2f199b468928220ca37a7e275349b1a8b581847ee30053af9f1a9947c5b3fa3","224a7a9aae92351d7253ec876dc47fa74ee7705e5f29f61376f2fa895f051d25","a896050452646b79f397d9407afd74d4c9f7b4084c905fe1deb619efc8eb4467","eb20f02a917faf890c47117bc567d7bc0e4f389a2b34df9304fb7346eac5efda","85f54fcaac6430853598bd6eb6139021fd656b334ce0988d3c27568c8d53314e","c90e81bfa64c51799293603678ad2b0cdfdc922d2552151e3eac37f4222dc5ef","dffbc784da6e78ce004c2715fd64b08f8014ea3a60655e0f193168cea47c89e8","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:everand/fit/en","quote":"they changed this app","rating":1,"review_date":"2025-10-30","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.scribd.app.reader0","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.