01 — SCENARIO MATRIX

Atomic & composite policy enforcement tests

Each scenario is a self-contained test of one policy axis. Click any card to view the full fixture, expected outcome, and run it against the live deployment.

ATOMIC

Single-policy isolation tests. Each scenario exercises one rule in isolation.

01-happy-pathatomic

Approved request, evidence recorded

Happy path: valid JWT, allowed everything

A permitted AI request passes every policy check and executes — and the decision is still recorded and signed. Compliance isn't only about blocking: every allowed action carries proof it was allowed.

happy-pathallow
02-missing-scopeatomic

App exceeds its permissions

JWT missing the route's required scope

An application asks the AI to do something it was never authorized for. Without runtime checks, over-permissioned apps silently expand what AI does with company data.

authzscopedeny
03-wrong-regionatomic

Data leaves the approved region

JWT home_region does not match edge region

A request tries to route to an AI model outside the approved geography. For EU personal data this is a cross-border transfer risk — the classic data-residency violation.

residencydeny
04-tenant-not-configuredatomic

Unknown business unit uses AI

Tenant not configured

A tenant with no configured policy tries to use AI. Denying by default prevents 'shadow AI' — usage nobody set rules for.

model-allowlistdenytenant
05-model-not-allowedatomic

Unapproved AI model

Model not in tenant allowlist

A request targets a model the organization hasn't approved. Model allowlists are how companies control which providers see their data and which model versions make decisions.

model-allowlistdenymodel
06-jwt-expiredatomic

Stale credentials used

Expired JWT

A request arrives with expired credentials. Expired-credential acceptance is how leaked old tokens become breaches; here it's refused before the AI ever runs.

jwtdenyexpired
07-jwt-wrong-audienceatomic

Credential used in the wrong place

Wrong JWT audience

Valid credentials for one system are replayed against another. Catching audience mismatch stops cross-service token reuse.

jwtdenyaudience
08-jwt-wrong-issueratomic

Credentials from an untrusted source

Wrong JWT issuer

The request's identity was issued by an authority the organization doesn't trust. Only pre-agreed identity providers are accepted.

jwtdenyissuer
09-jwt-invalid-signatureatomic

Tampered credentials

Invalid JWT signature

The credential's signature doesn't verify — it was forged or altered. The request is rejected before reaching any AI system.

jwtdenysignature
10-missing-jwtatomic

Anonymous AI usage blocked

Missing Authorization header

A request with no identity at all. Every AI action must be attributable to a known identity — anonymous usage means an audit trail with holes.

jwtdenymissing
11-unknown-routeatomic

Unmapped endpoint refused

Unknown route

A request to an endpoint no policy covers. Deny-by-default means new paths can't silently bypass governance.

envoy-rbacdenyroute
COMPOSITE

No composite scenarios defined yet.