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.

“App crashes very frequently”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
063ed5e76ed2e178ae3fd9c94774c07e78f8e4881533b00fbc9869378ad14e24
Signature (Ed25519, base64)
UO9t9VO2qDrVN0NRYBBwLbiFmb5pNEZ8TvqQ75M/wkrlHPT0qwmo5gzp/MVYyc3hiadSeTy5ekQ3gqeHnqjmAg==
Merkle root
4814209eff208716b4535c2b0fd0b03895bdf3189545e82450cb75591e4887da
Merkle path
["063d0fa5b6810a3b430feabc543ac961f37d01a77a415268e515032ef24e5f42","b5ef3e3c2ec4f61556e06e1c8c9e594fd8db1e04fa4c7c59ebf72d6eb4ce610c","b374ea136d8617880c09006eab368c9e7214d7c26e5ee6472131c9226a4dcb38","b1e86aa027d0c97974f8fa8aaf617d0deaa776d242014f712d5be83afa344402","294b552a47b93fd68783b7298aaf3bcf7c82b5e62df12ce3780e0bdd318c2325","385d28b7f75701e736f019149cfadbdcb935f36b076ddfda471347f099bdae62","ce447123632e8443cbf64df536ef9d83de69e8c346d17e59bf366a296b189200","82d9f39d5f8b6d8fc6960c2ec95617f91bb8deb86c1b65a333d0cccf34539a33","e76b9965177c6b5a451a2c579bb351f60aa108f31c56615c6f2cd0019b9eff7d","22ce68ece64bd39d16b0b0f942b76298f00d2e2b1981f6b011c0b91d3d26f5d2","694748f02b5ff0a65ec47736488587ed6fe852f21476c65c3f4e981efe9c2352","58fc450d8d3ac4da8ac9fcfc859184c101d266d6f35f27c84cc4966e3f248dc4","5ca41ffa95430097818b993a1ba310362a9e5fa81d44bfdc04fd6a5a86897658","4222d4cb0e3cb98443733ef8f53c14d869249278d4ea410003cf03e3a343c09c","12d9d8014c44524a8d93c0e0f1440a3071b98d9de55311024d7d505c5879a63c"]
Anchored
2026-09-01
Public log entry
search.sigstore.dev, log index 2671265667 · entry 108e9186e8c5677af0ff…
Expected log hash
0d4aa038b3cd3d7cc8a3744c8157ddb93929116887b29b6be030d34102a7e419 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":"v1788234112368","kind":"published-quote","locale":"en","page":"theme:proton/quality/en","quote":"App crashes very frequently","rating":1,"review_date":"2026-08-13","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=proton.android.authenticator","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 (4814209eff20…), 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.