What leaves your deployment

One request leaves.Your data doesn’t.

The receiver makes one HTTPS GET to the registry every six hours. It carries exactly three parameters, plus a random per-install deployment ID. Hover over or tap a parameter.

Out · every six hours
GETregistry.nyxus.co.uk/subscription
id · subscription referenceWhich subscription this deployment belongs to. For example, NYX-0007.
Never in it:findingsdevicespeopletool namescountstelemetryusage data
Back · signed
licence status · Ed25519-signed · bound to the nonce
signed responseThe answer is signed and bound to the nonce. An endpoint impersonating the registry cannot claim a licence is active.
What the product collects

Who, what, where.Never what was said.

A finding records that an AI tool is in use, where and by whom. It never records what anybody did with it.

In a finding
  • Tool namescollected
  • Usernamescollected
  • Account domainscollected
  • Device serialscollected
  • Evidence pathscollected
Never in a finding
  • Message contentnever
  • File contentnever
  • Credentialsnever

The portal joins observations into a more sensitive picture: “this person uses these six tools across these three machines, two on personal accounts”. That picture is more sensitive than any single finding, which is why the portal authenticates.

The identity map associates named people with machines. It is supplied by the deployer, rather than derived, and deserves the same care as the log store.

Where data lives

In your cluster.For as long as you say.

Nyxus is self-hosted. It writes findings to your log store and reads them back, and keeps no copy of its own. Retention is yours to set.

Secrets at rest
01Passwordsscrypt, salted per password.
02Bearer and API tokensStored as SHA-256 hashes, never in the clear.
03Vendor seat-sync keyHeld readable, so the sync can present it. See the limits
Your log storeLoki

Findings. Nyxus reads them back and never keeps its own copy. They are kept as long as your log store keeps them.

Receiver databaseSQLite

Decisions, credential hashes, integration secrets, the discovery queue and the audit trail. Never a finding. Estate history is kept for 400 days by default; the audit trail is never deleted. Encrypted at rest by your storage class.

BackupsAES-256-GCM

Under a key you generate and hold outside the cluster. Without a key, nothing is backed up.

NyxusNothing

Nothing from your estate. It receives only the licence check above: no findings, no telemetry, no usage data.

Access and audit

Every change recorded.Nothing deletes it.

The portal is where the joined-up picture lives, so it authenticates, and every change made through it is recorded.

Signing in · a deployment picks one
01Local accountsUsernames with scrypt-hashed passwords. The first owner is created from a one-time setup code the receiver prints to its log on a fresh install.
02Single sign-onOpenID Connect with PKCE, documented against Microsoft Entra. It stays off until a test sign-in succeeds, so a misconfiguration can’t lock you out. Where one deployment serves several companies, each signs in through its own provider.
03Behind your proxyNo portal authentication, for deployments behind a proxy that already authenticates (OIDC or mTLS). The portal warns on every start in this mode.
04API tokensAPI reads use separate bearer tokens, scoped to read and individually revocable.
Audit trail100+

Distinct kinds of event. Every action that changes the deployment is recorded.

In each entryIdentifiers

Never secrets. That is enforced where each entry is written.

RetentionNever deleted

Nothing in the product deletes from it. Exports are CSV, capped at 20,000 rows: a truncated export that looks complete is worse than none.

For auditorsRead-only

A team-viewer account can read the trail and change nothing.

Licensing

Verified offline.Patient through outages.

Licence keys are claims signed with Ed25519. No network call decides whether a key is genuine, and an air-gapped deployment reads its own key correctly.

Offline signature verification is distinct from the six-hourly subscription check and its grace period.

How a key is checked
01Private key signsIt is held on one machine, outside every repository and CI system.
02Public key is compiled inThe receiver holds only the public half, in the image. It is deliberately not configurable through the environment: a deployment that could choose its verifying key could mint itself a licence.
03Receiver checks offlineThe signature is checked arithmetically, air-gapped deployments included.
If the registry is unreachableDays without an answer · drag to change
14 days
Within 14 daysCollection carries on.

The last day before new findings and enrolments pause.

After day 14New collection pauses.

New findings and new enrolments pause after fourteen days.

ThroughoutExisting evidence stays accessible.

Everything already collected stays readable. The portal keeps working.

A licence question should not take your estate offline before somebody has had a chance to answer it.

Supply chain

Signed and pinned.Check before you install.

Every image and the chart are signed with cosign and carry an SBOM. The chart pins both images by digest for its release, so moving a tag cannot swap the bytes underneath an install.

With every release
01Signaturescosign, on every image and the Helm chart.
02SBOMSPDX, with every image and the chart.
03ProvenanceSLSA v1.
04PinningBoth images pinned by digest in the chart.
05RegistryPrivate and licensed. Anonymous pulls are refused.
06RevocationA revoked licence takes effect within seconds.
Verify a release

Signing does not use a public transparency log; the signature is still verified against the key. Obtain the published image-signing public key, save it as nyxus-images.pub, and sign in to the registry as for an installation.

Replace RELEASE with the release you are verifying. The flag skips the transparency-log lookup; it does not skip verification of the signature against the key.

Terminal
cosign verify --key nyxus-images.pub --insecure-ignore-tlog=true \  registry.nyxus.co.uk/nyxus-enterprise/receiver:RELEASE cosign verify --key nyxus-images.pub --insecure-ignore-tlog=true \  registry.nyxus.co.uk/nyxus-enterprise/charts/nyxus:RELEASE
What Nyxus does not claim

What we don’t claim.Said before you ask.

Nyxus is a small, self-hosted product and says so rather than implying otherwise. These are the limits a security review should know about up front.

01
No SOC 2 report, no ISO certificationNyxus maps controls for EU AI Act, ISO/IEC 42001, NIST AI RMF, ISO/IEC 27001 and SOC 2. Nyxus does not hold certification against these frameworks.
02
One shared token for collectorsCollectors authenticate to the receiver with a single shared bearer token, distributed through your MDM. Any holder can submit findings, including false ones: the receiver validates shape rather than truth.Enrollment tokens are per rollout, and revocable one rollout at a time.
03
One key is held readableAn API key saved for vendor seat sync is stored in a form the receiver can read, because it has to present it.If that is not acceptable, leave those connections unset and import seats by CSV.
04
Encryption at rest is your storage’sThe receiver’s database is SQLite on a volume you provide. Nyxus does not encrypt the file itself.Confirm your cluster encrypts volumes; most do by default.
Reporting a vulnerability

Found something?
Tell us first.

Email support@nyxus.co.uk with “security” in the subject; it is read before anything else in that mailbox. Say what you did, what happened and what you expected. A proof of concept helps, but a clear description matters more.

No PGP key is published. If something should not sit in a mailbox in the clear, send a first mail with no detail and we will agree a channel.