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 left me without my passwords”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
4a18dcf2f8512e6216e2283c16e5d4c8849af8f2bb9e5a3ef9bc844e8b51978c
Signature (Ed25519, base64)
19RWv+nlA5HaB+zOLL54dXWjNjo0z2PjdX8tmh3oTzTeMoReurCn6wgdpqSjb4Zrcb7fWlv6TIBLGIlZCekPAw==
Merkle root
3b820b0e91b2475ca02a79fe65f1dcaac35af570ee21f4c868099b9c17e17c1f
Merkle path
["4a1dcc02550dd53d7148904f2fbca8e5a491522aeeab9cad4cad634a57068688","ea5b37aeae98dd1d8d74e10fa55cf7a8cb80518301dc9fded0079acb2088d1b0","7db88592109ce16eccdda4d68ffc8e76bb9039e824657f5018e85e1318762388","8c628b10efe4d8ed58ac6d87963589754c251445c38552eb28e00fc85793595f","42df4109190796d0ad89626434d0b3c8f0f6ce432317368e25e267cf3d81955f","361eee10d599f12e4dc4f676189f42238eb08100e06715bfe13927d7ea690616","6eb5ffaaa0f54d845bcba51919c2b71882bbdc44faf426061a6e26882a0df162","82a52577ee7794ce380c2e80f582289dcef1274cfb2d1c368a6ce2bbf88d8815","185e2cd575dec0b10f8a8cb52580713aa2531e343f6fae3aa16257a6d3ecf8fa","456159d4ef5baa2e3c754bf18f8d858e55a4946a12f1d84f7d7bffa30c260712","c82212a2558ba1e2958579cb0787aa725d0743c6184eb4abf3cfe30ef0693359","5aaf377ba2f3610eb3813c5d4a17477535bef8901a867f444e496223a3d0c5a1","833f715febd1c4a136edb6739ec6554c0cc550753cc4001bd667664cbfc7f50b","e448e4cc350a9a69a05538fc74a8236040fbec1cdf0c4908e91135fd4a29e380","92de2c105ee268f1f08dcd9d0a8fc946130cef7b39b15a2b5ed0d7209687c9ac"]
Anchored
2026-10-07
Public log entry
search.sigstore.dev, log index 3124210377 · entry 108e9186e8c5677a0172…
Expected log hash
20a5241ced0c7b94303a7b8002f1aae217df3f1371aea54ff5745a148bddda47 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":"v1791349684588","kind":"published-quote","locale":"en","page":"theme:bitwarden/returns/en","quote":"It left me without my passwords","rating":1,"review_date":"2026-03-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 (3b820b0e91b2…), 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.