White paperGoverning AI agents in production: policies, human approvals and an emergency stop.Read the white paper

Guide · Security

Defense in depth for enterprise AI

A request to Navin Enterprise AI crosses the portal, the APISIX gateway with Coraza and the OWASP CRS, Cilium policies and then the Control Plane, and no layer assumes that the previous one did its job. This guide reviews each control, from the CSP nonce to PostgreSQL RLS.

Published on 2 min read

Defense in depth is the first security principle of the platform: every layer applies its own control. The WAF filters obvious SSRF, for example, but the egress guard revalidates every resolved address at connection time, and Cilium refuses the cloud metadata address anyway.

From the browser to the API

The portal sends a Content Security Policy with a nonce and filters links with safeHref. Traffic from the Internet then reaches the APISIX gateway over TLS, where the Coraza WAF applies the OWASP Core Rule Set. Behind it, the Control Plane API enforces size limits, rate limiting, authentication, role checks and tenant isolation.

Deny by default on the network

The cluster network is default deny with Cilium, DNS included at layer 7. Outbound HTTP to private addresses is refused unless explicitly allowed, and the egress guard connects to the address it validated, which defeats DNS rebinding. Cloud metadata and link-local addresses are blocked without exception, and redirects are never followed.

Tenant isolation and secrets

Every tenant table is protected by PostgreSQL row level security, forced on each table: even a connection that owns the tables only sees what the policies allow, and a resource of another tenant answers 404. Secrets live in OpenBao or are encrypted with the master key: tools, MCP servers and connectors receive references, never the clear value in the prompt.

Untrusted content and sensitive data

  • Prompt injection detection on documents, tool results and web pages, with untrusted content wrapped with a nonce.
  • Output guard on model answers: link and image filtering, and a canary in the system prompt.
  • DLP Gateway built on Presidio: detect, mask, tokenize or block sensitive data before it reaches a model.
  • A startup guard that refuses a dangerous production configuration.
No layer assumes that the previous one has done its job.
  • DatasheetSecurity

    Mandatory file scanning with ClamAV and YARA-X

    Every file sent to the AI is quarantined, scanned by ClamAV and YARA-X and then validated before Docling, OCR or RAG can read it. Fully local, fail closed, logged and highly available.

    2 min read
  • DatasheetAgents

    Isolated MCP runtimes per user and project

    The MCP registry and gateway decide who may use which server; the MCP runtime creates isolated instances on demand on the ToolHive Kubernetes Operator and destroys them after use. Every tool call still goes through policy, DLP and approval.

    2 min read
  • White paperGovernance

    Governing AI agents in production

    How Navin Enterprise AI keeps autonomous agents under control: OPA policies stacked from platform to tenant to project, approvals with a human in the loop, a kill switch available at any time and a governance registry as the single source of truth.

    25 min read

See these principles applied to your use cases

An architect presents the platform against your own constraints.