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.

“Offers a simple, intuitive, and secure experience.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
84d2661b084e984b3444ca0bb877102e797317015aec595dbfb8e55330e7caa5
Signature (Ed25519, base64)
sjSTmHZwlKg7ja11Mjf1QqxId87CidBvozCj51ZLGpCXUepLzjG2gk5bQMu6fl7aIei1sMS+gDtkID/d200nDg==
Merkle root
3b820b0e91b2475ca02a79fe65f1dcaac35af570ee21f4c868099b9c17e17c1f
Merkle path
["84d190108e2b77a298ac33145bf08e7b984a4d79423a585d955bf4f172803265","1fe148405a2da1456a5e88d1e5a251b1462aa96f3cad120ac9b83e08439d7f4a","a2a05af36470c760d20348f87048b23436f5b816cb812891c125a220e991f6cc","71e186d9eea1ea61e4d98a36588d31aa3d2d179460e176031ea34bd6ca10aade","933209448870a66f15ea5114d04cd416421a384c3c4ce8db8c27a59475b67538","46618ace11457b7a7a0b3ffaf470dd450580b850a09ce00c62399c96a8edc8cb","cd82d15fc202f30467921adffb8c9fca68db82fb52ce94a3af40b37027138b63","f0a7bfb0f733bdfee3a0e1f357843efd2f7f59ed4cfc81b5a5ca80f38fa384c7","d1ed42459bfb5d37010085078a1e503a71d4be86bdefdd6c02cb8aabf6817048","21af7c27c1c46dca5fa00657ffc78595ef5271880615b2701c6a5919de024717","3535825ea2c6b8516e71f95e9858439af5720da4cd0c6696f0a2ef4cb5714092","d126874f810eb1c51838fa9fb17e901f6585d6ebc792c2c90430fdd62e551c3b","92dc205e4aa0fc1885d50120ca1ca6d484aa433fa7e4e33e903a12548dc38060","faf75fd6bb73a751917db6b8d00819eae7e29d2bb6f9270942a28e0da8dab05b","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":"product:bitwarden/family/en","quote":"Offers a simple, intuitive, and secure experience.","rating":5,"review_date":"2026-06-13","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.