# Claim check: the agent only states what it checked | Niadra

> Before the answer goes out, Niadra checks every price, date, deadline and number the agent is about to say against what it consulted in the turn. What has a source passes. What has none is counted, flagged or replaced by a caveat. No extra AI, inside the agent’s process.

URL: https://niadra.com/en/produtos/conferencia

Claim check

# The agent only states what it checked. The rest is flagged.

A price nobody quoted. A deadline three days off. A promise with no action behind it. The claim check looks at every number, date and amount the agent is about to say and asks where it came from. It counts if it came from a state read, from a tool called in this turn or from a passage that cites its source. What has a source passes. What has none is annotated, counted or replaced by a caveat, as your company’s rule says. The check runs inside the agent’s process, with no extra AI, at the last point before the customer or before a document is saved. A signed document is never rewritten: it is checked and counted, and goes to a person when it does not stand. Niadra only receives the verdicts and adds them up.

[Request early access](/en/enterprise)[Read the docs(opens docs.niadra.com)](https://docs.niadra.com/en/concepts/claims)

## How it works

### The answer, checked before it goes out

example

What the agent wrote

Hi, Marina. The $40 credit is already applied to your August bill, and I rebooked the visit for Sep 23 in the morning. As an apology, your next bill comes with a 15% discount.

Claims found

-   $40 amount · credit state read: bill 0823, credit field, ERP 1 min ago verdict: matched action: none
-   Sep 23 date · visit tool reschedule\_visit, called in this turn verdict: matched action: none
-   15% percentage · discount none: no tool and no read in the turn carries a discount verdict: no origin action: the sentence gives way to the contract’s caveat

What goes out to the customer

Hi, Marina. The $40 credit is already applied to your August bill, and I rebooked the visit for Sep 23 in the morning. About a discount, I will confirm with the team and get back to you.

Checked in the agent’s process, by word, role and anchor: no extra AI. The three verdicts go to the turn record; the text of your prompt never does.

-   Three origins of a number: quoted, computed or said by the model. Only what has no source is handled as the rule says: annotate, count or replace with the caveat
-   The proof is exactly one: a value with a source in the turn, a call to this tool, a call to any of these tools, or a passage that cites its source
-   An old value comes with the date it was last updated and does not back a number
-   A rewrite only when there is no doubt, in text that can still change, and never for a dose, a measurement, a size or an identifier
-   A versioned list of phrases of the trade that never trigger, tested in your CI with niadra contract test
-   The text of your own prompt never reaches the customer: the passage gives way to the rule’s line, and the record keeps the verdict, never the text
-   How much each agent states without checking comes out in Measurement, per agent and per vendor

The check, at the last point before the customer

```
from niadra import Niadra, phone

def shown(product):
    fields = {"price_sale": product["price_sale"]}
    return [{"ref": f"product:store:{product['sku']}", "fields": fields}]

@Niadra.tool("check_price", provenance=shown)
def check_price(sku: str) -> dict:
    return CATALOG[sku]

niadra = Niadra(channel="whatsapp")
# fingerprints of your own prompt, computed here; the text never leaves
niadra.internal_text.register("prompts@v16", PROMPT)
customer = phone(customer_phone)

with niadra.conversation(
    thread_id, subject=customer, agent_id="store"
) as conversation:
    build = Niadra.build(prompts={"store": "v16"}, model="gpt-4.1-mini")
    with conversation.turn(build=build):
        check_price("PX-4471")  # recorded, with the price it showed
        # the contract's actions, at the last point before the customer
        guarded = conversation.claims.guard_text(draft)
        conversation.agent(guarded.text)
```

-   Python
-   TypeScript

From the SDK’s examples/claim\_guard.py: the tool records what it showed, and the answer goes through the contract before it becomes what the agent says.

### In the documentation

-   [Claims and the check contract(opens docs.niadra.com)](https://docs.niadra.com/en/concepts/claims)
-   [Turn records, where the verdicts live(opens docs.niadra.com)](https://docs.niadra.com/en/concepts/turn-records)
-   [Legal agents: deadlines with declared gaps and anchored citations(opens docs.niadra.com)](https://docs.niadra.com/en/guides/legal-agents)
-   [Retail agents: price, availability and a promise of action(opens docs.niadra.com)](https://docs.niadra.com/en/guides/retail-agents)

## One memory, thirteen products

Connect

What goes into the memory

-   [SystemsThe events your systems already emit, tied to the right customer.](/en/produtos/sistemas)

SDK, API and MCP

Any agent connects to the memory with three calls, in Python, TypeScript, HTTP or MCP, with a ready-made adapter for the most used voice and agent frameworks.

[See the documentation(opens docs.niadra.com)](https://docs.niadra.com/en)

Remember

What the memory knows

-   [MemoryWhat was said and done, with a date, a source and evidence.](/en/produtos/memoria)
-   [IdentityPeople, companies and partners, recognized on any channel.](/en/produtos/identidade)
-   [PatternsWhat each customer repeats, computed from the history and delivered to every agent.](/en/produtos/padroes)
-   [StateWhat holds now for each customer, with the date of the last update and the source of every value.](/en/produtos/estado)

Deliver

What each agent receives

-   [ContextWhat each agent needs to know before it starts.](/en/produtos/contexto)
-   [HistoryEverything that ever happened, for the agent to search.](/en/produtos/historico)
-   [AlertsA signed webhook to your system the moment something happens.](/en/produtos/avisos)
-   Claim checkYou are hereThe agent only states prices, dates and numbers it checked. What it did not check is flagged.
-   [CoordinationWho holds the customer now and what was already done, before an agent acts.](/en/produtos/coordenacao)

Govern

What your team controls

-   [MeasurementWhether each agent used the context it received.](/en/produtos/medicao)
-   [Turn recordWhy the agent did what it did, turn by turn, and the replay in your CI.](/en/produtos/registro)
-   [ConsoleWho read what, review, export and erasure.](/en/produtos/console)
