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 is very clear”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
60e9041906166d27830d747324d183a50de8359ae0dd29ce4fe287727682ef26
Signature (Ed25519, base64)
csozoY2nlAe9fgY9SaN+bpWNlYuQAgYkALKqXVkqc22zq1bIDcwS6ZpEEnipqtoZ1UmyCxLHG/gRtQRlPSFEBQ==
Merkle root
cb5472fa7b7f10b7453a4f782a38c5dbb3d782ac291369ed3830c2ab783a230e
Merkle path
["60e343aa90fecf88dfc74362ebf041fed81386d547d75600dbd8bf63dc52031f","85162ebc9570d65e3b914023e43099211b9a733963f2506de180ca05619011f5","c4ff9e4b89f2c14d7e58bcd7f7c327f8d1694b839970597ac0f489a8259b3d78","1d8e84faa2bc7f04595d12cc587f61dcc40eaff2d36fdbe877e90b6a90303e1e","2bbffe63d0195496680c8381aa8d14d313489b48c25d78e8b6ee62f854fb8d4c","0b6ef1ec12edd59732ff2603896331cfe45e53eb0d4f86937a8014180bc02ece","73469eb64384f2be9fda5d0a2a7b8ff1e6c5c05d9e319beb23585d459bfd2d14","da51ca197bd178c79042893bf5d403d067732896580f7d3d13d70ee121e4eb96","0a113cb1893cec6bc4880cb673e271e1f7e2d2a42facc1728571ee2d45e7c3df","3ff02ac1a4105578c886801d18dbd5dca06e132961cf4b2e8b676883bcef713f","d22e2947e2437bd17cee6fbebb3fef4564e517fa76b3667d5f7449e2f7cf7733","985e8226a3e0c2f6e4183d2b437a359f1bd9336267c62cdcc26c3031df5f08e9","d5c54f6be615dd1c8e7a065afc12e543325363bfb66a63065a4aa1d52a1dc406","6ab0f07aea38f551fb6ed4456f21bf7c468ab54859dff87b6772a51601755f64"]
Anchored
2026-10-11
Public log entry
search.sigstore.dev, log index 3199295725 · entry 108e9186e8c5677a3fc5…
Expected log hash
59b8cd8284c909c35d85f443b6a086d482f8b667c56ec942d663937a75e25638 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":"v1791689736846","kind":"published-quote","locale":"en","page":"brand:concordia","quote":"The app is very clear","rating":5,"review_date":"2025-04-22","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=ch.concordia.myconcordia","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 (cb5472fa7b7f…), 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.