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 totally recommend it's free”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
091f3e5d9fe80a96a1bf8dff3903c61d083facfa8ad8dc243a27fc62d6f91532
Signature (Ed25519, base64)
UTfluW547u9eP7dzP/C4EKC5bQIX9hWoK5IFwncuhT8FRWcB1tkdbbGShoYe/05Sr0C4VpG4fwASo0k8pCuyAA==
Merkle root
761f428c7f44b8ba37e197f3cbb402245009b42c2fe1c2d1c22502b7539d8b92
Merkle path
["091a794a595240b3c3ead0cd4d4212e6a9b0059f6daad7b6fe3240289c9244ba","b2e51de5f45c4341c8478f9953ac2301c6a5d3f97776ce0b202e6df6d99ce6b2","ef093b0f1b409fd0d1aba2148d1c7af937b2a38ac98f845e077f4a8693d6085d","821d6dce20f19a2e8afd9a12c40d65e086ec2a7c84941e4c1c141594f2806455","f4072684cb97dc70551075658890cd0045921fd49a6a2cb1617fb754c17d8fbe","d47ab2b36dc718bfacaae3f02114793c81bb596d43a44c957d91a2a89eaeece5","2183f50b2f3d80aa6488ef07dff865f7a5793cef686fe2d645cceef2f43aae8c","a903b95c8320f96b4086560d3ec142b035620f6421637f7e6c3891961ba80e3e","06fc3f15f6dfa3b2c36e0bf0e59c610eab36f024dd7c8e91decc3e29d8877c42","e47cf72cb762a8ac2034d6961ac9cdc01b8b23cad83bbb0ace4c9563866cfe33","60bd61421aff4d4e97fc5759cbf1dbe0bf22df5399a30dc2feb1b9716d7ce3db","ac2f3954890d50e5b934e4f938dfe72f0ed89b30b6b5e9ab8d03e21aee2ed045","25ba2ac2abca74d5248bc368aaf9983fea985a62c2acc2567cbdbe71d6bd7cc0","d7d046f6bf143929536e498046e2783984565776df0c4d84bbeb719debcca31d","98f4686310343eccfc39a6e64e03e6f8dfbadf7603f7baffd9efd8b7d19d425d"]
Anchored
2026-08-29
Public log entry
search.sigstore.dev, log index 2632992954 · entry 108e9186e8c5677aa5ca…
Expected log hash
96c11d64daec1fd5d2cb12bf1cc37249a60cb62f00cae505cf36fc8b47d6ac25 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":"v1787977614417","kind":"published-quote","locale":"en","page":"theme:proton/price/en","quote":"I totally recommend it's free","rating":5,"review_date":"2026-08-11","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 (761f428c7f44…), 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.