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 couldn't cancel my subscription in the app.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
140941d58f71156e24ef44bc16db701e50d209be45eb0f48c7796d12d790fd7d
Signature (Ed25519, base64)
0Gx1NAh6LT3oQeamPGslK1e6D3Cx/EEEwVP+LVbF/hWJW4EoU4GgcU6UWTDrQFRA67tHJ+tg6GFNb0WjkCiyAw==
Merkle root
9bf5e8bc71b8f6d2ce627972b9fb81fedd792f7b02f32eb60fb8da440673ef59
Merkle path
["14048cdf73eb0e3cdd66baa1d72c8ed1fa20a52d12e9091037dc14b07eefd706","2c0d6ca7f453ab50a2c576da59eb820f3d1f527dc0fb850e622bbb2c31191437","31428b71fff503b7780d25942560b1ed6ab93df0b55b510380b68c5c70b07f4b","d2b466522022c61892ec917eb44531f1207258963591dc11b448ec34bd8ef909","60905a05da1a279dc4491e5e14f44549dceed73f3005a2ceba5c3a1661091f95","c251e5e830e3fb658ce5799f894477ac191d07b3c86cdc10e8ea13180d0c976e","c9b05ddb6b4f3a65a9c17b0eb70359fda769a675b1c4a8f868af0fcf054104a8","3911048222892fb04909d914f0ee5dec641c5ac4741bdd54a804ee8e88bb86b9","d3bc334dbfe21cbcb317067e04143c92a4a0f91c1b1470ba29f814eed10999e6","9e04b26fc113e768f044bb761ec881eaf68d31c3c3733c4323349279de8f3d22","bbaec6998ebf1d04b0b32b4e70b8086357341d49830c3f38a7130610d2298554","2c88cc21ee082e07ea2f20480fd1ac21fba3c798dae266ce57e363aa3da5709f","fb42483682b3119978267e05c9c995226602ecd8627ec630ce52b285c28faff3","09f662acb98b118c251b87092b3ab5baf38f48e2410961a49013a1c2f63f4cf6","1fa7003be7676d7952d939a45bc47245b2ced828dca06428675c885e312c802e"]
Anchored
2026-10-10
Public log entry
search.sigstore.dev, log index 3177778280 · entry 108e9186e8c5677a59b6…
Expected log hash
6b6bda8efa0d998f344024bc1a70908bd21604d8857c81e0a6e6c5b1de7aa565 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":"v1791603230890","kind":"published-quote","locale":"en","page":"brand:nordvpn","quote":"I couldn't cancel my subscription in the app.","rating":1,"review_date":"2026-08-30","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.nordvpn.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 (9bf5e8bc71b8…), 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.