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.

“everytime I wanted to change the language the app crashed”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
deba0f3b45659345c2e8a5db0b93773d5d4f1aec96c3dea9648125e35d684f4d
Signature (Ed25519, base64)
aJawWVdDt56BfsfGRnoedNbg3HrooY7MUVBDjUM9RJs/YQuYL/LBs/ehuOf3uMOKrIXChJIS124pAEARDhdEBA==
Merkle root
1ee209bed1b4afeeee81ef09190ce0d3b99a421ee0d9b4b532771d9d3d94cb97
Merkle path
["debf0d9f1297b114953b7bb4fac90b24fd98f99ec616e729b27bd56848dbce11","bfa3eacd934a1fe70f3c69d1224fced99ed194f57103dbf07ccacd728a008872","fc02eb3c62514f7d608ae692fb805a008aecfbd49d8f5296042751919d899f2e","67304a23a7644993119f21b563ae952849336915e81e667088de8ad81e19a750","c4c8d54dc19f01ccd9d5025ad1b06533d6b898864cffbaa7e9ef3e5df12c2c50","8a2b9fc6e23b2caa45b95eea60c6c0e609660ba7c550d93fc4656267c3b9aa9b","2ff5cff2fb50ae4b6aa686d70b3f574639b5a7057ce1c33b370e8e3b4a659dd4","29bcca845b6b96351f0b4a62322223d26f648f2964bb4ca2e23d02dabfbdb471","a5a1d5f30c4154b06b2766f4fe4ef2608ce58dd3cd1e0e19e2069b3c26d08283","71fc7f68bffa07cc9617abee842011f1e2461427977382516ab77eb5bd1729eb","5f5aae4fc857f2687fab59801b6b9ba3d6f95db78e94ac36a0c2b7d5070ebc97","b5978d3b36642a74058021b62ff8bd31fc459a27253e8e7e7555ec30b4af5d8c","42cb666356b783afa8f0c0984c4e26213377b06bc32327618c7015cc204d7621","7b31f8d99c794d48940c99b1c3b5b8106ca056156cb6a2be977db9fc7d95eb55"]
Anchored
2026-08-28
Public log entry
search.sigstore.dev, log index 2621931690 · entry 108e9186e8c5677aeade…
Expected log hash
d994a621bbbd8dc49979b621c8ed37c232baaf4093de999a10f35ab0baca4376 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":"v1787892752320","kind":"published-quote","locale":"en","page":"brand:skoobe","quote":"everytime I wanted to change the language the app crashed","rating":1,"review_date":"2025-03-17","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=net.skoobe.reader","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 (1ee209bed1b4…), 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.