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.

“at least the notification is quick”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
b53b98f60c1b79ac0eef9fb7825b11e5b67a1df589c2606800b90e935cb3f58d
Signature (Ed25519, base64)
U1nSi+PS4haAI4zb4vntr4aU4oQbBfMbmA0Fk4ApocAg8nIuDm55a26YE2cRyzhmAqn3Wi31SSJrMOpitnw/Bg==
Merkle root
97eb1062a862b99998bef0a84476eb3c3812bb77c2cb927f4fd2933b59da9e3d
Merkle path
["b5407e651f2e18a3d6194c2f182d96f6981249fe46c7aeb2add2d00f4d71eabf","e22813f05c52fcf1a35caa02dc169f855adfdb698ecbd742adeed1578180219e","bf9355e70520fd0d7da0501122288ab4aa3784848c55f0e1c617f89b05105dd4","944aba568739c735bebf08dbdbf52f5a18fbeba2ec63df6867cbf38f0e226a7a","e073da39eb761ec0ce8058afa114646ef49e1ec57068b4018e97edfc490a81b0","053bd13041322154b6e44bd0bb310d53675fa342f10b96abecb3e349892b9710","e08f68d2c9c00feaf26382c6a17a2b1383042bd68f310d2bd35c3c8de8f74dc8","4683c6bfbdc5731e8392d10a79edab10f8a5b0afce6e2dcd49d663a3b5d032e4","b2a895cb4f6c287ad1376d25e4e4fa35c3aad2652195c6fe3b8f8a7ab394894b","b9317258ac8c553541984791be6cfb16900267dd0641462194de3adb86ac3621","46b9b279b944ab74dcd8719347239c10a7c86b6f847fbc5b238defdb13a666d3","f331b9b7b0f816973fc5999e2ac6d8d10c8908961884acb0adfaef58ea6e81a0","054c6c39d1f97397366b9a1b659a373f0607ed1b3f28fe998d444aa71461fa00","fb01c9b29e184d558c43a512ba05af475ec20eceeace4dde365559da92299892","46bcfbc656e0e2a380a8a94cdc0be3d8b4c668e5f9e54a10ba396a45b371339b"]
Anchored
2026-09-11
Public log entry
search.sigstore.dev, log index 2789279696 · entry 108e9186e8c5677a3885…
Expected log hash
05c7009ecf7ce5cf315c252c2a1dd135e64989a02cacdaaa3c5a87412a2e921c 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":"v1789017464005","kind":"published-quote","locale":"en","page":"theme:xero/communication/en","quote":"at least the notification is quick","rating":4,"review_date":"2024-11-17","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.xero.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 (97eb1062a862…), 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.