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 not very intuitive.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
48a5682f271499067b1d19530d7e14a98749b67b25ce14d5308946c48fef427a
Signature (Ed25519, base64)
p6EuUDqoSzPQRRBGnSlrzYDcG9kGx+S6VN5CEkpU6DwJ1kYiBcN3Dw8LfKT262ILiim0wFmVMTKtZ/X+3+N9Ag==
Merkle root
f26292e960b34f73f9768b4afc64585e265549d794b35b8167826c2bcda92ef5
Merkle path
["48a60d8eac93db946c6e5613797b5d624a4951ef5e228c1e2d069ad263b799a7","8e30880aec99cbff04e6e2de630fed064abbe42efc05141e2ac2a59d9bbdff4d","c03f1ae74f6713fc00559e3073a246548a561a398bb338923af6e38693851db2","083e67a0e4931650d1d924cc19dbefd100663f1576b9e3aa5139ecb3f402900e","111588b4b66d76000c91c72fb131d3e1e2d66912dac48d3a8a995da084184600","ce49c89e3ffb5383978a21c5682e339cd5405e76db12acf6b3e5b6d1f011decd","cf1f91d02151ea245c3a00371e3eb9c245d8bc722f2aa6e469a90548c30c8816","dd023ac66a302e39227a3038b077b67ea47871a5154e8e3b6d14133e2100d5ed","730f896d50fe5af36148c0662f4c5f098687d5a6b4acb6deeba4744fcad69e52","46f13ac559f01dae1a630b6d0db48f5f5d17f788dde394c662f200003b076440","0acc49bf7e88743492039e1945df2231045c91a0ef7bdc077afbaecc9c0c4c73","59ed91997728cb88879bad2b8337d3faf9e7582bde33c223df4df42a8d4a6fc0","eca7cd52f5c219223fa262f727815d7426f47ee6fd8d3c4a33225271415ce785","7a8821e5f39bd89945ecf080ecd049c93644614124901c8b74f26df2e34d9289","e95e880a53b013b49906f2e6b9dcc652726333d77986f48029bb634dc427e2de"]
Anchored
2026-09-23
Public log entry
search.sigstore.dev, log index 2913636507 · entry 108e9186e8c5677aea51…
Expected log hash
417fac9b806377ff48d30ded01faf8424eb98406df713fe2564ee9077747e6a6 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":"v1790070376053","kind":"published-quote","locale":"en","page":"theme:audioteka/ordering/en","quote":"The app is not very intuitive.","rating":1,"review_date":"2025-11-29","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.audioteka","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 (f26292e960b3…), 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.