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)
1e9e1a130e09048d71834456df196a306345800c1ec1f4b957084caf6885433c
Signature (Ed25519, base64)
QE5jEjvCiAXiEeLAENamrpi+aFIP4dJJDSBuFbAyuvF/P01UhFhKRv6fLMxJ/BlwTYa80ZYKKFFPUNQ2gjCDDg==
Merkle root
ea9653d48be6468e8b38c47d968f49528ccd17e229f6df41b5fdcfc232720ce1
Merkle path
["1ea1c07d1f8b5518f7010d576edb53592d44474b28238f3f8bffba9350582dac","a11777591dd7a510d581001789cb01e1af253f9cf7d0e15436a39b09a46c3dca","4497674b9302d7f55c5cc6446a8c29521d601792332f0007531bd23737b00fb7","c7e635b137887ed6b32c9682455effa6c2b3e0cc05be6eb094548ce5792aaa6a","a2faee153233fd8e044b042dc71ac3ba270fff37efb67a08f0a84bc2996eae4b","86552ca54d5557f69a4bf8662c570c6f111ef24d2a90a79a7324721c61511f26","d36a8ee82e7d81e686fef156ff5c6e74247391e4c8ca131075c31b35ed804441","0e47ce5dbd944b169f5b01afa6c133812681d6492e66ae4d477c688bc5f4af82","743458a952589902aa03978e0e2128eb7405d08c5f5f946e438c8d61fc90e252","7d675657701f973341f57e41f606f6c9181968788462880699765351cd1f4bf0","b3d24f1d485eb31f67983e8448b9007b3580341c636d7fc910a97ab8873d9e5d","9253fa4f5bb69c032cde6a50eb05a9214fda55ede5998b0ed751c72bcace6cf3","6cd34e3dfbc2bb436f1bb9314162b2979f7ca90ac38686f80fc39acf8dc29914","ce40f5d4a6c2a1f06b7e5ce375094f8c75556b02f37cd3d94ca98fa0a38a1e5e","142248530d485121153c09b780e08c6af592fdb4c333042d3cdd9e4160c6db55"]
Anchored
2026-10-09
Public log entry
search.sigstore.dev, log index 3162767972 · entry 108e9186e8c5677a40b3…
Expected log hash
ea8f60b663262eef5ec0ce5a9fbc0ace913092ea47c37bdc70ac392578ea0c35 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":"v1791541525227","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 (ea9653d48be6…), 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.