Intramedial is in restricted beta. At sign up or sign in, you have to provide the beta tester password you received or request one at preview@intramedial.com. Thank you.
Loading…
saas.admitModule 30
Plane module
SaaS connector admission
Ask whether an agent may touch a SaaS source, and let it write through one only after the same check that gates everything else.
saas.admit runs Intralock admission on a SaaS connector, resource saas:<source>, with a default action of read. An administrator can also give a source a write map; write then admits each operation, forwards it with the workspace's connection credential and ledgers the outcome.
Intralock · Leases · Parley · Fleet Map
A Trustvice Product
Agents act when the plane says yes, and the record says why.
Put admission in front of your MCP servers, repositories, SaaS tools and cloud accounts. Every agent gets a lease or a reason – and you keep the lever to stop any of them.
sync answers ok: false for every source: credential_gated where a connector-fabric adapter exists, adapter_planned otherwise. Admission and write maps work today; inspect shows which sources are implemented.
Record
The record
What gets recorded
source
Required. A connector id from the catalogue. id is accepted as an alias.
actorDid
Required. The agent asking.
action
read, write or . For it defaults to ; in it comes from the operation's .
Optional. The token an approver issued for a write or delete.
result
In the response: allow, reason and, when a human must confirm, approvalId.
llm
In the response: false. The verdict is a pure function.
op
For the write routes: the operation name from the map, lower case, up to 40 characters.
args
For the write routes: values filled into {args.name} placeholders in the operation's path and resource.
Mechanism
Step by step
How it works
Forms and phases
A
Admit
admit checks saas:<source> for an actor and an action. It is a verdict only; nothing is sent to the SaaS. Use it before your own client calls the API.
B
Write through a map
write looks up the operation in the source's write map, admits it, and only on allow sends the request with the stored credential. The reply is screened.
Step by step
Pick a source
list returns the connector catalogue, the sources and which are implemented. An unknown source returns 404.
Admit the action
admit takes source, actorDid and optionally action. The verdict is the shared admission answer, including approvalId for a write needing confirmation.
Map the operations
An administrator sets write-map with a address and up to 100 operations, each with , , and of , or .
Call admit with action: write before your client posts to the source. A missing grant answers no_grant; a held write answers with an approvalId.
Finer resources than the source
A write map gives each operation its own resource, so a grant can cover saas:github/issues.read without covering saas:github/repos.delete.
Writing without sharing the key
The agent never holds the SaaS credential. write attaches the workspace connection's token and screens the reply before returning it.
Seeing what was tried
Every write appends a saas.write event and a row to the write log, including refused attempts with their reason.
When to use something else
Admitting a repository action and reporting to GitHub. Use github.enforce, which admits repo: and posts a check.
Pulling data out of a SaaS. Sync is not built in this module; the connector fabric owns that.
Granting access in the first place. Write a mandate with mandates.compile; admission only reads the grants.
Evidence
Guarantees
What it does, and what it does not
A module is a strong claim about a narrow thing. Rely on it for exactly what it is.
It does
admit decides with Intralock and returns llm: false; it uses the same path as coordination.admit.
A POST, PUT or PATCH operation cannot be declared a read, and a DELETE must be declared delete; the map is refused otherwise.
A refused write is never forwarded: the response says forwarded: false and the row is logged with the reason.
A write map is changed only by a signed-in person who administers the workspace; a token or agent is refused.
It does not
That the SaaS call succeeded. status is the connector's HTTP status, and a 4xx still comes back with allow: true.
That an admit verdict bounds your own client. Only calls sent through write are held by the gateway.
That an operation's declared kind is true of the remote API. The map is the administrator's claim, and a mislabeled operation is admitted as labeled.
That the target address is safe. The check reads the URL, not DNS resolution, and the base host must match the map's host.
Details
Build notes
Before you build
Default resource
An operation without its own resource is admitted as saas:<source>/<op>. One that does set a resource keeps it, up to 200 characters.
Credentials
write uses the map's connectionId or a workspace secret named by authEnv, which must start with SAAS_. If neither yields a token, the call goes out without authorization.
Placeholders
{args.name} in a path is filled from args and URL-encoded. A missing argument is a 400, not a blank.
Permissions
write-map needs policies.approve and an administrator. admit, write-preview and write carry no role of their own; the verdict gates them.
Limits and metering
A write map holds at most 100 operations, each path starting with / and no longer than 300 characters.
write times out at 8000 ms and keeps at most 256 KiB of the reply.
The write log keeps 200 rows; write-log returns the latest 100.
A source with no write map returns 404 from write and write-preview.
Access
API & MCP
REST and MCP
Authenticate with a workspace API key as a Bearer token. The base URL is https://api.intramedial.com.
REST endpoints
POST/api/v1/acp/saas/admitAdmit an actor's action on a SaaS connector.
GET/api/v1/acp/saas/listList connector sources and which are implemented.
POST/api/v1/acp/saas/write-mapSet or clear a source's write map (administrators).
POST/api/v1/acp/saas/write-previewShow the resource and hold status of an operation.
POST/api/v1/acp/saas/writeAdmit and forward one mapped operation.