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 reasonable”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
d0a828efecf4ff0ffca2bdfcf104d28309dc509fa63b9048c0ceeee51db0e74d
Signature (Ed25519, base64)
8cPnoNzSyTH4UGKRS+hHL07MNNfLz5PAv/z3T6J/VDPgL5RM/0w5C6nC0gzl6HpC6dcIfIQ3/ZotIexlSyJHDQ==
Merkle root
2f068f3de56bebe7a575ba4a979c9244445d2350140e36238e088fa40fbfdd88
Merkle path
["d0a599f5c34c4db01a8d930e86bd2c3ae22501c3aef66bbb44b1a80836abd579","6dd10e7d3f47221e22b7e3bf9d318b76ad16f854a9f7da58574d623cd6cf608a","48244a8ceeb16bd21a9b939bbabc5df51b2fedd8911448d289d3ebe8b94e35f7","256f6cc333ed429ea564688ee8d9225e5c964003f907e5685f067b99caaebc62","cbe51c51663013f929be186fa276ccbc2aac200a37c4ddabc24bd4566aaa7e32","d9c4bdf55c1cb598c6c78f2147707fd43b12d1edcbfaa51939d6735802c40024","ee3c7a02e0626cf752bdbd4037d84d2fff91c0451caa734ba414903e7bb07c71","3e116aec49fc255bb5bc2a9848d7d13795cf682b3445f91898f51a3925950e2d","ae82af297fa62b8143ea54eefe99b61443e10d44405a9f80079017dedf927d4a","afcbb6b1f67dfb1bff60df00622b5552f68aa81c7dfc27c87791c7f6e8df1dde","1d9405e14643af107c29759ed9a24a4b18aeab1b3e8759243d7815e5613d437a","4c50ad53b7f499e0679555fac955a3a7f15d25b2f16f07f89bffb825c220a814","f798c0971d32a6ae8da39cbfdd643aa26fcc32dd200aa7f9151048a02f8ece59","537f00dd60bfbd8c049786f7eae4da8a735af5b60dacd3bc1b6054b8ac3175e3","58a3dfc9ad8696e92f5fc9960e9c6bc4cc04e270091b574a948593298b33d1f5"]
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:uairango/quality/en","quote":"The app is reasonable","rating":3,"review_date":"2026-05-08","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.uairango","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.