Skip to content
Platform status · live checks

Security · Posture

Small surface. Sharp edges.

We optimise for the smallest number of moving parts that can serve inference safely. Private gateway, hashed keys, short subprocessor list and an audit trail for every mutation.

Gateway exposurePrivate
Prompt storageNone by default
Sales regionEU only

01 / Controls

What is true today.

These are implemented controls, not a certification claim. The roadmap below separates them from what is still in progress.

01
Least privilege by default
Separate database roles for the app, read paths, routing and usage sync. No public path reaches a model host directly. Operator access is individual and audited.
02
Secrets stay server-side
The gateway master key and provider credentials never enter a client bundle. Customer keys are hashed at rest and shown once. Environment files are mode 0600.
03
Hardened ingress
CSP, HSTS, frame denial, referrer policy, origin checks on mutations and body caps. Only 80/443 are public. Routing and data services stay on a private network, and GPU hosts expose no public port.
04
Authenticated by default
Argon2id passwords, opaque hashed sessions, TOTP for staff and organisation switch checks. Email verification and per-IP throttles gate abuse.
05
Money is append-only
Wallet changes share a transaction with row locks. Ledger entries never update. Payment events require a Stripe signature and idempotency key.
06
Evidence, not adjectives
Every mutation is audited with actor, target and IP. Backups are encrypted and restore-drilled monthly. Incidents and maintenance are published.

02 / Assurance

What is still ahead.

A roadmap is only useful if it names state. We publish progress monthly in the trust notes and will not call a certification done before the audit closes.

Security certification roadmap with current state
ItemStateDetail
ISO 27001 readinessIn progressControl mapping and internal audit before certification.
SOC 2 Type IIPlannedTarget audit window after the first committed enterprise cohort.
NIS2 alignmentIn progressSupplier, incident and continuity duties mapped to the Danish regime.
Penetration testPlannedExternal test before general availability, then annually.
Public trust portalPlannedSubprocessor notices, DPA downloads and control evidence.

Last reviewed 25 October 2026 · MVP scope

03 / Disclosure

Found something. Tell us quietly.

Do not open a public issue for an unpatched problem. Send the surface, reproduction and impact.

Good-faith research is welcome. We will not pursue action for accidental scope creep if you stop at the first readable record, do not degrade service and give us a reasonable window before publication.

  • Out of scope: volumetric DoS, missing DNS records, social engineering.
  • Include a request ID where the portal exposes one.
  • We coordinate disclosure and credit unless you prefer otherwise.
Email security@mainai.dk

Security questions

Do you store prompts?

No. Prompt and completion bodies transit memory and are not written to the portal database. We store token counts, cache counts, latency, status and a request ID for metering.

Where does inference run?

On EU-hosted GPUs inside our trust boundary. Calls enter an EU ingress and reach model hosts over a private network; tunnel and firewall-lock options are available by agreement. No US control plane is in the request path.

Can I bring my own keys or KMS?

Enterprise deployments can bring a KMS for key wrapping and a dedicated gateway secret set. BYOK for upstream providers is available on isolated deployments.

How do I report a vulnerability?

Email security@mainai.dk with the affected surface, a reproduction and impact. Do not open public issues for unpatched problems. We acknowledge within two business days.

Need the written control set for procurement?