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.

“Ne se connecte toujours pas automatiquement de manière cohérente”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
077a1a2cfed2775b164f543930d3827f3a6d3edfcea766318a9c0f40d66e16ee
Signature (Ed25519, base64)
IBpcIDx120FIi2ToCYDkC4RfzjiraLhndUpMWoG8dZ6Y+nrm0nn2re+j7EGlIOE9MQBkDWCJmXNZtsf7HFNPBw==
Merkle root
49d75a7972dad7fc75a734f764cdbbaa106268e1ea0f657aa8c6fd89424d4b2f
Merkle path
["077ab51eac800d7ea30dd60caee855cff149dee94a4a445344f9a546926e99e6","9a749ffc124ee93373947856da72ba25e50435d7aa1a29738d921f608932afd6","7775dc6659cdf568e077377a6634c84118eefbefac0d6d84ee5c6e732586d8e7","331b4faac5e5bca2acbc2f84e7ebf40c917e1c1cb3702dd7b8230b1b939c46f6","8ba5a94f9bde610abce76ed020c5409d640bdeefb6a6bd56c1a6e4f1b94df8f6","60270eaa829e7744e7e0cc3dbf75a25d3533c898d09862f2e7f400105238f8d3","47ef70a7370f6d4540422fb398d3bb0e4190f459957b8c877407774d52e35284","16c825e65bd69e498e1979544e9d0ecb204249d87ad6359d20520ca759221f50","18fc4a6db243294c46613c641ed4450408948f5f2c4e9345ef7e2b7c0518be88","1173c91b2cb25c9f0fba9d9ef1f7dc42f2b63ebaf57db92e1a5817cb8b0f58ad","3e66c9aa593abd6d31a4550e5f3f86a8b21154101d738f82e8be072e185a07f6","9ad764adb090606813af8d981e25ae04fb555663f4dd61ecaf358a138629116f","f930e87d5846215d9d33cbd2f684fd0788c4b25eadd845d1575c3bc708e059cc","79d6c858c8d60d7d4fdeb98d50012f464859bd3437e8887f9a62b641664e5493","75fe8695ca709a884269711b05fbdac24cc3f8930abb9087723ce2c8cfa8fe2d"]
Anchored
2026-09-01
Public log entry
search.sigstore.dev, log index 2681429093 · entry 108e9186e8c5677a81cf…
Expected log hash
89c17d1b707f92667072f2c7dc2ae2ebf8b7354f0952f06862b4ec01440c148c 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":"v1788303366831","kind":"published-quote","locale":"fr","page":"product:proton/proton-vpn/fr","quote":"Ne se connecte toujours pas automatiquement de manière cohérente","rating":2,"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 (49d75a7972da…), 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.