Sample check
ALLOW
CAD 1,300 of 1,500
- Agent
- shopper-01
- Principal
- K. Uluer
- Merchant
- techstore.example
- Purpose
- purchase
Global Agent Bureau
Global Agent Bureau is an independent agent bureau and a technology company. Participants register agents, check signed intents, inquire with a purpose code, and report incidents. The checks are powered by KATA — Know And Trust Agents — the framework underneath this service, under the PolyForm Noncommercial License. A valid identity is not the same thing as a valid action.
Try a signed intent Explore the site Organization dashboard Individual portal
Sample check
ALLOW
CAD 1,300 of 1,500
Explainer
How the check works. 73.5 seconds, silent, with captions on the picture and an English text track in the player. It stays paused until you press play.
Identity and provenance of the agent that wants to act.
The principal who signed the delegation and the intent.
Purpose, ceiling, currency, merchants, and expiry.
The payment is checked against that signed record.
Agent identity
An agent is registered with a provenance. The public sample is shopper-01, authorized by K. Uluer. Assurance can be key-bound, operator-verified, or unverified. When a trust score is kept, it belongs to the agent. Individuals are not scored.
Agent record
shopper-01
Authorization
The signed record names the purpose, the ceiling, the currency, the merchants, and the expiry. KATA checks the proposed payment against that record. A registered agent can still be outside what was signed.
Signed intent
Find and buy a laptop for me, maximum CAD 1,500.
Dispute evidence
Evidence is the intent, the payment, and the outcome, linked to the agent. A report that is not linked to an agent is rejected. Participants can inquire for dispute resolution with a purpose code.
Linked
The signed ceiling, the payment, and the outcome stay on the same agent.
Rejected
An unlinked report is not evidence. It does not enter the record.
Inquiry
Dispute resolution is one purpose. The inquiry does not change the score.
Trust score
ALLOW
Identity, authorization, intent, and this payment agree.
STEP-UP
The check does not have what it needs. An intent with no expiry is one case.
DENY
Deny blocks the action. It does not revoke the grant.
This synthetic stress test of the trust score uses 10,000 synthetic agents and 100,000 synthetic transactions over 90 days. Against adaptive attackers, 73% of attempted fraud dollars are stopped and $0.71M is executed. When attackers do not know the rules, 78% is stopped and $0.68M is executed. Legitimate agents denied at day 90 are 0.15% and 0.16%. Tables and charts are on the Simulation page. Global Agent Bureau is an agent bureau and a technology company. Learn more at globalagentbureau.com.
73%Adaptive fraud dollars stopped. $0.71M executed.
78%Stopped when attackers do not know the rules. $0.68M executed.
0.15%Legitimate agents denied at day 90, adaptive case.
0.16%Legitimate agents denied at day 90, unaware case.
The service
Documentation, status, and the simulation are on this site. KATA is the framework underneath the checks, licensed under PolyForm Noncommercial.
MCP
POST /mcp is a remote MCP server over streamable HTTP. The 5 tools are verify agent, inquire, report, check revocation, and fetch a signed receipt. The tools require a bearer API key.
Sandbox
Test keys use the gab_test_ prefix. Live keys use the gab_ prefix. Live and test rows stay isolated. A test report does not change a live score. When GAB_ENV is sandbox, only a gab_test_ key is accepted.
Health
GET /health and GET /v1/health need no API key. The same reading is on /status.
Limits
Defaults are 60 verifies, 30 inquiries, and 10 reports each minute, and 120 requests overall. A limit answers 429 with Retry-After: 60.
UCP
In the sandbox, the bureau verifies a Universal Commerce Protocol checkout as an action. It does not host checkout. The path accepts a gab_test_ key only.
AmEx
The AmEx Intent Intelligence note is an assumed mapping into the KATA agreement. Read it in the mapping note.
Live demo
This sample uses public demo keys for K. Uluer and the agent shopper-01. The page asks the reference library to render the confirmation, sign it, and return allow, deny, or step-up. It does not spend money.
Transparency log
List
Pulled from . Cached for five minutes. A deny is not a revocation.
Loading the revocation list…
Keys
The log public key and any extra records at .
Loading published keys…
Log
The signed tree head from .
Loading the tree head…
Dates and titles below are the git history, CHANGELOG.md, and the GitHub pull requests. When a commit date and a GitHub merge time fall on different days, both are stated. The repository is https://github.com/kaanuluer/KATA.
a581f1c Initial commit. c57c16c KATA framework initial content: README, docs, schemas, examples, research. 6ffc9f7 KATA assets: logo. d9037b3 Remove corrupted logo upload (retry via web UI). 302ba83 KATA assets: hero banner and logo.
Five commits that day share the message “KATA framework part 1: README, license, gitignore”: 3d5275a, 29899e1, 1a514d4, e85217e, 2191ce3.
0129d8a Record price integrity and the AgentCommerceBench gap (#1). GitHub #1 Add price integrity and an AgentCommerceBench mapping was opened 2026-10-09T02:02:58Z and merged 2026-10-09T02:05:23Z.
2ab98f5 Map KATA objects to Verifiable Intent and AP2 mandates. (#2). GitHub #2 Map KATA to Verifiable Intent, AP2, TAP, and AGNTCY was opened 2026-10-09T02:42:08Z and merged 2026-10-09T02:52:11Z.
37d54b0 Record a reading of Sardine's agentic-commerce fraud report in the KATA docs. (#3). GitHub #3 Update KATA docs from Sardine's 2026 agentic commerce fraud report was opened 2026-10-12T05:06:29Z and merged 2026-10-12T05:07:08Z. CHANGELOG.md for that day records the reading of Sardine's public report Rethinking Fraud Prevention for Agentic Commerce (2026). The changelog says no schema or example changed, and that nothing in the update is a measured result.
d9d5712 Separate the KATA core from optional profiles and related work. (#4). GitHub #4 Keep the KATA core lean: optional profiles and Darwinium as related work was opened 2026-10-12T12:43:56Z and merged 2026-10-12T12:44:19Z. The changelog says an implementation needs the four questions, the intent and delegation schemas, and the decision outcomes, and that use-case examples are profiles. It cites Darwinium's press release of 8 October 2026 as that related-work entry.
8ca5197 Add a signed intent agreement and a reference action check. The changelog points at docs/intent-agreement.md, schemas/intent-mandate.json, schemas/agreement.json, and the reference library's Ed25519 mandate, action check, and revoke-or-expire path.
GitHub #5 Add a signed intent agreement and a reference action check was opened 2026-10-12T22:46:54Z. GitHub lists it as a draft and records no merge time.
32711ab Apply Kaan's intent-agreement decisions to the spec and the reference check. The changelog records the agreement inside the delegation, the spend ledger on the agreement, several live intents inside one parent set, and the principal's signature as the activation.
39c6328 Apply the confirmation, ledger, revocation, FX, institution-key, and ES256 decisions. The changelog records canonical confirmation text, a hash-chained ledger with a 60-second staleness step-up, auto-selection of one matching intent, pull plus push plus a transparency log, a pluggable daily FX ceiling, institution keys at .well-known plus an allowlist, and ES256 beside Ed25519.
5df8892 Add a Vercel service for the revocation list, transparency log, and daily FX. 2e36a7d Point the Vercel FastAPI entrypoint at the repository-root app.py. 28c0765 Send a user agent on Frankfurter FX requests and use the v1 host.
87d97e2 Add an English KATA page with a sample intent check and live status. b237da9 Use the teal seal and KATA wordmark on the web page.
GitHub #6 Relicense KATA under PolyForm Noncommercial 1.0.0 was opened 2026-10-13T03:45:55Z and merged 2026-10-13T04:16:43Z. The LICENSE file in this checkout is the PolyForm Noncommercial License 1.0.0. Versions published before that change were released under Apache-2.0.
CHANGELOG.md for 2026-10-13 also records /history and /docs (design, authorization, intent, threat model, schemas, and the API reference), with FastAPI's generated OpenAPI page at /docs/openapi.
This checkout adds the Global Agent Bureau on that service: organizations and hashed API keys, the agent registry, stored intents and the verify API, incident reports, purpose-coded inquiries, the rule-based trust score, signed alerts, the individual portal, and disputes. The requirements are in docs/gab-requirements.md. The organization dashboard is /dashboard and the individual portal is /portal.
The service rejects an unlinked report, denies a velocity breach, and publishes one synthetic stress test at /simulation. Every figure is labeled SYNTHETIC TEST DATA – not real customers. Against adaptive attackers, 73% of attempted fraud dollars are stopped and $0.71M is executed. When attackers do not know the rules, 78% is stopped and $0.68M is executed. The home page states that same headline.