RiskMandate
The Lab · index

Findings, mockups and things we have not built yet.

We work out the product in public. This is where the research, the interface mockups and the open proposals live, before any of it is a feature. If you want to argue with us, this is the surface to argue with — and the arguing is the point.

Edition — see the stamp in the footer of every page Live page riskmandate.ai/lab.html Published by RiskMandate · CC BY 4.0

This is a dated edition of a page that changes. The Lab holds our current thinking, and current thinking moves. This PDF does not: it is what we thought on the date stamped below, kept so the reasoning can be followed rather than only its conclusion. The live page may since have been corrected, extended or withdrawn — and if it has, the edition list on it will say so.

RiskMandate v1.39.0 Try it free
The Lab — work in progress, published as it happens. Nothing here is a product claim, and some of it will turn out to be wrong. How to read it
Working in the open

Findings, mockups and things we have not built yet.

We work out the product in public. This is where the research, the interface mockups and the open proposals live, before any of it is a feature. If you want to argue with us, this is the surface to argue with — and the arguing is the point.

The model it all sits on →
The lab

Everything currently open.

In reading order rather than by date — the finding comes first because everything after it leans on it. Each entry says what state it is in, because a finding and a mockup are not the same kind of claim and should not be read as though they were.

01

The grant is user-shaped, not data-shaped

Finding

When somebody connects an assistant to their mailbox or their drive, what do they actually grant it? We read four vendors' own documentation and the answer is consistent: the unit of restriction is the application, never the data. The narrowest mail scope that can read a message reads every message. The default file corpus is, in the publisher's own words, files owned by or shared to the user. And in four places a vendor's own marketing and their own scope list disagree with each other.

12 September 20264 sources, quoted verbatimNothing tested
02

What buying a behaviour policy would actually look like

Mockup

Twelve stages from the first question a stranger reads to a delivered, recomputing vault with a read key they can hand to an underwriter. Five of those stages are drawn here as interface mockups, including the one that matters most: what a draft policy looks like, and what correcting it feels like. None of this is built. The mockups exist so the flow can be argued with before it is written.

12 September 20265 screensNot built
03

Changes we are asking of the behaviour-policy site

Proposal

The model and its data live on a separate site, maintained by somebody else. This is our open request list against it: one new property for the capability grammar, four deployment shapes we would like published, and the provenance conventions we would need in order to render any of it. Published rather than emailed, so the reasoning is checkable and the answer can be public too.

12 September 20263 requestsAwaiting a reply
04

Seven things to build, and one word we have not earned

Proposal

The build specification for the first thing anybody will ever use: a page that asks what you run, computes what you granted, and hands you the gap. Three tools, two vaults, two documents — and the arithmetic that decides what may leave the browser. A twenty-connector multi-select carries about 20 bits, which is more entropy than a well-known browser-fingerprint study measured in a whole fingerprint, so the full shape is computed locally and only bands and categories are ever submitted.

12 September 20267 things to createNothing built
05

Your agent can commit as you, and no instruction stops it

Finding

The author name and address on a commit are free text — git's own reference says the name has no effect on authentication, the code host's write interface takes both as parameters needing only contents write, and the host attributes the result to whoever owns that address with no consent step and no notification. Exactly one thing prevents it, and it is a repository setting. Alongside the finding: the eight-line prompt we would ship, with every line marked by what actually enforces it, and six documented incidents whose fixes have one thing in common.

12 September 20266 sources checked verbatimNothing tested
06

Every routable address is in the grant, and the one rule everybody signs has no barrier

Finding

Ask any deployer whether their agent should attack other people's systems and you get the same answer — it is the easiest line in any policy to agree. It is also the one where the grant cannot be enumerated at all: it is every address the process can route to, nobody granted it, and the measure we have been using since Lab 04 does not apply. A vendor's own documentation says the fetch allow list does not prevent network access because the shell can reach any URL; the setting that does hold covers shell subprocesses only, does nothing when written into a repository, and fails open. Includes what the machine that published this page can reach, measured.

12 September 20267 sources checked verbatimOne measurement of our own
07

What you are actually buying: the vault, delivered

Proposal

The first behaviour-policy vault, built and pushed rather than drawn. Eight files derived from three inputs — a measured grant, a starting mandate and a pinned vocabulary — for Claude Code on the web with one repository attached. The delta is recomputed and checked against the published record; a Licence to Operate gets a referent; two generic files tell the agent what the others are and, in their own words, what a file like that cannot do. The session that built it read the grant back against what it had actually done, and the template makes the second shape one command.

15 September 2026Built from abp.sgit.ai v0.3.0One vault pushed
How to read this section

Four states, and they mean different things.

The rest of this site says only what we can defend. The Lab is looser on purpose — but only about status, never about sourcing. A guess here is labelled a guess; a quote is still a quote with a link and a date.

StateWhat it meansHow much to trust it
FindingfindingSomething we read in a primary source and can quoteAs much as the source. Every claim links to it, with the date it was read
MockupmockupAn interface or a flow drawn to be argued with. Not builtAs a proposal. If it looks like a screenshot, it is not one
ProposalproposalA change we are asking somebody else to makeAs our opinion, with the reasoning attached
OpenopenA question we cannot currently answerNot at all. It is here so nobody has to rediscover it
  • Nothing here is tested against anybody's system. Every claim about a third party's product comes from that party's own published documentation, read on a stated date. Probing somebody else's service to find out what it does is out of bounds, so where a vendor's own pages contradict each other we publish the contradiction unresolved rather than settle it by experiment.
  • No verdicts about named third parties. Where a vendor is named, it carries a source, a date and no adjective. Nobody in these pages is accused of anything; marketing copy and scope lists are maintained by different people and nothing reconciles them, which is the whole point.
  • A mockup is not a roadmap. Drawing a screen is the cheapest way to find out that a flow is wrong. Some of these will be discarded, and the discarding will be published too.
  • Corrections are welcome and get published. If something here is wrong — especially if it is your product we have described — tell us and the page changes with a note saying what changed and why.
Why in the open

Because the alternative is a demo nobody can check.

  • It is the same discipline as the product. A behaviour policy is worth something because every row names where it came from. A research page that cannot be checked would be the opposite of the thing we sell.
  • It finds collaborators faster than a pitch does. Somebody who reads a finding and disagrees with it is more useful than somebody who reads a landing page and nods.
  • It dates our work. Publishing a finding with a date is how a claim earns a clock. Anything undated rots invisibly.
  • The reverse also holds: anything in here that stays unbuilt for months is telling us something, in public, that a private backlog would have hidden.
Want to work on one of these? Every current entry has open questions at the bottom, and the questions are real rather than rhetorical — the newest one has seven, four of which block something we would otherwise start this week. Use the button in the header, and say which entry and which question.
Editions

The journey, kept as files.

Every entry is also cut as a dated PDF, and the old ones are kept. Send the file rather than the link when what matters is what we thought then — a link shows the reader whatever the page says by the time they arrive.

RiskMandate — Lab 04 · the shape collector
RiskMandate — Lab 05 · the commit author is a free text field
RiskMandate — Lab 06 · every routable address is in the grant
What you are actually buying — an Agent Behaviour Policy as a vault

Digests for every edition are in lab-editions.json, so a PDF somebody was sent can be checked against this list.

The Lab

Argue with the earliest version.

Everything here is cheaper to change now than after it ships. If a finding is wrong, a mockup is unusable, or a proposal is misguided, that is the most useful thing you could tell us today.