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.

“One of the most useful apps on my phone.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
30fc4bb3a9c007aa8560286d3fe437e8120bdda8c474cfe1253f7dc0c802cb04
Signature (Ed25519, base64)
KQqsgFTNbKKhWX4JsREgia5Vk1XaDo/nzbb09Prf+rcborHkAdIqPufysz0Dd051j6ILQCv2Oiq8zyQskxdbAQ==
Merkle root
f157206eaf0681e32c282b6c87b482d5b05edc0371242c4555dfe07a805d46ee
Merkle path
["30fcc3f53238cc0c2293555ca374d28371f45068b1668af3536efa5f37cf3d9b","5587868b34158fa0936492072c4838c4f643a3c1f50684b37d45ea66f9b777bc","8d843c762a0522915569956167ce91489a1eed775f1b613667a7b9eb826592e2","c577c3927a7178491cff4419f1ccb9bd71ac94945c02579492c2b6025a68df56","dab52de223ada8e3b19615bec518287b7037c2bd514ee4f674d731bb487c2a75","c1cdbb39e9f2f1dc3e2f5cbd0ad4bcc6077118fb1f7b9dc2acb8ebf94d267cd0","c66cd7c943bd0df0a230d8f58dc0d6fe90eace4135110cf1e678ad71fd13c1c2","057553db708e05d49fc09c2e7254532b84154bc722b9472fb5fa8fef15bd1461","f4dae971d58afb20bdc218e8758065dd3e997e51168bef1ca8a8a0b12cbfebf5","20024cd1da55dee95883ed6cbfb345ab1e13cfb473ae4678771a8b491dc0b770","b76ee18cb88fb0eadeb62b2f78cbf13da6d3fda1e321c45e4448f5580f333312","c983079c81f3fe3701fa74b1f3d07ba4ae521d2aa67e53391f4fd7e312ac9423","18d3f68accc8835a5c40f0c374bff5769347a644756ac8ed830a1459ec4a0187","72cec015fa128b419dcf741d3ca687936e9595c259ab78dfd4256d8340270e61"]
Anchored
2026-10-16
Public log entry
search.sigstore.dev, log index 3273402563 · entry 108e9186e8c5677a6df5…
Expected log hash
d39be9954db9139b182dabecbcfa2b9510337ba2b23ae56a3f9ebed18578385c 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":"v1792122859337","kind":"published-quote","locale":"en","page":"brand:bitwarden","quote":"One of the most useful apps on my phone.","rating":5,"review_date":"2025-10-29","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 (f157206eaf06…), 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.