Skip to main content

Architecture

Authoritative reference: docs/platform/architecture. This handbook page summarises the system from a developer's vantage point.

Bounded contexts

Noxys is decomposed into bounded contexts, each owned by a repo:

ContextOwner repoResponsibility
Detectionnoxys-extensionIn-browser Tier 1 Risk Signal detection (MV3 service worker)
Backend detectionnoxys-apiTier 2 (Presidio) + Tier 3 (async SLM) detection
Policynoxys-apiPolicy evaluation, action enforcement, default-deny logic
Catalognoxys-api + noxys-consoleAI service catalog (sanctioned / under review / blocked)
Consolenoxys-consoleAdmin SaaS — IAM, policies, alerts, audit, reporting
Customer documentationnoxys-docdoc.noxys.cloud (this site)
Marketingnoxys-websitenoxys.eu marketing + ADR registry
Infrastructurenoxys-infraTerraform + Ansible for VPS / staging / production

Data flow (happy path)

[Browser]                            [Backend]                       [Storage]
prompt
+-----------+ ────────────► +------------------+ metadata +-----------+
| extension |─Tier 1 detect─►| FastAPI / Node |─────────────► | Postgres |
| MV3 sw |◄ allow/coach ──| policy engine | redacted | (RGPD- |
+-----------+ /block +------------------+ prompt | scoped) |
│ +-----------+
│ events

[Console]
alerts UI

Key invariants:

  1. The extension does not send raw prompts to the backend by default — only redacted text + structured metadata.
  2. The backend never stores raw prompts unless the tenant has opted-in (per-tenant KMS).
  3. Policy evaluation is deterministic — given the same inputs, the same decision must result. No flaky model calls in the critical path.

Three deployment methods (hard-scoped)

We support exactly three deployment methods. Proposals for a fourth must be rejected unless they fold into one of these.

  1. Browser extension — primary method, Chrome/Edge/Firefox via MV3.
  2. Endpoint agent — for sanctioned-only enterprise environments where extensions are not deployable.
  3. Network proxy — for SaaS-only enterprises that intercept egress at the perimeter.

See ADR-008 (deployment methods).

Detection tiers

TierWhereTechLatency target
Tier 1Extension service workerRegex + JS pattern matching<10ms
Tier 2Backend, syncPresidio + custom recognizers<100ms
Tier 3Backend, asyncSelf-hosted SLM (LLM-as-judge)<2s

Tier 1 detections gate the user-facing coaching flow; Tier 2 produces the persistent audit record; Tier 3 produces high-confidence labels for trend reporting and triage.

Storage classes (prompt persistence)

Per the pricing tiers memo and transparency report, prompts can be stored in 4 classes:

ClassDescriptionDefault for
aggregateCounts only, never the promptFree
hashedSHA-256 of prompt + signal categoryFree
redactedPrompt with Risk Signals replaced by tokensPro / Ent
rawFull original prompt, KMS-encryptedEnt on request, opt-in only

Cross-cutting

  • Authentication: OIDC (Microsoft Entra ID, Google Workspace) via SSO.
  • Authorization: role-based (Admin / Viewer) — see console docs.
  • Audit: every admin action emits an audit event (24-month retention per ADR-013).
  • Telemetry: Sentry for errors; OpenTelemetry for tracing — no PII in spans.
  • i18n: EN canonical, FR sibling files for customer-facing docs (-fr.md suffix).

Diagrams

Authoritative diagrams live in noxys-website/docs/architecture/. This page intentionally does not duplicate them — it links to them so they have one canonical version.

  • High-level system diagram → noxys-website/docs/architecture/system-overview.md
  • Detection pipeline → noxys-website/docs/architecture/detection-pipeline.md
  • Data flow + storage → noxys-website/docs/architecture/data-flow.md