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.

“Creating invoices, keeping track of expenses, and checking payments are all fairly easy.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
1b90dc4513f17afdddb4439e68d49c2e4f71aac2f84e6342dac7cd72f6b625a4
Signature (Ed25519, base64)
aEfAdW3ViBcHRZVa/Ahn+5wu9Yg8TrzMGIebHKGadbrIRs/iHEKrL/dJkkpYeUElUMJkL/JNUmSfmiLmErLlCg==
Merkle root
52d6be1abed15ebd0724a0e1a493d5805e1ea49ddcaf8e9e5584928cd3e4d759
Merkle path
["1b8b0a26a992d080d4bd11d8fb792bed99f208c1e5a44dc6df1be34af0798cf6","07adb31459bd34583ae1005489f1633f78916757baeb5fd5858bbf7d03483dc0","4ae9499b0d49e7aa4caf07b4005fc1b130d324cc94897944fd166f9e5d309fa6","eb696c92040cb3ee488a4175865dcc6579d1c399d153d7476b60ce0e3a46d797","df0af8940bb6fc81d7f7c165b79c9bb9561126a58688c686cb59b15b76135b1c","41a3b74285b1d0864ba830ac7f04937789d7adb6ebadc0f5eaf5c86f2a86d035","853320d2e8562159ce68fd6c37ae603cccda0ab79da573a20a27cf2a3848ccb3","13d3b29a92ba75674d48e495a82345ac3001f81f6ca367d6f41d85eba8d11202","53f86b3efef25bbcd2e092748f18f30697aa20223a262f6691ab7951092b261d","34c6625f3ee35d582e94ec817e939484c4cc8e91af119d64dd1ebc3c2667287c","a437720993ec4985609856ae1c85cbcd5c53dbc31d843b17c065f80b440d470c","5b7aba07a854e6a63765c93fc2c2098355f0ab59d7b4659a94baac072cc8e639","7d5e1a3da5381843d312196fd4a9f69dbe86b152542df1be09d403d47d5e49c4","71d5ef7f970539b9a82546e0bdc1b1069245bf71351875f786a78e5550da4e15","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":"brand:freshbooks","quote":"Creating invoices, keeping track of expenses, and checking payments are all fairly easy.","rating":5,"review_date":"2026-08-16","source":"Capterra","source_url":"https://www.capterra.com/p/142390/FreshBooks/reviews/","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.