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.

“I can't even save an expense; it just keeps loading.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
215d336dd3584c074261448b8d42a5992cb09471dcd3ec246bccd544b11c9efa
Signature (Ed25519, base64)
zaEQiU32oB9Udx0gVOIOSlYkCkEPp5QOpQrguZbbtXdr7kROEFFXz6jRHZXJhZMgVnNcGfCw13N7RQuSKfGHDg==
Merkle root
0b0c0499033d3f9b3953d31e6c838f88f12988dba810dd4de44922e1b60fcdf6
Merkle path
["217245cd9b567151d5333c9fb9ff4f04cfa5630e696fdf3f6eee1ab9065a819a","da22a997328af171fe39e43963b4a7d5c28709f1ba816a94f5e5f5b011c9a70d","dd5398aef2e6f94981ac3e05c30feed50c3cb57112e232980eeec40964202c94","4465496b0714be017cf53480559935f6979e954b8afd3ca9bbd339735824610b","f86b2213ce9f80ea78fd7429f15ebe3d8d2847920ea7322e7fefbf817b175b7d","f66cbc9753906b13c8de5c108d1c9c6307d195a9849e2dddce252ca45d558178","c000aeffc29cc806d96d8457b1471e020f126c7d6e8e492bdf6a7815ce91ffa0","92db0c9e71b7862d5a6998a307233677dd9d43d1e869d7921224c7a7769c27a6","349c808faa6b6686ac19fb41e1f04f1e6ba5d57f3af35e68b7433a433fa12985","64d86e60ba50f0d28b35dc040fcd4452c5f994b4e63cb3f350c55de0f9ab904d","97bb581f373ac1585fd287a96ec92f37e16a17e7e09f4b197ef739b8fa5c9cc2","fd4caa7c5bda5b821309f24a41bde8275c1fa51be2629af50c760cc53c258d5e","fe7751fa4b9a0ad43fe0710628b6cb1b92e12eb8a60d9f17eb0c0764d693577a","8a05b9e19287b30c7fb54816a1fb848939f3f2c84b9825f19f342683d5db13aa"]
Anchored
2026-10-13
Public log entry
search.sigstore.dev, log index 3241084060 · entry 108e9186e8c5677a3e82…
Expected log hash
a291e2473f1a4510a666e020d4d424e463d55bf4677b91eb5a52e446e5ff1581 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":"v1791865115768","kind":"published-quote","locale":"en","page":"brand:freshbooks","quote":"I can't even save an expense; it just keeps loading.","rating":1,"review_date":"2026-05-28","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.freshbooks.andromeda","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 (0b0c0499033d…), 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.