One map of who can reach what. A record of every answer given.
If no single system can answer it, the answer gets built across all of them.
Read, Reconcile, Decide, Prove.
Each one is a different problem. Reading permissions is an integration problem, reconciling them is a modelling problem, deciding is a latency problem, and proving it is an evidence problem.
Read
Connectors pull the permissions your systems already hold. ACLs and their inheritance, sharing rules and role hierarchy, database and column grants, group membership including nested groups. The identity provider goes first, because without Okta or Entra the map has no spine. Read-only OAuth, scoped by you and revocable by you.
Reconcile
Every native model is projected into one common shape: subjects, objects, and the edges between them. That includes the paths that exist only because two systems disagree about a group, which is the class of path no single system can see.
The graph is tokenised — hashed identifiers and edges rather than plaintext paths or titles — so it maps your estate without carrying it. It is not anonymous: deterministic tokens over a small domain are re-identifiable by frequency, which is why the map that makes it readable is held by you.
Decide
The constraint is compiled into the query rather than applied to the results. A search only ever considers material the caller could have reached on their own, so nothing sensitive is retrieved and then filtered out of the answer — the difference between a result that was never returned and one that was returned and hidden.
The verdict is computed per call, against the person the agent is acting for, and it resolves in the path rather than in a review queue.
Prove
Every decision is written down: who asked, which systems answered, what came back, and what did not. One account of a question that touched six places, which is the artefact no system in that chain can produce on its own.
The decision happens in the query, not after it.
A control that reads the answer afterwards is a report. A control that shapes the answer is authorization, and the difference is whether the paragraph was ever assembled.
“What do we know about this customer?”
- Collaboration
- CRM
- Warehouse
- Support
- HR
- Billing
One answer, scoped to the person who asked.
And a record of what was returned, what was not, and why.
One connector per category, reading only what that system already holds.
| Category | What we read |
|---|---|
| Identity | Okta, Entra and the directories behind them: users, groups, and nested group membership. |
| Collaboration | Site, library and item level ACLs, and what those items inherit. |
| CRM | Sharing rules, role hierarchy and object level access. |
| Warehouse | Role grants at database, schema, table, row and column level. |
| HR | Worker record access policy and reporting lines. |
| Service desk | Queue membership, ticket visibility and the groups behind both. |
A control in your query path, four things it never touches.
- We do not replace your identity provider, your DLP, your posture tooling or your data platform’s own grants.
- We do not read content. No documents, messages, records, tickets or attachments.
- We do not write to your systems.
- We do not hold the map that makes the graph readable. You do.