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.

“The app is way over complicated very confusing to use”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
83a74fdb0a8c539ecf23a55d6785c05befaa20a42d8b2a6cde5dc4323b20a9a3
Signature (Ed25519, base64)
++yAx1Da15eZp1fSk1MLMYwXeoLhtQpwV3umA6YtedKb7vs1XzCSC035m5Fmyvgs7pbzUtkBbEkyBnOsv3qbAA==
Merkle root
a893faa173c6b378c8d050262e841ab57fdd89b71985eabc0906c40abd5b6a6c
Merkle path
["83a58bab9135329068849187b1f3b0504f494285740266c27aa9351491d2f5de","87d4d52b37da5c3d68e144784887f323ca9b7c7b0c5116d8ff002cd8fb7ec5e4","c37581d4df7ef65c7576a5ab939fa23f62ff2efa46d9d9bae853b6fdd8b0ee28","5dd300d029938eb17a75dcf81dd9204f56477166e0c9967c00b3a55c47d0fb65","6ab0db1a72e66b76710dd8240797d34c2e2ff55a511ee375533b298190f43e50","4f28e1a50db7d5c783343d249b0f541ad9bf882f41aa18b6042e98da3cd81fa9","5f8d82d595f190f7c6a0799f44b53c93b3e5f40c12a70a9009e544f49347f615","0ae96db78c8bd46f1357785de9cebc12e210df9795e1fe6a951df955bebd904f","74190d81cf0af676d9dd1dc669149207a9b3379af22ea678f0f9d9be928b8a32","a20be4390a245465ab247bbbd4b2c6c50de6da76837518511fcd1cd18719e175","bf0f231002615f7a0e37278297f22c94c429732d8c5ef69c00664141bd4f8e5a","39e1e03006452fd270793aada40126fb17dd5cd8b3ccc2e379a2492bef47a199","d116928dd89f0a9ea13414b0fe2d577ce3dd16007ed8754e9f46163a67e25fa0","c2523440f419decfbfbb1761ac468558734f6da135e5a329b4c6dba0ae899966","5153df72155ae00831ba1e4416296382c39280ea82c989972042c066f445006a"]
Anchored
2026-09-18
Public log entry
search.sigstore.dev, log index 2882354328 · entry 108e9186e8c5677a08a7…
Expected log hash
5510a497abfe2e680a39c301b0d905c2a575bae0a1f389fbdd7b86babf05240f 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":"v1789619628558","kind":"published-quote","locale":"en","page":"product:bitwarden/family/en","quote":"The app is way over complicated very confusing to use","rating":1,"review_date":"2026-06-26","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6a3eb311aa1703a3c41b4fb2","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 (a893faa173c6…), 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.