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.

“J'adore ce VPN.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
09dd60519dbaa4550a6b83ba5241db88828bb991ba8572dfdf2e76d95aa83f3c
Signature (Ed25519, base64)
m5yXxyORmZi2ycoUKUUDmdtu6+MI8S0x/XYxKVCEYqT59slDZzOSfZW4blMufG97tvG6PI8DxRD6y0RTT8dqAQ==
Merkle root
bf7efa712c1427e2b4bc90d88b1aa23ee4f63ba710bf4c7d961879fe6fac953e
Merkle path
["09dc73262ae36672e1ea9df9c157eb20ccb06b42ee4cbc6101f314c6f27f77cd","252ce1f963ffbaf6d0baf038156620508cb826d7968362dd2f4db4a59bbe2eda","893369896938f7025124ea998acf90e5611b98c7224b56386ec95a703728974d","951c16f123255b357e2571efce76ee28906de776ae36f2761ae889d8a86ba027","e6c6bf613e70bf4cb8271fa6bb4adf9894c0316f7ea59d81f15ffccc53c7fd09","5453a655d4f23252fa655b647234a81538c7b05f84cad6b93ade59dd48eb7ef1","e049c32f1f72809e29717b1d005b19a5c89f60fde10d8595a7b00c51e27cfe48","0597cc02e7022cb2a8e316d7ecc5e4017b787e994b391a9068f170f680002c2b","559ac6acc9bd7aa92d64870491c072f7014d1b2c42d9202b7df9403a55c26163","658165effaa170386fb7f9b17299b487878e090fd2badbc27e022fc974d1091b","15a51dd4f066ac900d206d26ad812847683ca2c00df3f38eef18f0865730dff7","7b5b2fa7ad2b577816acfcf1c03b626bb6f4e3fc3ca2008361873fa61025f68b","df0534fb5d568eee1369ec62e4b92f4d89d3742155a1fcc563d2d1a48c8d1c6f","27805fd0a20edf0864d5d28576ca95bbd447895cf492ef6061e6301aa10d3e00","9d3187260cfdea633ddbcc66a9634ea1f5b599b15b805370132549b0c4947157"]
Anchored
2026-08-26
Public log entry
search.sigstore.dev, log index 2593849093 · entry 108e9186e8c5677a590e…
Expected log hash
ebe120228d6bd16635932d53d79ce948387fb73d80335720cba50316c1f9e609 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":"v1787711265995","kind":"published-quote","locale":"fr","page":"product:proton/proton-vpn/fr","quote":"J'adore ce VPN.","rating":5,"review_date":"2026-08-13","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 (bf7efa712c14…), 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.