Connector grants: the open questions, written to be handed to an agent
Rendered from docs/briefs/research__connector-grants-open-questions.md in the repository. The text below is that file. Source: https://riskmandate.ai/admin/briefs/research__connector-grants-open-questions/↗ · noindex · written by scripts/site/build-admin.mjs
Date: 2026-09-15 · Author: @website-agent
Trigger: project lead's note of 15 September — "create more ABP, now focused on the connectors … it is ok to create an ABP with reference that 'need more research' on grant, which I can then assign to a different agent"
Reads against: Lab 01 (the grant is user-shaped), Lab 03 request 2 (the four connector shapes), the vendor pages listed in each vault's RESEARCH-NEEDED.md
1. What was built
Five behaviour-policy vaults for connector shapes, in the directory at abp-vaults.html and each
with its own page. None of these shapes is published at abp.sgit.ai; the grants were read from the
vendors' own pages on 15 September 2026, quoted rather than paraphrased, and stand at the
documented evidence tier (never measured: nothing was tested, and probing somebody else's
system is out of bounds here with no research exemption).
| Vault | Shape | Rows | Open questions | Pages disagree |
|---|---|---|---|---|
google-workspace-mcp | Google's own Workspace MCP servers (Gmail, Drive, Docs, Sheets, Slides, Calendar, Chat) | 6 | 4 | 3 |
gmail-readonly | an assistant on a personal Gmail mailbox, gmail.readonly — Lab 03 shape 1 | 4 | 3 | 1 |
google-drive-readonly | an assistant on a personal Google Drive, drive.readonly — Lab 03 shape 3 | 3 | 3 | 1 |
claude-m365-connector | Claude's Microsoft 365 connector: Outlook, SharePoint, OneDrive, Teams — Lab 03 shapes 2 and 4 | 5 | 4 | 3 |
dropbox-mcp | the official Dropbox MCP server, eight scopes | 5 | 4 | 2 |
Three things a documented grant carries that a measured one does not, and the generator now
writes for any vault whose data/grant.json has them:
research_needed→RESEARCH-NEEDED.md: one question per row the pages could not settle, with how to settle it and where to look. Counted on the directory tile, the card and the app's first screen as open questions. This is the file to hand to the research agent.contradictions→ Where the vendor's own pages disagree: advertised in one place, permitted in another, published unresolved on purpose — the section Lab 03 said every connector shape needs.not_in_grammar→ Granted, and not in the grammar: permissions none of the 23 primitives names (trash a mail thread, read a calendar), recorded so the grant is not silently narrower than the consent screen.
And one property on every row: material — own, organisation, third_party or
mixed — the Lab 01 finding as data, asked of the model site as Lab 03 request 1. Almost every
connector row is mixed, and no setting the vendors offer makes it own.
2. The brief for the research agent
Take one vault. Open its RESEARCH-NEEDED.md. For each question:
- Read, do not test. Settle it from the vendor's published page, from a system you are entitled to run, or not at all. Never connect an assistant to an account to see what happens.
- Quote. The answer is a sentence from a page, its URL and the date read.
- Record it in the grant. In
data/grant.json: move the row'sevidenceto the tier the answer supports (documentedfor a vendor page;self-reportedfor a vendor's claim about its own behaviour that no page substantiates), put the quote in the row'snote, and delete the entry fromresearch_needed. If the page is silent, that is an answer too: add it tocontradictionswithstate: "undocumented"and delete the question. - Rebuild and check.
node scripts/site/build-abp-vault.mjs <slug>then--check; the history records whether the counts moved. Push the vault with its key from the keys vault.
The five RESEARCH-NEEDED.md files hold 18 questions between them. The ones most likely to move a
row: whether the Gmail MCP server exposes a send tool (the scope permits it; the page advertises
drafts); whether Claude's Microsoft 365 write tools are on by default or gated behind a separate
consent of Mail.Send; the default audience of a Dropbox CreateSharedLink.
3. The queue
Five more connectors are listed on the directory as not yet researched, in the order a stranger
recognises them: Claude's own Google Workspace connector, Slack, GitHub, Notion, Salesforce. Each
becomes a vault the same way: read the connector's own scope or permission page, write
data/grant.json with a row per capability the scopes permit (material on each), a starting
mandate, the contradictions, the open questions; the generator and the site do the rest. The
authoring script that produced the five is in the session's scratchpad and is not the source of
truth — the JSON in site/vaults/<slug>/ is.
4. What this does not claim
Every row in these vaults could be wrong the way documentation is wrong: the page moved (Anthropic's Microsoft 365 guide read as read-only on 12 September and lists ten write tools on 15 September, and both readings are in the vault), the advertised capability and the granted scope disagree, or the connector does less than its scope permits. That is the condition a behaviour policy exists to surface, not a defect in it. A row moves to measured only from a system we are entitled to run.