PlatformHow it works

Access control at the boundary

Enforced at the gateway, before any agent or database is reached

The questionHow do we stop the wrong team reaching the wrong data?

Authorisation is enforced at the reverse proxy. The gateway evaluates the authenticated identity's domain permissions before any downstream service is contacted, so an engineer without finance access is refused before the agent layer runs and before any query touches the finance database.

What we can evidence

Measured

Refuse an unauthorised request before the agent layer runs.

The gateway evaluates domain permissions attached to the authenticated identity before contacting any downstream service. An optimisation engineer without finance access receives a no-access response at the gateway — the agent is never reached and no query touches the finance database.

Measured

Change permissions without a redeploy.

An admin console provides per-user, per-domain grant management at checkbox granularity, with changes taking effect immediately. Agent tools are scoped per pipeline as a second layer, so each domain's assistant carries only the tools, and therefore only the data reach — of its domain.

Measured

Attribute every action to a real identity.

SSO via OIDC, brokered through Keycloak to Microsoft Active Directory or an equivalent enterprise IdP, gives one identity across every platform surface. Every interaction is attributed to that identity, producing an audit trail that satisfies enterprise security review and supports regulatory audit obligations.

Why the enforcement point matters more than the rule

Most access control in analytics tooling is applied inside the application — the query runs, the results are filtered, and correctness depends on every code path remembering to filter. Enforcing at the reverse proxy inverts that: the boundary is applied consistently regardless of how the request originated, and a new feature cannot accidentally bypass it because it never sees the request. The rule is easier to audit because there is one place to look.

Two layers, deliberately

LayerWhat it enforcesFailure mode it prevents
Gateway authorisationWhich data domains an identity may reach at allA user reaching a pipeline they were never granted
Per-pipeline tool scopingWhich tools, and therefore which data — each assistant carriesAn authorised user's assistant reaching further than the domain requires

built on

related