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

# Trust

> Per-claim citations, verbatim evidence, and graded confidence on every answer

Every run returns a **trust report** alongside the output. It accounts for the evidence behind each claim in the answer:

* **Every claim is cited.** Each statement in a prose answer (and each value in a structured one) links to the exact URLs it came from, with verbatim excerpts from the page.
* **Every claim is graded.** `high`, `medium`, or `low` confidence, with the reasoning included.
* **Every source is classified.** Sources are typed (`official`, `news`, `social`, `academic`) and ranked `primary` or `secondary` for the claim they support.

## Example

A prose answer comes back with numbered callouts:

```text theme={"system"}
Datadog anchors the premium end of the market, with Pro pricing starting
at $15 per host per month [1]. Grafana Cloud takes the opposite approach:
a free tier and usage-based pricing aimed at teams that want to start
small [2]...
```

Each `[n]` resolves to a claim in the trust report:

```json theme={"system"}
{
  "confidence": "high",
  "reasoning": "Pricing claims verified against official vendor pages; positioning corroborated by independent sources.",
  "sources": [
    {
      "url": "https://www.datadoghq.com/pricing/",
      "title": "Datadog Pricing",
      "type": "primary",
      "source_category": "official"
    },
    {
      "url": "https://grafana.com/pricing/",
      "title": "Grafana Cloud Pricing",
      "type": "primary",
      "source_category": "official"
    }
  ],
  "claims": [
    {
      "callout": 1,
      "confidence": "high",
      "reasoning": "Backed by a primary source (official)",
      "citations": [
        {
          "url": "https://www.datadoghq.com/pricing/",
          "title": "Datadog Pricing",
          "excerpts": ["Pro: starting at $15 per host, per month"],
          "source_category": "official"
        }
      ]
    },
    {
      "callout": 2,
      "confidence": "medium",
      "reasoning": "Backed by a secondary source (news)",
      "citations": [
        {
          "url": "https://devopsweekly.example.com/observability-pricing",
          "title": "The state of observability pricing",
          "excerpts": ["Grafana Cloud's free tier remains the entry point for smaller teams"],
          "source_category": "news"
        }
      ]
    }
  ]
}
```

Each claim carries the value from the answer, the page it came from, and the exact sentence on that page that supports it. Note that claim `[2]` grades `medium` — it is supported by a single news source — so the report tells you exactly which claims to double-check before acting. Use it to verify the agent's work, or pipe the citations into your own review UI.

<Frame caption="Click any citation in Ask Nimble to see its confidence, reasoning, and the quoted source behind it.">
  <img src="https://mintcdn.com/nimble-f5a8283f/KXV1wfIn3QziJbke/images/wsa/claim-trust.png?fit=max&auto=format&n=KXV1wfIn3QziJbke&q=85&s=cb36f8ce4dadec306a8f365109fec6bf" alt="Claim Trust panel showing confidence, reasoning, and the quoted source for a citation" width="1018" height="496" data-path="images/wsa/claim-trust.png" />
</Frame>

## Confidence rules

Grades follow fixed rules, applied the same way to every claim in every run:

* **Primary source → `high`.** Any citation from an `official` source — or a `news`/`social`/`academic` source when that is the kind of evidence the task calls for — grades the claim `high`.
* **Independent corroboration → `high`.** With no primary source, secondary citations from two or more different domains also grade `high`. Two articles from the same outlet do not corroborate each other — independence means different domains.
* **Single secondary source → `medium`.** Supported, but by one source only.
* **No usable citation → `low`.** A value with no citation, or one that failed schema validation, is graded `low`.

The `reasoning` field states which rule applied: *"Backed by a primary source (official)"*, *"Supported by 3 independent sources"*, *"Backed by a secondary source (news)"*.

## Trust for structured outputs

With an [output schema](/nimble-sdk/web-search-agents/use-cases/dataset-building), claims are keyed by **JSON path** instead of callout number. Every value in a generated dataset carries its own evidence:

```json theme={"system"}
{
  "path": "$.vendors[0].market_share",
  "confidence": "medium",
  "reasoning": "Backed by a secondary source (aggregator)",
  "citations": [
    { "url": "https://...", "excerpts": ["Datadog holds an estimated ..."] }
  ]
}
```

Structured trust also covers missing data:

* **Verified absence.** A `null` value backed by citations grades `high` — the sources show the data does not exist (a company with no funding history, a product with no public price).
* **Schema validation.** A value that does not match the output schema is graded `low`, so structural errors are always flagged.

### Overall confidence for datasets

A structured run's overall confidence is computed from two measurements, and takes the lower of the two:

| Measurement           | What it asks                                                 |
| --------------------- | ------------------------------------------------------------ |
| **Fill rate**         | How many of the cells the schema asked for were filled?      |
| **Claim-trust ratio** | Of the researched cells, how many graded `high` or `medium`? |

The `reasoning` states which measurement set the grade: *"High confidence - cells fill rate is 96% and trust per claim ratio is 91%"*. Values supplied in `input_data` (`pre_existing`, in [enrichment](/nimble-sdk/web-search-agents/use-cases/enrichment) runs) are excluded — only researched values are graded.

## Confidence grades

| Grade          | Meaning                                                                |
| -------------- | ---------------------------------------------------------------------- |
| `high`         | Corroborated by authoritative sources — safe to act on                 |
| `medium`       | Supported by weaker or fewer sources — spot-check before relying on it |
| `low`          | Best available signal; treat as a lead, not a fact                     |
| `pre_existing` | Supplied in `input_data` — carried over, not researched                |

The run also carries an **overall** confidence and reasoning for the answer as a whole.

<Tip>
  `trust.claims` is designed to be machine-consumed: route `low`-confidence values to human review, accept `high` ones automatically, and render citations inline in your product.
</Tip>

## Next Steps

<CardGroup cols={3}>
  <Card title="Quickstart" icon="rocket" href="/nimble-sdk/web-search-agents/quickstart">
    See a trust report on your own task
  </Card>

  <Card title="Enrichment" icon="database" href="/nimble-sdk/web-search-agents/use-cases/enrichment">
    How `pre_existing` works in enrichment runs
  </Card>

  <Card title="Run result schema" icon="code" href="/api-reference/public-api/get-agent-run-result">
    The full trust object, field by field
  </Card>
</CardGroup>
