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 performance of the app is awful”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
17f4f4089681f90181983caed7c577a58727fad5117ce5aa6da26106d492b877
Signature (Ed25519, base64)
H+M0Fq6k6QIMYUddk+j8vGaM2kLtI0OwxuEaXxkTEYbVKBGo7hQbCTI1+MgqRtPlRwfpIWor4C7fklF2C8KDAQ==
Merkle root
9bf5e8bc71b8f6d2ce627972b9fb81fedd792f7b02f32eb60fb8da440673ef59
Merkle path
["17f21e4fffbedcd509b8d3d729e7051978008da8ce8166838ce60da54d4e036e","e48c71f5f593ae817faefd07f252cd0e62f4fa34a20c9799f3d14ad1907b70c1","96a9797900365259034503327b155cf62c71232803c98c59ad5a4436bf6e77eb","d59b394189b0107a561cbd55f411eaddeef453ee180d8f8fafd167cf75520d04","e38d4606a09f463d09e8f70257a8a3ac7933a1ba04394c686c2f397f3defeaa4","53a23ce42c3d42f84492735300b9d9702e34e36c45d0a2b7d7be793c3f7b21f4","20db0276751c3278d2345a5f3ef42958a386a3a8f3259882a655ad1eea4d2960","ea058c2fdcf9401e57718e69eedf51199f968f5a1cafdf16143b9c3b3985d9ec","9900940b4763e53f1f98eb722c4022237d6d13efc01fa436481de62c7087dd11","aac857003f68e0e7b8a27ef45a46d69f8ee2a66803c08a53c21682219d66a0b5","bbaec6998ebf1d04b0b32b4e70b8086357341d49830c3f38a7130610d2298554","2c88cc21ee082e07ea2f20480fd1ac21fba3c798dae266ce57e363aa3da5709f","fb42483682b3119978267e05c9c995226602ecd8627ec630ce52b285c28faff3","09f662acb98b118c251b87092b3ab5baf38f48e2410961a49013a1c2f63f4cf6","1fa7003be7676d7952d939a45bc47245b2ced828dca06428675c885e312c802e"]
Anchored
2026-10-10
Public log entry
search.sigstore.dev, log index 3177778280 · entry 108e9186e8c5677a59b6…
Expected log hash
6b6bda8efa0d998f344024bc1a70908bd21604d8857c81e0a6e6c5b1de7aa565 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":"v1791603230890","kind":"published-quote","locale":"en","page":"brand:rappi","quote":"The performance of the app is awful","rating":1,"review_date":"2026-09-27","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.grability.rappi","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 (9bf5e8bc71b8…), 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.