> ## Documentation Index
> Fetch the complete documentation index at: https://docs.klariqo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Verify a record on the public ledger

> Independently confirm a Klariqo compliance record existed at a point in time and its bytes still match the fingerprint anchored on the Hedera public ledger.

The [signature check](/compliance-records/verify-a-vcon) proves a record was not altered since Klariqo signed it. The public ledger adds an independent, outside timestamp: it shows the record existed at a specific moment on a ledger that Klariqo does not run. That makes later backdating or silent replacement detectable.

When a record is anchored, Klariqo stamps a fingerprint of it (a SHA-256 hash) onto Hedera, a public, council-governed ledger. The ledger message contains the fingerprint plus minimal non-content metadata, such as the schema version and a hashed record id. No transcript, phone number, name, or recording goes on the ledger.

## What you need

An anchored record comes with an anchor receipt (a small JSON sidecar) that tells you where the fingerprint lives on the ledger.

This example is synthetic. It shows the shape of an anchor receipt, not a real call or customer record.

```json theme={null}
{
  "schema": "klariqo.hedera_anchor.v1",
  "network": "mainnet",
  "topic_id": "0.0.EXAMPLE",
  "sequence_number": "1",
  "consensus_timestamp": "1760000000.123456789",
  "vcon_sha256": "EXAMPLE_synthetic_fingerprint",
  "mirror_url": "https://mainnet.mirrornode.hedera.com/api/v1/topics/0.0.EXAMPLE/messages/1"
}
```

## Verify it yourself

<Steps>
  <Step title="Compute the record's fingerprint">
    Run SHA-256 over the exact signed record file you downloaded (`.vcon.json`), byte for byte. Do not pretty-print, re-save, or reformat the JSON before hashing.

    ```bash theme={null}
    sha256sum record.vcon.json
    ```

    This is the same fingerprint Klariqo anchored. Nothing Klariqo-specific is involved.
  </Step>

  <Step title="Open the public ledger entry">
    Open the `mirror_url` from the anchor receipt in any browser, or read it on the [Hedera explorer](https://hashscan.io). No account and no Klariqo login are required. The entry is served by Hedera, not by Klariqo.
  </Step>

  <Step title="Decode and compare">
    In the mirror node response, copy the `message` value. It is base64-encoded. Decode it, then read the `vcon_sha256` field in the decoded JSON.

    ```bash theme={null}
    curl -s "$MIRROR_URL" | jq -r .message | base64 -d | jq -r .vcon_sha256
    ```

    Confirm that this value matches the fingerprint you computed in step 1. The mirror response also includes the consensus timestamp for the ledger entry.
  </Step>
</Steps>

If the two fingerprints match, you have independently confirmed that this exact signed record matches the bytes anchored on the public ledger at the consensus timestamp shown. Change one byte of the record and the fingerprint changes, so it no longer matches.

## What this proves

| Check                                  | What it tells you                                                                |
| -------------------------------------- | -------------------------------------------------------------------------------- |
| Fingerprint matches the ledger entry   | This exact record, unchanged, was registered on the public ledger.               |
| Consensus timestamp                    | The record existed no later than that moment according to Hedera consensus time. |
| Entry is served by Hedera, not Klariqo | The proof does not depend on trusting Klariqo.                                   |

<Warning>
  Anchoring proves integrity and timing: that this record existed at that moment and was not altered. It does not prove a conversation took place, does not prove consent, and does not make a call lawful or make you compliant. The record itself (recording and transcript) is the evidence of content. See [the evidence boundary](/compliance-records/evidence-boundary).
</Warning>

<CardGroup cols={2}>
  <Card title="Verify a vCon" icon="signature" href="/compliance-records/verify-a-vcon">
    Check the signature and tamper-evidence of a record.
  </Card>

  <Card title="Third-party witnessing" icon="user-check" href="/compliance-records/third-party-witnessing">
    See how an independent witness records that a signed record existed.
  </Card>
</CardGroup>
