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.

“have use this app for a few years and it never lets me down”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
29ca4a3feae5f770de61704f5adb3c524c34da3c8b6c1f1d6e79ed8e55a97a09
Signature (Ed25519, base64)
etWHc7GHZOiD8HJifhWOxXVceSIovW4UdBkSZZwzkzYzmWcPrsL3HB8m6FUXjYCAnIzvvfd5NChX/DkXVDG/Ag==
Merkle root
a4d47c2a34f6eeba31e2744fb1551fe9a0e34820dfc152f1ad93a68b24759c3a
Merkle path
["29d1afeb47d5a9a85cb82d4586b4bae494b32b43f82fec30d78b668fbc4e8e3a","088de2291a16b4351147f8c9ac00c7ba216fd89266bc6b29eaf48876771eaa29","bca325622aabdb9dc3c9966f5eaa47d295a022782c59bedd70cd9d452776692e","7267f7b6fd091e349c45c6819fca225a213f0bd5b73bfd59399707d8c4cdf691","dc9b9c06c8eec0aa7f55b225e021285ae138269ca9bca18b8426711038a48beb","8862dc2c9b6f007acb79039c31c0546322ecf3bd012ab55ce082d7931fb1de8d","2790527b4750b27ee7faec32122121647a331d9c2ccdae6cc244b262f7fba335","79e109037d9b2fbc372429d1e3e73cd8441d67ea75505497d8722bb4bd0396d6","b735214b233264ee5fd01b3ee1623570d81833099124c5bb9244179215cf24af","19daa0f89ddefd045efce6d96b7b6254c685b45ae7412d0ac14dba4b0934a8a9","5d71dfb799af9616515551742ebf194eca9971ad386cee090b62aeff22bd1d8c","718239fed8057dcd9c8669511115793713c3c27b1e9657de27f870abdd5c7bee","0d7c4faad4992f205f2c1ebb2b0e4b1b7e9d070f1f77d3f8d64b80626c324f46","35108299fffbb5c1a0d86f074b5805457d73da5ec7c848a19bc9a928f6a42a99"]
Anchored
2026-10-16
Public log entry
search.sigstore.dev, log index 3272274666 · entry 108e9186e8c5677a2724…
Expected log hash
d56e71820b4c8c62b755e9f6e3d2b624566d12db6dd1606e99ef55749400c387 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":"v1792036997995","kind":"published-quote","locale":"en","page":"brand:bitwarden","quote":"have use this app for a few years and it never lets me down","rating":5,"review_date":"2026-08-24","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.x8bit.bitwarden","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 (a4d47c2a34f6…), 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.