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.

“Good app and is better than the iOS version”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
1d7b36b36129930f01164c438d660516779a853eac2e4df3d43fe604a24de4f3
Signature (Ed25519, base64)
MzXk3etBDbS1nI3CLtUcny6rfoMpqtuiBwdlE6fdXcAMA9YOG4jrs70swRfoSmyGQ6c4BxSCYxkDzU0gkavoDQ==
Merkle root
1e69109d842117168677c2c7aab9689ac78923960f86fb642566271a6ebec358
Merkle path
["1d6bc3a097e65ec8eb2fb3148d990218d3085e1295e0427a5d65ec7eb5c85154","bca47f7b394d8b7bad3db5378930dbdadf2a458d35a220db4c8172c2c0db26a5","d4837b5e315fcb6d44e4bc12d5cd0ba640305257b846f0b87394c4e6deac5204","622eb11e1bfc19a7174d20264036016ce7f5a04c40499afa331f015389cda263","4c790acddfc7978de10b2c2fc19440e9e4aee4e706d1a0f3c393a9bd5ce58f78","3c6bc9db65df0828d2b3299e6562031e9dbcd56f2209160b8b7b20bf1e08193d","048154d618f958ab30e185aeabd20bba84bf8abebd3693ff9861377661fef952","d808d121355fe4bdd7e4daeefa70e5006d8c37fa69087e1dc2d469cb9ab9cd75","0a560530d6358d296b651a017b6413c99193324f81a79e536722928324823c21","bb094f12ad8bee60309abca679b6f983a5aa44cc3c57042af88426c6fccf13d5","aa8f2c33d97c0ac8dc7d77c1105a2ffd53ba88f60ca9a946d664919a827dd74c","e8ee33453c42c8b9a0e73dbe9a65f0ef421d213e42b0e7964904098c25de97d6","7c33667a483d5fd3b9ed47c00df3203f479cead457d361a57e3e5a90d1401d8b","4db0e65440b78c494263fe6b915a75fbf2b04ea1cd2fed0eeba5f9cb4589aa37"]
Anchored
2026-10-15
Public log entry
search.sigstore.dev, log index 3258673097 · entry 108e9186e8c5677ab832…
Expected log hash
c57cff5f0f2da5f1c24e09823c0cd10c485830bed55f44ffe5864187f8e896d3 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":"v1792033864449","kind":"published-quote","locale":"en","page":"brand:pia","quote":"Good app and is better than the iOS version","rating":4,"review_date":"2026-04-01","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.privateinternetaccess.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 (1e69109d8421…), 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.