/ trust centrearchitecture · privacy · sovereignty

Built like a bank. Hosted like one too.

An identity-governance platform has to hold itself to its own standard. NDGM runs on single-tenant, dedicated infrastructure in the UK — one compute boundary, your data, our hardware. Here's exactly how it's built.

/ 01Architecture

One compute boundary

Traffic enters through Cloudflare for TLS and DDoS protection, then terminates on dedicated NDGM hardware. There is no shared multi-tenant cloud plane — your estate's data lives on infrastructure scoped to NDGM, in the UK.

Crucially, the AI runs on the same boundary — a locally-hosted model on our own GPU. No customer data is sent to a third-party AI provider, ever.

stack / dedicated infrastructure
EdgeCloudflare · TLS · DDoS · WAF
API & Web UIJWT · RBAC
DatabasePostgres · RLS by org_id
Evidence storeMinIO · object storage
AI inferenceOllama · open models · local GPU
ObservabilityOpenTelemetry · Tempo · Grafana
NotificationsScaleway TEM · outbound only
/ 02Three boundaries
Tenant
Row-level security

Every database query is scoped to a single org_id by Postgres row-level security. Isolation is enforced at the data layer, not in application code.

Role
Five-role RBAC

super_admin, org_admin, reviewer, auditor and viewer. Each role sees and does exactly what its mandate allows — auditors read, they don't change.

Action
Paired audit on every write

No state changes without a record. Every write emits a matching audit event — actor, target, timestamp and metadata.

/ 03Evidence & AI privacy
Dual-write evidence

Every governance decision writes two records at once — a checksummed evidence item and an immutable audit event. Tamper-evident by construction, reproducible at audit time.

EvidenceItem
sha256 · size_bytes
AuditEvent
actor · target · timestamp · metadata
AI that stays inside

Reeve's reasoning runs on open models (Mistral Small, Phi‑4) served via Ollama, hosted on our own GPU. There is no OpenAI, Anthropic or Google in the loop. Every model interaction is token-attributed through OpenTelemetry, and decision reasoning chains are stored so each recommendation is explainable.

No third-party AI providers
Token attribution via OpenTelemetry
Explainable, stored reasoning chains
/ 04Compliance — honestly

We publish our real status, not aspirational badges. Here's where each control and framework actually stands.

ControlDetailStatus
MFATOTP with 10 bcrypt-hashed backup codesImplemented
Endpoint hardeningHSTS preload, rate limiting, JWT revocation by jti, Origin/Referer checksImplemented
DORAMapped to Articles 5, 9, 10, 16, 28Mapped
NIS2Control mapping completeMapped
Encryption at restPostgres native + MinIO SSE; KMS key rotation under reviewIn progress
DKIMSPF and DMARC published; DKIM signing in progressIn progress
Penetration testInternal AI-assisted red team complete; independent human-led on roadmapIn progress
SOC 2 Type IIControls designed to CC6.1–CC7.2In preparation
ISO 27001:2022A.5.15–A.8.3 mapped; Stage 1 scheduledIn preparation
SSO / SAMLJWT HttpOnly Secure SameSite=Lax (15-min access, 7-day refresh); SAML/OIDC on roadmapPlanned
/ 05Vulnerability disclosure

Found something? Tell us.

Report security issues to [email protected]. We acknowledge within one business day, aim to patch critical issues within seven days, and will credit you if you'd like. A PGP key is coming; there's no formal bounty yet, but we reward meaningful reports case by case.

A machine-readable /.well-known/security.txt (RFC 9116) is published.

Acknowledge1 business day
Patch criticalwithin 7 days
Hosting regionUnited Kingdom

Questions for our security team?

We're happy to walk your auditors and risk team through the architecture, the evidence model and our subprocessors.

NDGM

Closed-loop identity governance. Built & hosted in the United Kingdom.

© 2026 NDGM · United Kingdom[email protected]

NDGM is a trading name of Agile Tech Global Solutions Limited, registered in England and Wales (company no. 14654678). Registered office: 27 Old Gloucester Street, London, WC1N 3AX. VAT registration no. GB 486 3793 36.