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.

“Free features are generous too”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
ad4142046b8f4b0a507423651414965a8a23de860216a0b2384b076eb4aac437
Signature (Ed25519, base64)
RCVjOH1HDXHAjIgCp0YnGKgjjelFXl3qQzNQg+twgaUX9iHC9ZYkn0kj3R0u0vmquCXwH5gIDHeAe9MBB+aeBQ==
Merkle root
52d6be1abed15ebd0724a0e1a493d5805e1ea49ddcaf8e9e5584928cd3e4d759
Merkle path
["ad475f65a196dc90e6f266823563ced0ab4609a3114b6017086d686dc4d019a2","166e694cd44a1b1ea7389df46a7a0602abfc46dbeadd03715dab0dd410f170cb","5729b05f0dc7693131854e651770ead9f5d6014ab696712439e4a42b10e7c074","316449813fd686c66d91bec7ef8c4050dbb8907189915ea6776789c842dd376e","2ef667e111846f052ba5b25dcd2f01ec7dfbf7817739646580ac3b009f8be8d5","8e64b366e73e0272018a7b163312227d26d15b0d01dfa5871b49c2b29804c528","c780c9aeb2a7e9e272a2342b5a43c13e9dfe426259fb3fe42cc31ca6ed088591","597ed69eaa3bd3cedc6825f5f171ea59073302e4f8f5d634429679912b7c0ede","eb4f2c70862ade8331940bd415b26369462ad717f6d3c1f8be24b845e9c19dd6","2e7001fdb29cf434d77969ba3a2b4ede428048f0f5c19f67caf5b32cf64d5c8a","5ae3a382521d69fbd73ab841d9839902e1bcd7e31782cef24e781c5f511b0d31","b4ed973d9a81bec59cc60993fb375b77fb1ccf8e1ee07b38824b8dfc57c9e6b1","791a0e00ba2c4e0abbb082fb7aa9212ebed8a2631a8fff481de7bed24862693e","64b3ccbf7465086dd7db73066d917eee6e4789a39addca1cf1c9d0e38a1ff084","b72fcc24171828b3fdfff6be65bb433d37b8e51a187739d27a216a784d84cf36"]
Anchored
2026-10-08
Public log entry
search.sigstore.dev, log index 3140475820 · entry 108e9186e8c5677a78c2…
Expected log hash
bb68bef30792bf00f645df162a48943f770bc3f026216a44dedb4651c8ac0917 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":"v1791431489246","kind":"published-quote","locale":"en","page":"theme:bitwarden/price/en","quote":"Free features are generous too","rating":5,"review_date":"2026-08-20","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 (52d6be1abed1…), 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.