Three calls, and one governed information transaction: the agent asks NoData what it may see, gets back a decision with only the authorized data, and a signed receipt. Field-level.
10,000 calls free every monthThe unit is a call, not a user or a seat
Step 1
Get an org key
The org key (ndp_) is what mints grants. Create and rotate it in your key dashboard. It identifies the organization, not a single agent.
Step 2
Mint a claim-scoped grant
Declare which columns and classifications the agent may read. You get a grant_token (ndca-), shown once. This is a fence, not a credential to your data.
Step 3
Ask the processor
The agent asks what it may do. Back comes a decision, allow / degrade / deny, with the allowed columns only and a signed proof. No data is released in the plan step.
1 · Your org key
Minting a grant needs an org key (ndp_). Create and rotate it in the key dashboard. Keep it server-side, and never hand it to an agent.
The grant says which columns and classifications are allowed. The example runs as-is: agent_demo_records is a built-in demo table, seeded automatically.
You ask for three columns; the grant allowed two. The result is degrade: first_name and email are allowed, id_number is withheld, and the decision is signed as a proof.
id_number was not filtered from the response. It was never opened. That is the difference between a filter and an authorization.
Or via MCP
Wire an agent directly, with no networking code. The tool arrives hard-scoped to the grant.
claude mcp add nodata -- npx @nodatachat/mcp
Run it live
No key, no signup: click, and NoData runs the decision against the demo table and returns a live decision with a proof.
On real tools
One agent, three real tools through one engine: it reads our open-source code on GitHub, code on Bitbucket, and an issue on Jira, with no token, and the merge is simply not in its grant. Every call leaves a receipt on the chain.
FAQ
What exactly does /api/access/compute return?+
A decision: allow, degrade or deny, with the list of allowed columns and the list of withheld ones, plus a proof_id for a signed receipt (when you add ?receipt=true). It is a plan step: it rules without releasing data or deriving keys. The actual release is /api/agents/{handle}/read.
What is the difference between the org key (ndp_) and the grant (ndca-)?+
The org key identifies the organization and mints grants. A grant is one agent's scope: which columns, which classifications, for how long. You hand the agent the grant, never the org key.
Can I use n8n / Zapier / any HTTP client?+
Yes. Anything that can send an HTTP POST with an Authorization header works. There is also MCP: claude mcp add nodata, to wire an agent directly.
How does pricing work?+
The unit is one governed transaction — one call, one decision. 10,000 free every month, then $0.25 per 1,000. One allowance per organization, not per key. The policy question itself, opening an address, and verifying a proof are not counted.