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.

“this app is garbage”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
253912f92da3dbc0cd46b00782d83c8c99770c50846c34724d9eb98d95e3edee
Signature (Ed25519, base64)
bVcNv5vsq3kU4AlOduUXmge4EuSqJ07f6b2BBfc/EmOfRwJ6/3m36SxBxGQYbn6E8TVR9KDD2MlVyBUOYTC4Dg==
Merkle root
a6a2b4c9d7d1eafa4a3ba3595aa08f11c105165de84940ffc059f837c445104f
Merkle path
["2544d3dd0007838f8f9036695597ec3c0d307027a7ddbc4e0a9729a280db33cd","9ab92d0e3ed6ec3c3f971775726ead736826b3683dffad3ca9c3447922ba53e8","9c02cb57b3a6407bf8850f28f50b080a6ed35acae19809ef0294604729c1348a","8765ccf12cf3e4aef1dfe9eb7f6cb847e1ae52dfda2b3790d8799344c0fe011a","dd0963dda2d6b426ed969a00f96d962c8c3e3de2d7ed070528a8c666d0c6a160","4f52cb3ff5cbfe19bcedd2bf3d7c6c056c48f3dd6d7172aeea062a68af972cfd","946b89ddc7213eab400714388a73a4d9a509c6583db8617b283b9f00086a9fd9","9acf5d64c1a9dd5c7f2cb0441ff982c3258c13cdcdd81ded47668e564cffaf0b","a43b47d2b94ac745e03305f25c2a0ff1e68158476852a2c45c6987b1ca49ba47","a6ece7c62bd8d9810b746a22e4ffc172b2bd7b4d4e53043178ac8a1fba5983df","fca4148b7d63d2155bd4f2c250f595d4390b55f1371317ad1717a801e3baccf1","8ceb1cbfd39c6c4db73ef7ebf9abc517c7ad214544f8291eb9ba9ebb0a70e4ff","95302ff16156d5e277933eeb7a8aae0bcc9cd9ecc1e7491c1aab462ce098abfe","d9b9cce27629bc902030340ceda068fb90d53ddab20309d3b3d8bb3949c170f2"]
Anchored
2026-10-16
Public log entry
search.sigstore.dev, log index 3273342496 · entry 108e9186e8c5677a66d7…
Expected log hash
8a8ea4260f3039926c3342603d4fca7ca9e5c627d841ac1c7142e303a049d0c7 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":"v1792122420855","kind":"published-quote","locale":"en","page":"brand:wave","quote":"this app is garbage","rating":1,"review_date":"2026-08-20","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.waveapps.sales","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 (a6a2b4c9d7d1…), 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.