LLM Rate Limiting & Traffic Management Service  ·  View 21 of 24  ·  Assurance

Security Trust Zones

Six zones by decreasing exposure, and the one structural property that limits the blast radius of a decision-plane compromise.

Editable source SVG draw.io All views
Internet
Internet
Client Applications
tenant workloads
Client Applications...
Platform Administrators
Platform Administrators
Perimeter
Perimeter
WAF + DDoS Shield
L7 rules
WAF + DDoS Shield...
Envoy Gateway
TLS 1.3 termination
Envoy Gateway...
Keycloak
OIDC, realm per tenant
Keycloak...
Application zone
Application zone
limiterd
SPIFFE identity
limiterd...
llm-gateway
SPIFFE identity
llm-gateway...
policy-api
admin scope only
policy-api...
State & analytics zone
State & analytics zone
Valkey Cluster
ACL per service
Valkey Cluster...
PostgreSQL
row-level security
PostgreSQL...
ClickHouse
tenant-scoped views
ClickHouse...
Egress zone
Egress zone
Vault / OpenBao
dynamic provider keys
Vault / OpenBao...
Egress Proxy
FQDN allow-list
Egress Proxy...
Providers (untrusted)
Providers (untrusted)
Managed LLM Providers
Azure · Anthropic · Google
Managed LLM Providers...
Self-hosted vLLM
private subnet, no egress
Self-hosted vLLM...
HTTPS + OIDC bearer
HTTPS + OIDC bearer
JWKS validation
JWKS validation
mTLS, SPIFFE SVID
mTLS, SPIFFE SVID
TLS + ACL
TLS + ACL
TLS, RLS by tenant
TLS, RLS by tenant
SVID-authenticated key lease
SVID-authenticated key lease
prompt in transit, never stored
prompt in transit, never stored
TLS 1.3, allow-list
TLS 1.3, allow-list
SSO + step-up MFA
SSO + step-up MFA
Security Trust Zones
Security Trust Zones
External / third party
External / third party
Person or role
Person or role
Security / platform
Security / platform
Interface / broker
Interface / broker
Application we own
Application we own
Data store
Data store
synchronous
synchronous
The limiter is deliberately outside the prompt data path. It receives token counts and scope claims, so a compromise of the decision plane exposes no customer content.
The limiter is deliberately outside the prompt data path. It receives token counts and scope claims, so a compromise of the decision plane exposes no customer content.
v 1.0 · owner Data & AI Global Practice
v 1.0 · owner Data & AI Global Practice
Text is not SVG - cannot display

The structural control

  • The limiter is outside the prompt data path by construction. It receives token counts and signed scope claims; it has no code path that reads a message body and no schema field that could store one. A full compromise of the decision plane exposes no customer content.
  • Prompts exist only in transit through llm-gateway and are never written to disk, log or queue. The usage event that leaves the gateway contains counts, not content (NFR8).
  • Service-to-service authentication is SPIFFE-issued mTLS, so a stolen network position is not sufficient to call the decision API — an attacker also needs a workload identity.

Controls per crossing

  • Internet → Perimeter: TLS 1.3, WAF, OIDC bearer validated against cached JWKS at the edge.
  • Perimeter → Application: mTLS with SPIFFE SVIDs, 5 ms deadline, no other route into the zone.
  • Application → State: TLS with per-service Valkey ACLs and PostgreSQL row-level security by tenant.
  • Egress: FQDN allow-list, provider credentials leased from Vault with a 15-minute TTL and never held in application config.

Risks

  • llm-gateway does see prompt content in memory. It is the highest-value target in the system and is deployed with a restricted syscall profile, no shell, and no debug endpoints in production.
  • Administrators can read any tenant's usage metadata. Admin actions require step-up MFA and are written to an append-only audit log held for 7 years.
  • The self-hosted vLLM pool has no egress path at all, which is deliberate; it also means it cannot fetch model weights at runtime and must be provisioned through the delivery pipeline.