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

# Truth Explorer

> Browse checkpoints, search the transparency log, validate proof bundles, and view issuer profiles.

The [Truth Explorer](https://transparency.truthlocks.com) is a public portal for inspecting the Truthlocks transparency log. Anyone can browse checkpoints, search by attestation ID or leaf hash, validate proof bundles offline, and view the issuer directory — no account required.

Use it to independently verify that an attestation exists in the append-only Merkle tree, confirm checkpoint integrity, or audit issuer trust status.

## Checkpoint timeline

The home page shows a live timeline of every checkpoint recorded in the transparency log. Each row displays:

| Column     | Description                                                             |
| :--------- | :---------------------------------------------------------------------- |
| Checkpoint | The tree size at the time of the checkpoint, linking to its detail page |
| Age        | How long ago the checkpoint was signed                                  |
| Root hash  | The Merkle root hash (truncated, with copy-to-clipboard)                |
| Signer     | The key ID of the signer                                                |
| Status     | Whether the checkpoint carries a valid signature                        |

Four summary cards at the top show the current **tree size**, log **status**, total **checkpoints**, and the age of the **latest** checkpoint.

## Searching the log

Type an attestation ID or leaf hash into the search bar at the top of the timeline. The search auto-detects the query type:

* **Attestation ID** — any non-hex string that identifies a specific attestation.
* **Leaf hash** — a hex string (16+ characters) identifying a leaf in the Merkle tree.

When a match is found, you see the attestation ID, leaf index, event type, and a link to the corresponding checkpoint.

## Checkpoint details

Click any checkpoint number to open a detail view. The page shows:

* **Tree size** — number of leaves at this checkpoint.
* **Timestamp** — when the checkpoint was recorded.
* **Merkle root hash** — the full hex root hash with a copy button.
* **Signature** — the Ed25519 signature (if signed).
* **Signer key ID** — the key that signed the checkpoint.
* **Log ID** — the unique identifier for this log instance.

<Info>
  Checkpoint details confirm log integrity without revealing individual attestation contents. The transparency log is an append-only structure — once a leaf is anchored, it cannot be modified or removed.
</Info>

## Validating proof bundles

The `/validate` page lets you verify a proof bundle entirely in your browser. No data is sent to any server.

<Steps>
  <Step title="Upload a proof bundle">
    Drag and drop (or click to select) a `proof-bundle.json` file. The maximum file size is 5 MB.
  </Step>

  <Step title="Review the four-step verification">
    The validator runs four checks automatically:

    1. **JSON schema and content integrity** — parses the bundle, verifies the `bundle_hash_b64url` integrity hash, and cross-checks attestation and log metadata.
    2. **SHA-256 Merkle inclusion proof** — recomputes the Merkle root from the leaf hash and audit path using the RFC 6962 algorithm, then compares it to the root hash in the checkpoint.
    3. **Ed25519 checkpoint signature** — verifies the checkpoint signature against the signing public key using the Web Crypto API.
    4. **Network confirmation** — fetches the live checkpoint from the transparency log API and compares root hashes.
  </Step>

  <Step title="Read the verdict">
    A pass/fail banner appears at the top, followed by a step-by-step checklist and summary cards showing the attestation ID, leaf index, and tree size.
  </Step>
</Steps>

<Tip>
  Steps 1–3 run entirely offline using browser-native cryptography. Step 4 contacts the transparency log API to confirm the checkpoint is still live. If you are offline, the first three checks still provide strong integrity guarantees.
</Tip>

## Issuer directory

The `/issuers` page lists every issuer in the Truthlocks trust registry that has opted in to the public directory. You can filter by name or issuer ID. Each entry shows:

* **Name and logo** — with a **Verified** badge for issuers that have completed governance review.
* **Website** — a link to the issuer's public site.
* **Verification tier** — **Basic** (default for new issuers) or **Verified** (assigned after governance review). See [transparency settings](/guides/transparency-settings#verification-tiers) for details.

Click an issuer to view their full profile, including their issuer ID, verification tier, status, and when they were registered. To upgrade from Basic to Verified, submit an [issuer application](/guides/issuer-applications). Issuers with a private profile show a note that their signatures are valid but identity details are not public.

## When to use Truth Explorer

| Scenario                                           | What to do                                                         |
| :------------------------------------------------- | :----------------------------------------------------------------- |
| Verify a proof bundle someone shared with you      | Go to `/validate` and upload the `proof-bundle.json` file          |
| Check whether a specific attestation is in the log | Search by attestation ID on the home page                          |
| Audit the log's checkpoint history                 | Browse the checkpoint timeline or click into a specific checkpoint |
| Look up an issuer's trust status                   | Open the `/issuers` directory and search by name or ID             |

## Related

<CardGroup cols={2}>
  <Card title="Proof bundle specification" icon="file-certificate" href="/specification/proof-bundle">
    Schema and field reference for `proof-bundle.json`.
  </Card>

  <Card title="Content protection" icon="shield-halved" href="/guides/content-protection">
    How to protect content and generate proof bundles.
  </Card>
</CardGroup>
