Permission matrix
Every action that checks a permission, against the level it needs. If you want to know how someone comes to hold a level in the first place, that is sharing a workspace; this page is the lookup for when the question is already specific.
The three levels
A workspace grants one of three levels, and they are a ladder rather than a set of switches: Read & Write holds everything Read does, and Manage holds everything both do. Nothing in the model takes an ability away — a second rule can only raise someone. See sharing a workspace for how rules combine.
The short version of the table below: Read looks, Read & Write works, Manage decides. Uploading documents, building columns and running extractions are the working level. A table’s own settings — its name, whether it runs itself, what language it answers in — sit with the workspace’s settings at Manage, on the reasoning that authoring a table and administering one are different acts.
The matrix
| Action | Read | Read & Write | Manage |
|---|---|---|---|
| The workspace | |||
| Open it, and read its documents and tables | Permitted | Permitted | Permitted |
| Export a table to XLSX or CSV | Permitted | Permitted | Permitted |
| Upload documents, and delete them | Not permitted | Permitted | Permitted |
| Rename or delete the workspace | Not permitted | Not permitted | Permitted |
| Create, change or delete a sharing rule | Not permitted | Not permitted | Permitted |
| Create or revoke a workspace API key | Not permitted | Not permitted | Permitted |
| Tables | |||
| Create a table, or duplicate one | Not permitted | Permitted | Permitted |
| Save a table as a template, or create tables from one | Not permitted | Permitted | Permitted |
| Add and delete rows | Not permitted | Permitted | Permitted |
| Add, edit, reorder and delete columns | Not permitted | Permitted | Permitted |
| Run a table, and cancel a run | Not permitted | Permitted | Permitted |
| Override a cell, or clear cells | Not permitted | Permitted | Permitted |
| Set the table’s accent colour | Not permitted | Permitted | Permitted |
| Rename or delete a table | Not permitted | Not permitted | Permitted |
| Turn auto mode on or off | Not permitted | Not permitted | Permitted |
| Change the table’s output language | Not permitted | Not permitted | Permitted |
| Bundles | |||
| See bundles, and where one is used | Permitted | Permitted | Permitted |
| Create, rename, recolour or delete a bundle | Not permitted | Permitted | Permitted |
| Add, remove and reorder the documents in one | Not permitted | Permitted | Permitted |
| Mailhooks | |||
| See a mailhook’s address, senders and activity | Not permitted | Not permitted | Permitted |
| Turn one on, rotate it, or change who may send | Not permitted | Not permitted | Permitted |
Exporting is the row worth reading twice. A table is turned into a spreadsheet in your browser, out of what the page has already loaded, so there is no moment at which a permission could be checked — anyone who can read a table can take it away as a file. Read is genuinely read, not confidential. Share accordingly, and see exporting.
Mailhooks are Manage to look at, not only to change. Listing them shows the address, and the address is what lets mail in, so reading the list is as privileged as creating one. Mailhooks explains the rest.
One thing here is not a workspace level at all
Creating a workspace is governed by your organisation role — owner or admin — rather than by a level, for the reason that there is no workspace yet to hold a rule about. Everything else on this page is decided per workspace. See team and roles.
How your level is worked out
Four steps, and the first one that matches decides it:
- A different organisation gets nothing. No rule, role or history reaches across an organisation boundary.
- Whoever created the workspace has Manage, permanently and without a rule saying so.
- Owners and admins have Manage on every workspace in their organisation. No rule can lower this — deleting their access is not something a sharing rule can express.
- Otherwise, the highest level any rule grants you, and none if no rule matches.
This is the same rule everywhere it is asked — the app, the API and an MCP client all read one shared definition rather than three copies of it, because a disagreement between them would be one person seeing another organisation’s documents rather than a cosmetic bug.
What the interface shows is not the boundary
The app hides what your level would refuse, so a Read user is not offered a Run button that would fail. That is a courtesy. The check that matters happens on the server, on every action, whatever the page offered — and it is the same check whether the request came from the app, from a personal API key, or from a connected AI client.