Encryption at rest and in transit
TLS 1.2+ with HSTS preload and AES-256 storage. Virtual keys are SHA-256 hashed on creation—plaintext is shown once and never stored.
Engineering deep-dive: request path, database isolation, virtual keys, and credit-safety invariants.
Architectural invariants
Backed by managed Azure Container Apps + Supabase
At rest + TLS 1.2+ in transit
Every nRouter table, no exceptions
LLM traffic uses virtual keys only
Framework status (SOC 2, GDPR, HIPAA, PCI) lives on the compliance page; documents and posture on the trust center.
Auth checks, tenant scope, credit reservation, and guardrails all execute in-path before any request reaches a provider.
Request flow
Client / SDK
Bearer sk-nrouter-…
Only virtual keys leave the client; master keys never ship.
Frontend (Next.js)
Azure Container Apps
Server actions add auth + RLS scope before forwarding.
nRouter Backend
nRouter
Auth, credit reserve, guardrails, observability — in path.
nRouter routing core
Routing engine
Cost & usage tracking, rate limits, provider fallback chains.
Provider
Vertex / Anthropic / OpenAI
Outbound traffic only; no inbound provider calls.
The nRouter routing core is fully managed. Every request is authed, scoped, and guardrailed before it reaches a provider, with nothing for you to harden.
Full security posture from day one. No enterprise tier required for SSO, audit logs, or active guardrails.
TLS 1.2+ with HSTS preload and AES-256 storage. Virtual keys are SHA-256 hashed on creation—plaintext is shown once and never stored.
Postgres Row-Level Security on every table scoped by organization. Cross-tenant reads are blocked at the database layer.
Customer traffic uses virtual keys with per-key spend caps, rate limits, and instant revocation. Master keys never touch client code.
Auth, tenant scoping, guardrails, and credit reserve+settle run on every request before reaching any model provider.
PII redaction, prompt injection defense, secret scanning, abuse blocking, and output scanning included at zero extra cost.
Append-only audit logs for all administrative actions, key changes, and budget events with actor, IP, and timestamp.
Multi-tenancy enforced at the database layer. Even with application bugs, the database refuses to return rows from another tenant.
Tenant isolation
Every record is scoped to your organization, and Row-Level Security enforces that boundary at the database itself. A query against the wrong tenant returns zero rows. There is no mapping table to drift, no sync layer to compromise.
RLS policy spot-check
Every request reserves credits prior to forwarding and settles against provider usage. Failures automatically release reservations.
Reserve + settle
The credit ledger applies every increment/decrement atomically, so concurrent writes never race. Webhooks are idempotent on Stripe event id. Reservations expire automatically if a request never settles.
Money-safety invariants
Engineering principle
Built audit-ready from day one. Not retrofitted before a procurement call.
RLS, virtual keys, master-key isolation, reserve+settle credit safety, and the audit trail are non-negotiable invariants in our platform, enforced by tests that block merges, not by promises on sales calls.
Customer data resides in encrypted managed Postgres. US default; EU, UK, Canada, Australia, Singapore, and India available on request.
The default US region is Azure East US (Virginia). EU residency is pinned on request for Enterprise, with Supabase Postgres co-located and subprocessors signed under EU SCCs. Need a region pinned? sales@nrouter.ai.
Predictable timeouts, transparent token rotation, and instant device revocation.
Idle timeout (30m default). Inactive sessions warn at 25 minutes and force re-auth at 30. Configurable per-org on Enterprise.
Refresh-token rotation. Tokens rotate on every use. Replaced tokens are immediately invalidated across all active sessions.
Device management. Account settings list active sessions by device, OS, and IP with one-click revocation.
Session vs API key. Dashboard sessions only sign management calls. All LLM requests require scoped, budget-capped virtual keys.
We acknowledge reports within 48 hours and resolve critical issues within 7 days under coordinated disclosure.
All customer data lives in managed Postgres (Supabase) with at-rest encryption, replicated within a single region. United States is the default footprint. EU residency is generally available on Enterprise; the UK, Canada, Australia, Singapore, and India are available on request for residency-sensitive workloads. We do not move tenant data across regions without an explicit migration request.
Not yet — and we will not say "certified" until the report is signed. nRouter operates SOC 2-aligned controls today: encryption, access control, audit logging, change management, and tenant isolation, enforced from day one. A formal SOC 2 Type II observation period is currently underway, with the audited report targeted for Q3 2026. The underlying infrastructure (Microsoft Azure, Supabase) is independently SOC 2 Type II certified. Enterprise customers who need assurance before the report lands can request a controls walkthrough or a completed vendor security questionnaire from security@nrouter.ai.
Every nRouter table has Row-Level Security enabled with policies scoped by organization_id, so a query against the wrong tenant returns zero rows — there is no "leaky path" to fix because the database refuses to return them in the first place.
Virtual keys are tenant-scoped, rate-limited, budget-capped, and observable. Revocation is immediate from the dashboard or API; the in-memory cache invalidation propagates within seconds. Keys are hashed in the database. The plaintext is shown exactly once at creation. The blast radius of a leak is the budget on that single key, not your account.
Yes. PII redaction, prompt injection detection, secret scanning, abuse blocking, and response scanning all run on every request from day one — at zero additional cost. We do not gate safety features behind paid tiers.
Email security@nrouter.ai with details. We acknowledge within 48 hours and aim to resolve critical issues within 7 days. We follow responsible disclosure practices and credit reporters in our changelog when permitted.
Security review · 30 minutes
No NDAs to start, no sales gate. Bring your auditor. They will get the same answers we give the engineering team.