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 was forced to grant permissions for audio recording, images, videos, and file access to use the app.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
047d81aba4d4b100659179e899801e5df982babc7aa146717b3c39c7e0f60752
Signature (Ed25519, base64)
jEKVdj78piZhcbx7rcGns8GK/bwp1oSkTRsqzZydi6EYbxZq1GlT0mvwRuVoYvDLu178saVgFii9u1/V7cMUDQ==
Merkle root
11cd275e1b8f31daf4151030cd5fc67eec90cc1b73d6c3abd8966dac0ea44663
Merkle path
["047d62936c58a77d9da50e4ece2756bedd73198f4c007d2f6f7b9aca282b6e5d","8f6add9782e4a3be3159aa80e4e5b78a1d6abebbfddbd1a469abc0f07da9e923","fd63a900cecfd472c53dae25706c12cf8f9885c740e1f37f35dd1999ee1db853","ee25fbbbd7349b7fe57fdc226c29292e7544ef33fd4c321ca76b674018965e91","fd44ca4afc93499e31b1a298dc406ebf49050b31b98936cd0f61e420289cd97c","2ae04d8d317ed592afd022a62af15b9d4304d84238bedd11c992d79dd390bef2","dc38978916e5fc7abf1100789495e34699aec80443a1ec341335f0688281c00a","44a454b923a2284a97ff77dcba129827626ed33d00df1afa5de050af1d56a017","074cbd4beb32d30dec13185d8e79ac2284ae65f9f736ba15aa78845044a0d122","d49df03bff3b9d89b4ab9fe6c9ca281a0cafc92c9022e58fc3f1df4c2626aacc","7cbf95aabd911b9e32b7283277c1c8d3b2d008ddefd8c4a3567f83ee6fa293c4","15ef754b0ec11f0bcfb1882f47ccca6fc7a2c7ee673bd9ce3c5a3082d34781db","3012f7a2838d04f2071073f8ac34932376b18c2cc8805b9bec98ec1dc2d08a95","b9f2345d92694d25bd0490f4a3b26a3b973fef20d27569c442482b8bf63cf733","29dd516ceb1cd9fcda9711678cb72a0ee0864d72432066fb0af064f01b46c0cc"]
Anchored
2026-08-30
Public log entry
search.sigstore.dev, log index 2647580424 · entry 108e9186e8c5677a331a…
Expected log hash
29924cde6f1b08ef8102d24e7b21fea7f81e6b89af990cb81e380cc325864e7d 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":"v1788064620038","kind":"published-quote","locale":"en","page":"theme:proton/ordering/en","quote":"I was forced to grant permissions for audio recording, images, videos, and file access to use the app.","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 (11cd275e1b8f…), 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.