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.

“Easy to navigate”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
14d852d7d8341f8ce8357f2c03d65c77548297e943d8605dd993958f3ad1c559
Signature (Ed25519, base64)
lQkVkVfhPZ6OU/Bp1S1+azpGmEkLXPQWbndsX8vFirdChNDGdzvTPvNqhYqI7RjwYL9rcir54ApjjI5JnCukBA==
Merkle root
2915d94fc718eb48f67362a65d9a83b80dcd4c926c786eb2e38f4d8ced0439b7
Merkle path
["14d94378700493d119053ae2d741ed68e8b1c36f6da233ffeae700a26608fad9","74e05bd13fbe1e56df83b08be53bce9933f133822d3e0f586e69a971ce508b57","e39dc0cd3b4c389dc04f179190f89d2a6012c6317cc5f963a040a419f4f293bf","48e0ee18efd7312b901187921350e7c433f6923435f8dfb42bdb9dc29d4f8838","02ce5e63a86f030400a85511f0f228036a4c16d9a1d7969710c904dd77e87d9e","5f75c1d7002df8aed35a5316bd2093212b5662bd9ca7ea97297825f55d1fb6ac","83fec094c2511dc9440b6169666a394c7b241c3fffd3675ef3b0a09a0ad4d5fa","037093765592da298e1c4cc23f4880cdc94168d8204d1cc196502747c6aef7ae","fcba976ba6f1f4eba83b7edc616822e1e09c2c6a493f7ba225ba97ae96003c86","20c2a89a087b27c35458ee1ae6660275e9b8a489a84079110af78455e7062cd9","051ea78f9b051571a178fbf2ae098d3d2715039e8aa0e55b5a7ab058764b50c6","a67e5025ed174812cc85ffad7fb608d1ec0e7e7057369282aa8c38f78ecb6fb6","dbdc65b9f91ecf7a21686f427f84950f149ff3313cf7cdbaf938355c0225fc98","5b8a2081ec81ef2101256bd7209457c75dcc1be14257b40200d45a88003c0c32","1936eb7713ae59e20354a37b8314d3745433b23d047da205242414a6fea32b67"]
Anchored
2026-08-31
Public log entry
search.sigstore.dev, log index 2657230937 · entry 108e9186e8c5677a80c3…
Expected log hash
1d9aec1bd239e45b6e622f366eaab4292482e627111ddcfb4c651bb1e08e92ad 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":"v1788143889053","kind":"published-quote","locale":"en","page":"theme:canva/ordering/en","quote":"Easy to navigate","rating":4,"review_date":"2026-08-12","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.canva.editor","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 (2915d94fc718…), 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.