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.

“Intuitive et facile”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
063b73f579cfd6b63d0d7eee164a41f94402300208d4f98e7cac253b053b97ca
Signature (Ed25519, base64)
PpOY5kUvo9tp/GC44D/FuF0TvO3Ta2YFRugjD1q6Pf5BM4jPM7YD+1pi8iRPE29vPwQvSDS8v4ahDbD43tFpAg==
Merkle root
61203b6d05350adaaef087cbce75d25fa5ac2036c1a66344255fc73a224d39c3
Merkle path
["063d2178126911f44a25d93ef5e7e3fca75379abfb85c159c99757fc23fa73fd","6ec950066713611e2c3305185752406821de29bb23cb7b5f1fbe00b510ae5d14","7b63c861db2e671d2df26171e63ce715c0e3f657f04c0c665f3133f4699be571","cb551a55897716f78a52033ba494ad1f8ecafc1a65fa1c519997c4dd7174a0e9","bef1e4d33e895a05ccff14f47fdc249518bb7f9f46085fa00263f95dcbb0d917","15dc1d689b55d48fc295d6b3c08806e784d159bd08d639285217efa794c1b336","35b6fdc0f97c592596dfdde8026d7a19dc4b7dc28fa78598e23761159597e18a","ea5c8c598cafacbe0e85567e4a2109039b9570acb16f187ccca2321593811910","d04dd5387fa92ab8ef54d49c683eea6f1c72d820f7192855004e254dc5d33b24","61f34713874441274b511f6fdeb09e9eda6899ce0093869ffd3b60e3dc388528","9230942bb23ea2458275c61f7cd6037c6f107f388a260e8b273a2fc487f27a0c","8afdff2ca8b2758b5b0a7067dc9e41d4ed7f1768d5d4f86e9cdf0bf1a1a83f9d","6ecb3415ebcce01953d2d375e9a79672b399b8e76883ef30376a8fec1196fbc5","ec52c14d031b4094aad3b2c7f7a2d0de70de35e711cf6959d5681568f51f3cd7","d35a1781f2fb2fc9cd66aa22e2ed6cd805ebe75af0ac2c167c3e4444a0a6f362"]
Anchored
2026-10-06
Public log entry
search.sigstore.dev, log index 3100032352 · entry 108e9186e8c5677abe62…
Expected log hash
0a0ca7b748f6c99c5a75a761289092bb11c807eeee08be8ec366fad5b0bfd2d5 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":"v1791253605372","kind":"published-quote","locale":"fr","page":"theme:proton/ordering/fr","quote":"Intuitive et facile","rating":5,"review_date":"2026-08-12","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 (61203b6d0535…), 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.