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.

“best app for editing of pdf”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
2a48f9128f5c1134813360f5cb3a552cbda97ebfa57f571a9a4ad9a8ccd1b94c
Signature (Ed25519, base64)
V4gaBhNHY39Gccdj7nSmzId/lNX3xFPcyHcdAM8qp+UQC0W5ssykaPlvPqfevwhnNoQYMSZsjFIGUI8kJz75BA==
Merkle root
ea9653d48be6468e8b38c47d968f49528ccd17e229f6df41b5fdcfc232720ce1
Merkle path
["2a47d325545be5b44caa87867bcc5744bb9e2bc0d4880ee36858121b76e18d0d","d8321bf35113b01371cfa94e9819fd6a2054b929fee81a53476b642f02f28b66","1db23f487f6ac7896e4f13034e258a85b50f01c689526075c43a88f314041dfb","92945b9ec620e37a353d0a3c8683cbb01b4e5678e5116a462ae0a887ae48a194","16941ba4440541c0601ec959cc874daff29cf5f7e9ccc07d66a8cf2eb65485d9","cb8a97ed559b2d9c4b889f5cea263d78db21b79d6522e371848053e4884847b6","bafe5878590a19f1ee7ffb32a4c5139e44c07fd7ca3190115411dda0f268a7b8","2e535207e54e9f867dc617b8a98ebc3f10a16ee37947806a7c0eedbaa3efdbd4","92b21ba0ddaa2a1eac433869ab6d6c709c61b514f41b1ec4411033b0411bf294","14ee63dd91e8835adae322e8ec820a7d9da0e3944ceb648308f771606d00f030","802d61cd669449fcd251b132a98945588639c0d37d8d0114a16437ce8a2d0f39","9253fa4f5bb69c032cde6a50eb05a9214fda55ede5998b0ed751c72bcace6cf3","6cd34e3dfbc2bb436f1bb9314162b2979f7ca90ac38686f80fc39acf8dc29914","ce40f5d4a6c2a1f06b7e5ce375094f8c75556b02f37cd3d94ca98fa0a38a1e5e","142248530d485121153c09b780e08c6af592fdb4c333042d3cdd9e4160c6db55"]
Anchored
2026-10-09
Public log entry
search.sigstore.dev, log index 3162767972 · entry 108e9186e8c5677a40b3…
Expected log hash
ea8f60b663262eef5ec0ce5a9fbc0ace913092ea47c37bdc70ac392578ea0c35 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":"v1791541525227","kind":"published-quote","locale":"en","page":"brand:xodo","quote":"best app for editing of pdf","rating":5,"review_date":"2026-07-31","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.xodo.pdf.reader","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 (ea9653d48be6…), 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.