What happened: how the RiskMandate X-ray was made

The X-ray of RiskMandate · the deck · how every X-ray is made · X-ray another name

This page shows what the agents did to make the X-ray of RiskMandate, in the order it happened. Every number comes from two files: the raw record of the search (data/xray/riskmandate/search/20261107T183003Z.json) and the X-ray itself (data/xray/riskmandate/xray.json).

Step 1 of 6

1. The ask

On 7 November 2026 at 18:30 UTC, xray@web-summit.dinis typed one line into the search tool (admin/tools/xray-search.mjs): "RiskMandate (riskmandate.ai)", as a company. It was not typed at the booth: that path is still being built (WS-194).

The search tool is the orchestrator. It sent the same question to 4 search agents at the same moment, through OpenRouter, and waited for all of them. Each was told to search the public web and answer only in JSON, with a URL for every item.

  1. Perplexity search perplexity/sonar
  2. OpenAI search openai/gpt-5.4-nano:online
  3. Gemini search google/gemini-3.1-flash-lite:online
  4. OpenRouter web search anthropic/claude-haiku-5.5
The exact question each agent was sent
You are a research agent for RiskMandate X-ray. Subject (a company): "RiskMandate (riskmandate.ai)".
Search the public web and answer ONLY with JSON, no prose around it and no code fences:
{"what_it_does": "two sentences", "ai_agents": [{"name": "", "what_it_does": "", "actions": ["what the agent can do: tools, systems, data it touches"], "source": "url"}],
 "use_cases": [{"name": "", "who_uses_it": "", "what_the_agent_can_reach": ["systems, data, money, people it can act on"], "source": "url"}],
 "incidents_or_risks": [{"what": "", "when": "", "source": "url"}],
 "facts": [{"claim": "", "source": "url"}]}
Public, professional facts only; every item must carry the URL it comes from; nothing about private individuals; no contact details. If you find nothing for a field, give an empty list.

Rebuilt from admin/tools/xray-ask.mjs with this run's subject and kind. The question has not changed since the first run.

Step 2 of 6

2. Each search agent's call

Each search agent is a model, called through OpenRouter, asked to search the web and answer in JSON. All 4 started together; each bar runs from the moment the question went out to the moment its answer came back. The whole fan-out took 14.9 s, the time of the slowest.

Perplexity search8.0 s
OpenAI search13.8 s
Gemini search3.3 s
OpenRouter web search14.9 s

Perplexity search

perplexity/sonar

Time
8.0 s
Tokens in / out
214 / 1,020
Cost
$0.0062
Finished
stop: it finished its answer
URLs given
15 (15 returned as citations, 9 named in its answer)
Items in its answer
19
Leads checked
20: 18 confirmed, 2 not found, 0 unverified

Some of what it said, word for word:

  • RiskMandate’s public tagline is “Give agents access. Not free rein.”
  • RiskMandate describes itself as an autonomous risk management and insurability layer for agentic AI.
  • The company says its core product is the Agent Behaviour Policy, written for one agent in one deployment.

OpenAI search

openai/gpt-5.4-nano:online

Time
13.8 s
Tokens in / out
13,018 / 2,084
Cost
$0.0250
Finished
stop: it finished its answer
URLs given
5 (0 returned as citations, 5 named in its answer)
Items in its answer
21
Leads checked
19: 15 confirmed, 4 not found, 0 unverified

Some of what it said, word for word:

  • RiskMandate describes itself as providing an “Agent Behaviour Policy” that records what one agent can reach, what it was authorized to do, the gap, and barriers preventing out-of-scope actions.
  • RiskMandate states that it enforces behavior policies in real time with alerts to owners by text and email (approval actions such as Allow/Redact/Hold/Block are shown).
  • RiskMandate describes its enforcement model as having rules outside the agent that cannot be bypassed just by changing instructions inside a system prompt.

Gemini search

google/gemini-3.1-flash-lite:online

Time
3.3 s
Tokens in / out
232 / 538
Cost
$0.0286
Finished
stop: it finished its answer
URLs given
1 (0 returned as citations, 1 named in its answer)
Items in its answer
5
Leads checked
8: 7 confirmed, 1 not found, 0 unverified

Some of what it said, word for word:

  • RiskMandate operates 'out-of-band' and is never in the request path of the AI agent, meaning it does not enforce decisions at runtime.
  • The company uses an open-source model for its templates and tooling under Apache 2.0 and CC BY 4.0 licenses.
  • Generic Agent Behaviour Policy (ABP): Serves as a formal, versioned document defining an agent's authorized capabilities, its actual reach, and the gaps between them.

OpenRouter web search

anthropic/claude-haiku-5.5, with OpenRouter's web search plugin

Time
14.9 s
Tokens in / out
30,824 / 2,845
Cost
$0.0243
Finished
stop: it finished its answer
URLs given
5 (0 returned as citations, 5 named in its answer)
Items in its answer
13
Leads checked
16: 15 confirmed, 1 not found, 0 unverified

Some of what it said, word for word:

  • RiskMandate is run by two founders: Nimay Parekh as co-founder and chief executive, and Dinis Cruz as co-founder.
  • The product is sold at four levels, from a pack to a reviewed policy with a named person's signature, using sixteen published template policies.
  • The company's early trading runs through The Cyber Boardroom, a UK-incorporated company, and a separate company for RiskMandate alone is being set up.

"Citations" are the URLs OpenRouter returned beside the answer; only Perplexity returns them for a JSON answer. "Named in its answer" are the URLs inside the JSON. Both are leads: nothing is taken from them until a source is read. "Tokens in" is how much each model was given to read: thousands when web results were added to the question, a few hundred when it had little beyond the question itself (see the experiments on whether Gemini searched at all).

Step 3 of 6

3. From claims to facts

What a model says is a lead. Only what we read on its source reaches the page.

The reading agent turned the 4 answers into 63 leads, each tagged with the model that said it, and looked for each one on a source it read. 55 confirmed, 8 not found, 0 unverified.

confirmednot foundunverified

  • Confirmed: a source we read says it.
  • Not found: we read the source, or looked for one, and it does not say it.
  • Unverified: we could not read the source (for example, the site refused us), so it stays a lead.
AgentLeadsConfirmedNot foundUnverified
Perplexity search201820
OpenAI search191540
Gemini search8710
OpenRouter web search161510
All635580

What did not hold up, and why

ModelWhat the model saidStatusWhy
perplexityA "RiskMandate policy assistant" agent produces the Agent Behaviour Policy for a named agent.not-foundNo note recorded.
perplexityAn "early-access policy agent" inspects mailbox, code host, workflow tool and CRM access and drafts a policy vault.not-foundNo note recorded.
openaiRiskMandate enforces rule-by-rule agent controls across systems and alerts owners when actions would violate policy.not-foundNo note recorded.
openaiThe Payroll copilot example is shown with the time "Today 9:44 AM".not-foundNo note recorded.
openaiRiskMandate enforces behaviour policies in real time with alerts to owners by text and email.not-foundNo note recorded.
openaiRiskMandate describes its enforcement model as rules outside the agent that cannot be bypassed by changing the system prompt.not-foundNo note recorded.
geminiAgents in scope reach external APIs and vendor-master data.not-foundNo note recorded.
openrouterThe homepage positions RiskMandate as a business risk layer that maps each autonomous system to its blast radius and drives an accept, fund or fix decision.not-foundNo note recorded.

Step 4 of 6

4. The reading agent

A reading agent: a Claude Code sub-agent of xray@web-summit.dinis, one per subject. It opened the sources the leads pointed to (and others it found), read them, and wrote the X-ray: every fact with its source and the date read. It finished at 7 November 2026 at 18:45 UTC.

22sources read
36tool calls
6 min 8 sreading time
183ktokens used

The sources, by kind

own-site21
docs0
press0
filing0
other1
All 22 sources, with the date each was read
IdSourceKindRead
s1RiskMandate: Give agents access. Not free rein., RiskMandate (riskmandate.ai)own-site2026-11-07
s2RiskMandate: The insurability layer for agentic AI (llms.txt), RiskMandate (riskmandate.ai)own-site2026-11-07
s3RiskMandate: about, the company, the two founders, and the investor deck, RiskMandate (riskmandate.ai)own-site2026-11-07
s4RiskMandate: Agents, the contact file, the mailbox and the lane, RiskMandate (riskmandate.ai)own-site2026-11-07
s5RiskMandate: The team, who does what, and what stands in the way, RiskMandate (riskmandate.ai)own-site2026-11-07
s6RiskMandate: RiskMandate Publisher, its Agent Behaviour Policy, RiskMandate (riskmandate.ai)own-site2026-11-07
s7RiskMandate Publisher: behaviour policy data (publisher.json), RiskMandate (riskmandate.ai)own-site2026-11-07
s8RiskMandate: Agent Behaviour Policies, one vault per application, RiskMandate (riskmandate.ai)own-site2026-11-07
s9RiskMandate: How it works, from a prompt to a graph with provenance, RiskMandate (riskmandate.ai)own-site2026-11-07
s10RiskMandate: Know the risk. Name the owner. Own the mandate., RiskMandate (riskmandate.ai)own-site2026-11-07
s11RiskMandate: How long will you accept this risk?, RiskMandate (riskmandate.ai)own-site2026-11-07
s12RiskMandate: early access, a behaviour policy for the agent you run, invite only, RiskMandate (riskmandate.ai)own-site2026-11-07
s13RiskMandate: early adopters, a thank you, and a behaviour policy corrected with you, RiskMandate (riskmandate.ai)own-site2026-11-07
s14RiskMandate: Half an hour of your advice, by voice, RiskMandate (riskmandate.ai)own-site2026-11-07
s15RiskMandate: questions we were asked, RiskMandate (riskmandate.ai)own-site2026-11-07
s16RiskMandate: Lab 05, the commit author is a free text field, RiskMandate (riskmandate.ai)own-site2026-11-07
s17The grant is user-shaped, not data-shaped: RiskMandate Lab 01, RiskMandate (riskmandate.ai)own-site2026-11-07
s18RiskMandate: While I was there. One request. A whole mailbox., RiskMandate (riskmandate.ai)own-site2026-11-07
s19RiskMandate: Just a draft. A send button is not a mandate., RiskMandate (riskmandate.ai)own-site2026-11-07
s20RiskMandate: Do you want your agent to send email as you without showing you first?, RiskMandate (riskmandate.ai)own-site2026-11-07
s21RiskMandate: the behaviour-policy vault for Claude's Gmail connector, RiskMandate (riskmandate.ai)own-site2026-11-07
s22riskmandate.ai repository README (Risk-Mandate/riskmandate.ai, branch dev), Risk-Mandate on GitHubother2026-11-07

Step 5 of 6

5. The review

xray@web-summit.dinis reviewed the X-ray on 2026-11-07 before it was published. What the review changed or checked:

  1. Accepted as written: 22 sources, 55 of 63 leads confirmed.
  2. Re-read the Publisher incident (key and token pasted into the chat) on riskmandate.ai/team/publisher.html before accepting it.
  3. Checked that no simulation step shows RiskMandate stopping an action.

Step 6 of 6

6. What it cost

The search cost $0.0840 in all, as OpenRouter reported it for each call.

Perplexity search: $0.0062 (7%)OpenAI search: $0.0250 (30%)Gemini search: $0.0286 (34%)OpenRouter web search: $0.0243 (29%)

The reading was done by a Claude Code sub-agent in the session: no OpenRouter spend. Its cost is not recorded in dollars, only as about 183 thousand tokens.

14.9 sthe search, four agents in parallel
6 minthe reading
15 minfrom the search starting to the reading finished
44,288 / 6,487search tokens in / out

The time between the search and the start of the reading, and the time the review took, are not recorded.

What RiskMandate is and is not in this

The X-ray is a demonstration, made by agents. RiskMandate measures what your agents can actually reach, evidences the controls that contain them, prices the exposure, and produces that record. It is never in the request path: read-only by design (riskmandate.ai/llms.txt). Nothing on this page claims more for it.

Built by xray@web-summit.dinis from data/xray/riskmandate/search/20261107T183003Z.json and data/xray/riskmandate/xray.json. How every X-ray is made.

For an agent: this page is https://web-summit.sgit.ai/xray/riskmandate/run/index.html (markdown: https://web-summit.sgit.ai/xray/riskmandate/run/index.md). Site index for agents: https://web-summit.sgit.ai/llms.txt. Source: https://github.com/SGit-AI/SGit-AI__Website__Web-Summit (release branch dev). Identity of the agent that runs this site: https://web-summit.sgit.ai/agent/index.html.