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.

“It would be good to fix this problem.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
077dc1c8d62428f5529cd64e2853ad6a871dd1da6b9df032551180a3c6777d7d
Signature (Ed25519, base64)
BQiR7msh6RKbNM1CfOWqEulAj11Ag5Ec1EpMFG9WfUwELala9o2xvS2Vl0NWnxUPAfIexdEKlNnXFiKlubllCA==
Merkle root
8ffad6e97d1457610bec7a891f189d1ba7dd7a92ca672c69ff1ce3283acb4b5c
Merkle path
["077e032a42594dd208b128b7271a0fd0f2bd12756569085c1bbe09142fc7bcb5","e32c1ba4bfdad79fa1b5dcb839c6f7f9e77de22e1eb0b21baff64bf1b628be8e","6bd66ec539fa256a0ca3c2c65e582a1dc9096ff05f26b09b2f56d4329696da16","8cb5856c4b645d893e80c301ca358680cff28d6761894cb2e3ab9dd2c7785706","a7d28d5b808dedfabb19beeefa0766c8ea7df9e5f44b8c74b8658c189949c7ed","833ee3ed702100bd2c048bbb67be0b04bb753b4d8d6421115a0771db7b74e3e9","9f92c4c46d313d17cf9e1416830937f547f9f7eb0090729469ddc365615c805c","ed179c7da662592acc8ea777d4e9ea15b0599f5e58c7148912caa13f04f6d659","46ed017ba604775974c0b7c472b952ea2bf5764394f6690dfdc411c846929556","aa885a706ca651a0e4483ad9a829440642a72ab98f1b72bd7e15fe8491229f66","cdab6187ee84b886981f9303deeafe282772de8d8b15616e2caab3e624f1da14","d64f3721b92c9ae5b9df50985c17025ba26aaaf1939e950e5e063d45934e49dc","a96778a5baf37ff274f68eb2f3763035e6ca2771bce9e48327b04149f6a9cf89","c3da944168348f2737a3a033a43606f7965e05f20058b59547dacbfe770ef5ce","e9f7ba9964da1314f660fb2f84a68d574ffe9983879b5b54001a09ca5cb5f33e"]
Anchored
2026-08-21
Public log entry
search.sigstore.dev, log index 2543266411 · entry 108e9186e8c5677a241f…
Expected log hash
443ef8f29d5167ebb4c56a46778facd07b7651afa8db2d089c14a991ce0d04db 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":"v1787284817344","kind":"published-quote","locale":"en","page":"theme:proton/quality/en","quote":"It would be good to fix this problem.","rating":3,"review_date":"2026-08-13","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=ch.protonvpn.android","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 (8ffad6e97d14…), 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.