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.

“Sleek & functional app”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
3fa82f4d0e591248c78914ee50c169a30bbcc32214185f6f4a6f307ee40bbd70
Signature (Ed25519, base64)
ume5Fj503elNfrj0F9a6nCcLCXbyeRcs4HhrwYgxvoU9aC0iztTD0K9wmTlaOAeGC1NjhQumnqLwkWc0w5+iCw==
Merkle root
2f068f3de56bebe7a575ba4a979c9244445d2350140e36238e088fa40fbfdd88
Merkle path
["3fa7b987faaae5e8ba4631d566765f865f13facb742d3573d056b99bd3b0f7df","29006f2c3a0542d954b7e226aaf9644be0358c8bf28866f22dbfa6f37fb3fed9","8b88d9c0953ee59e9577574c9add12b37a96763d62a4dab0c62e86836f9b8557","a9ab836fce70091a6ef0fb1050698779ceb81e2dbca0d002293eb11be90567d4","3993e83fc25b319ec3761e121c385fb03db94377da922d5fd11bd80b2e94a394","b6e638cd87c11d4d128c035445aabbe2d1ab6504ac7f844c9324655eb45774ac","abd1bde7cd4ab804d8f9c7a388124907fa6278405f1ac1464bac6e9f647f7f90","707f90e2843d1aac238aef6a284d6e25798f891f20378bc6637000748e56357a","3aac738183a0002c8d5bc283a8129f382c767c48bc855a1a8dce88dab5935788","771bc6adf193615690af57098eeb146107db7c9ab5ca8947af5a61856688a857","160c0427cdb188ce7f937f06435fa5996b6a19b4bdc7052b0b1e205016d7e024","860272714a28696648d99767aad91d735a5f60322d9fa60ef0218fd7ac5b02f8","67b7564c01b814702c17628742fb6a8cbfa0e8a213c06511e31c90cf9f3e3578","03c5fc675733b417d9af5e071de3aba38ae7f09fa5781cbd0133ff9d4e234e36","98191c82333f4385e47f318835e01d44ca8835262c6d0df40edfd5f6a4dc5c19"]
Anchored
2026-09-20
Public log entry
search.sigstore.dev, log index 2893887498 · entry 108e9186e8c5677af79f…
Expected log hash
90099e0300c6e23b62e79318296ebab91bff130379d248ada57f044f77e72ccd 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":"v1789796056710","kind":"published-quote","locale":"en","page":"theme:concordia/quality/en","quote":"Sleek & functional app","rating":5,"review_date":"2025-05-26","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 (2f068f3de56b…), 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.