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.

“the app frequently says I don’t have an active account”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
1e32f448a6e537994e22b3f68e2a7ce471a8cdb04b4dc391144ee76f09988886
Signature (Ed25519, base64)
B1gd2GQiDjOo+OhniO5q+myxjeZkpFP/Pct3Dk0bvq0Xelo2CoLWnp0/oddLn/J2A0Z1MRSDYmJZw8TqY2F4DQ==
Merkle root
2d214bb14438515f4bedf5edd9b00a6a5113a016ba9b9fe8160d41d7e6046722
Merkle path
["1e2dcfeeba90a9ba34361828daee6ff51c1bd889421825fd93dd1296274e9c5f","fc96b80fb84e7bbd00363a79964a7ce6531b11dc9784956402221d3443717273","ddac4a326cec0775f58ba0f92e10eab576fd8d3131c1f0cf9f3229561b7a817d","7aae782b7060fd00e7ebc01f3aa4ac1f34336be2496ea5f20cc8c202949ee24c","e4d477b8961b9f2dbd47b3d0c12a43ad8034b9397e3854e4da6852d3317f28e2","7c75d834eaa82da38964f585821fb701bd20fa9acf7f850945d00820659a3357","6d6fa6b6b69215c4408870bddeb506f5318c402bc66e943020db356da6436a05","5fa2594038b25b5ef4dbcdc491835e287c0853083535408ed5f9dad967250b2b","09381caeaf30ff2f5e8c2ebc1ace17979d0b2b7ca13dde6db6df777ef5511d06","d6e0e86e0280e0afcd60395ef6b504408c29adcb2c3b245900fe7e53d1bd6735","6524509ec6f167247a2cd45e3762fc6c559758c07e1a3635b8c25ecf53d4bb52","ebdcf4f2d06ecaa7512b4e82d75b0892ee788e93cc90eec4b56bdf4af103e975","c8e78357eabd343df2a6d1ad8a9c122f986bc772443ab896b1e0fa855f0ebd28","35ea2df06612b261a549235c4e62b3e1ad1789f05da56f9ca671421e5071b72b"]
Anchored
2026-10-12
Public log entry
search.sigstore.dev, log index 3220562278 · entry 108e9186e8c5677a2753…
Expected log hash
13907aa3d3da271016c4b5e75946c4440692c6b4e1684187b965dbb983b157f7 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":"v1791777669660","kind":"published-quote","locale":"en","page":"brand:cyberghost","quote":"the app frequently says I don’t have an active account","rating":2,"review_date":"2026-07-21","source":"Apple App Store","source_url":"https://apps.apple.com/us/app/id583009522?see-all=reviews","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 (2d214bb14438…), 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.