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.

“purchased subscription which failed to activate”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0c4a4b268c73a07e9ef3281655597599c9a32fbb98b1b3ebd9ab4ac431c3c54b
Signature (Ed25519, base64)
4uXcItIxf0BzEKJZjGrOMv706nnDu3gjVEmm1SqwyDsHM+6WCKb/lDQxbyrc3ANMo9RhTB4Gt9RKGQ7vPZbjDQ==
Merkle root
52d6be1abed15ebd0724a0e1a493d5805e1ea49ddcaf8e9e5584928cd3e4d759
Merkle path
["0c4517ff80f654100cd4cbb11803efce2ac16252a8b8809eaa5d617a51c37eb2","96f10344492c61ed3c1e73dcb42f5e735e1de9e53747c28dc461ea65aeea670a","8948c0179f36495d541a61b7fd170e937b147f20e70d170f0003bba42001ac66","e36a294054fd585b70be13d519564287cb81cd4dcd5558e262b68099f6c585da","459227caf508aac16f7ab492c8a4611639f81a8b9ac9891e8cfb08f757458e5d","6cb87ac5ff21fff86fea08775f3887953054b25514db3089d2f906b050a2cc42","ca63e5481f36858ff29d196938e52ad5e33b155759f1686a9c89a4923a033676","21d51e9d2689d68073ba729c249e04aa5bfc8d44143d1697fcc3de6d498e4a54","83e1a4d551cf382d8c43d3d1604191696f6f3eeb014140ff5563cca897c8facc","adbc8d77f7e625e851029d480f77b007ec6ab931d9a536c4b270f8dc8ee4f3c3","a40f2bb60e5eda074f992dc27377775f8bf3ea20cc9afc6bdfe86924e68144f9","2dc8e1d0a0e516acb8dc01ca15884c459f0a0e973ac35b96e1808b584dc8c14f","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":"subtheme:proton/ordering/free-plan-upgrades/en","quote":"purchased subscription which failed to activate","rating":1,"review_date":"2026-07-19","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=ch.protonvpn.android","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.