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.

“simple and functional”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
78e173fad446441a7ab7a0367ce96751728597adf46e0f6ae069c07c9cd50104
Signature (Ed25519, base64)
u8AKeWehR/MkNG+i5SjvahPXwvkEJPuVNusO++9P4c6NtA/WhV2fDQElShIPd6MjJZyx9/uJpI57NijfikAxBg==
Merkle root
2f068f3de56bebe7a575ba4a979c9244445d2350140e36238e088fa40fbfdd88
Merkle path
["78e228636ebecc633297bb29773e33d984695ef33583879d80575d67c3a585e5","fdda97c2c1e64228190107ac8aaee693fdd4cd55ef7bfc5e44156883580624bc","b7c646ebf04e8334dc8ebbf41552b31ad279bcca94cb85d0b823a196ca82f38b","3bdb4bece31f85770ddbca9f9f69f73e4a02a61f78bf20cdf0a5b8a24102dcb9","81cfd5ec52780ccc0150c1aa208311a64786914ebcd86c11f19fb9be70aae0f4","267324aff17f002215361e74701c229c79a6539fcb6eb7e6bdba3f292b4f688e","0e5546891c21eb364174b09d3a89f5fa797dc1b5d4c91385785d71a00174cb9a","2e409985155c177a1f1eab49ebeec662bac1528d1395ba235d03e8bd436a32b6","8fe0b9ee2fc387552f9898919800431b02f21fc4aeae9b5567e51f283a25e64e","ab44b554083dc94d4fa35de59edf67ec7026fb0e536086d1ec27e3d491d8f917","c3b3f5c19529bbeb5ebc1fab9e124029362e3e3d4f2fc2e58af4d4e08143082d","3c6ddbcfa48be5df39d5d13fece3ba9fab7f6eec0e8fcf21a13cdbcc6729a93c","c5d2216bf0003f30213891a39e09a3edafbc50505093b2ae98f61a9c067b5a3c","f2c4543851e26fd9d1e3721e592d66b00f142e537786e975d115c14b9cb61c0e","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":"simple and functional","rating":5,"review_date":"2026-09-09","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.