DCS Labs · Technology · Sovereign Deployment

Customer-hosted R-Series. For local AI workflows.

DCS is developing a customer-hosted deployment of R-Series for local AI workflows, with work focused on governed execution, offline evidence verification and independently tested deployment controls. It is a way to run R-Series inside an environment the customer controls, not a separate product.

Status In development
Evidence Ed25519 + ML-DSA-65, both required
First build One host · one Compose package
01 In five lines

What it is, and what it is not yet.

01 · STATUS

In development

There is no defence accreditation and no production-availability claim. Nothing built so far is evidence from target hardware.

02 · INTENDED USE

Local models, internal workflows

Approved local models and internal workflows, on infrastructure the customer controls.

03 · WHAT EXISTS

A development build

A single-host package is being built: a local inference gateway, a boundary guard, host network rules and an offline verifier, with the R-Series engine issuing every receipt.

04 · GATES AHEAD

Install, keys, isolation, review

Integrated install, key custody, isolation and failure tests, and independent review are still ahead.

05 · ENQUIRY

A named use case

An evaluation starts from a named use case, its data classification and the infrastructure. No government approval is promised.

02 Who does what

One engine. The deployment adds no cryptography of its own.

R-SERIES

Evidence

Receipt format, signing, trust and evidence verification. Every receipt is issued by the R-Series engine.

CONNECTOR OS

Governed actions

Authorisation, approvals and connector execution: which action may run, and against which approved system.

SOVEREIGN DEPLOYMENT

The local package

The local inference gateway, installation, the network and host boundary, and offline dependencies.

The package has no receipt core and no cryptography of its own. Atlas, for local evidence search and export, is a separate capability. Connector OS · Atlas · How proof works

03 The cycle, end to end

From an imported package to a receipt checked offline.

Four stages, all inside the customer’s environment.

01 · INSTALL

Imported offline

Images, model artefacts and the verifier arrive as a release that the operator imports and checks by digest. Trust anchors never travel inside a release.

02 · RUN

A governed local task

A request enters through the one inbound port. The local gateway authenticates it, checks it against pinned policy and serves it with a local model only.

03 · RECORD

Evidence written locally

The R-Series engine signs the intent and the outcome. The evidence log keeps them on the customer’s host.

04 · CHECK

Checked offline

The customer checks receipts with the offline verifier: both signatures required, no DCS account, no network.

04 Governed execution

Governed means decided by pinned policy, and stopped on failure.

The local gateway is the only entry point for user requests. It authenticates the user, classifies the task, applies policy, calls the local model and refuses closed on failure.

When this happensWhat the design does
There is no policy object, or the task is unknownDenied. A missing policy means deny, and an unknown or missing classification counts as sensitive.
The request body names a tenantRefused. The tenant comes only from the authenticated credential.
The model times out or returns malformed outputThe task stops with a typed refusal. Nothing is passed through or repaired.
The model or its GPU is unavailableThe sensitive task stops: no other model, no foreign API, no cached answer.
The signer, the evidence log or the disk failsThe action is held. It does not run without a durable intent record, and nothing is reported as success.
A request or a model output contains a URLIt is not fetched, and no redirect is followed.
The host clock is set backNew time-bearing evidence is refused, and the event is recorded as degraded.

Every outcome is written down as it was. Denied, failed and unknown are recorded, never turned into success.

05 The boundary

Deny by default. Start only behind the guard.

The boundary is enforced at the host: an explicit list of approved flows, and host network rules that drop everything else. Application checks are defence in depth only.

Illustration · the boundary01 / 05
01 · THE APPROVED LIST

One pinned list of exact flows.

Each approved destination is an exact address, protocol and port, fixed when the configuration is built. Hostname patterns and “private range means local” rules are not allowed. A flow that is not on the list is not allowed.

02 · HOST RULES

Both IP families, every container.

Host network rules for IPv4 and IPv6 drop everything that is not on the list, for every container, not only the gateway. Closing IPv4 never implies that IPv6 is closed.

03 · GUARDED START

The package starts only through its boundary guard.

Before a start, the guard compares the host rules with the expected form for the mode and checks the engine settings. With rules absent, partial or for the wrong mode, it refuses, and nothing with a route runs. A direct start without the guard’s fresh start token is refused.

04 · WATCH AND STOP

Drift stops the stack.

While the stack runs, the guard keeps checking. If the rules change or a start bypasses it, it stops the stack, removes the routed networks and writes a typed record.

05 · OUT OF SCOPE

What the boundary does not cover.

Host-administrator compromise is out of scope: root on the host can disable enforcement and forge records. Host captures and guard records are only as trustworthy as the host administrator.

The boundary rests on host enforcement, so it is described for one host, and for its tested build and configuration only.

06 What the boundary must deny

Every route out, named and denied.

PathWhat the design requires
External API callsDenied by default on output and forward, for IPv4 and IPv6 literals, hostnames and any port.
DNSOnly the declared resolver, and only for the declared internal zone. Nothing is forwarded.
Proxies and URL fetchesNo proxy settings in the containers, and services built with fetch-by-URL turned off.
Redirects and rebindingRedirects out of the approved set are not followed. The rules allow addresses, not names.
Update agentsNo route. Images are referenced by digest and never pulled at start.
TelemetryTurned off in the configuration and denied by the host rules. The switch alone never counts.
The host itselfHost gateway addresses, metadata services and host listeners are denied to containers.
Socket and privilege bypassNo engine socket in any container, no privileged mode, no host networking.
Other containers on the hostTraffic between the project’s networks and every other bridge is dropped in both directions.
NO OBSERVATION IS NOT PROOF

An empty egress log is reported as insufficient evidence, never as no egress. Absence of egress is claimed only from the bracketed test procedure, within its interval.

07 Evidence, written locally

Signed by the engine. Kept on the customer’s host.

EVIDENCE PATH

Every receipt comes from the engine

The engine issues every receipt, and a durable outbox and an append-only evidence log keep them on the customer’s host. Signing requests reach the customer’s key system through an interface.

  • Standard profile: Ed25519 + ML-DSA-65, both signatures required. A higher profile with ML-DSA-87 is in development.
  • The intent is persisted before an irreversible action, and outcomes are recorded as planned, executed, denied, failed or unknown
  • A deployment attestation signs every field and is labelled a software observation, not hardware attestation
  • Every record carries the label “local clock, operator-set, independence not established”

In development

08 Offline verification

Checked inside the boundary, without DCS.

The customer checks receipts with the offline verifier: the R-Series SDK, both signature legs required, no DCS account and no network.

The keys it trusts come from pins taken out of band, never from the bundle being checked. A bundle that carries its own pins is refused.

A dedicated offline verifier with a pinned trust bundle is in development, and will replace the SDK verifier.

TRUST ROLES

Three roles, held apart

A trust bundle gives every anchor exactly one role: trust-update, release or evidence-issuer. The trust-update role is held by the buyer, never by DCS.

RELEASES

A release cannot carry trust

A DCS release is checked against the pinned release anchors and carries no anchors of its own. A release that does is refused as a whole.

FRESHNESS

Stale is reported as stale

A bundle older than its maximum age, or revocation data older than its limit, is reported stale, never valid as current.

09 Two modes, as designed

Disconnected and Connected private: two boundaries, not one with exceptions.

The mode is a deployment choice fixed in pinned configuration. A mode change is a recorded redeploy, never a runtime switch.

TopicDisconnected, as designedConnected private, as designed
RoutesNo external routes, shown only for a named build, configuration and test interval.The same, plus declared external destinations as exact tuples, reached only through a logging egress proxy.
SigningA local signer or the customer’s key system. A cloud key service cannot be required.A cloud key service or remote HSM only if declared. The provider is then inside the trust boundary for key use.
TimeThe local clock, labelled with its assurance. Later export or anchoring cannot create independent event time.An external time source or witness only if declared, labelled with the provider.
Trust bundleLocal, with a pinned maximum age. Until the buyer sets it, the bundle is reported stale, never fresh.The same.
RevocationCan be stale up to the pinned limit. Beyond it, the verifier reports stale.The same.
ConnectorsApproved internal systems only. No public connectors.Declared external destinations only, each tested or accepted in writing by the buyer.
UpdatesOffline import only, recorded. No remote access by DCS.Offline import by default. A customer-operated mirror only if declared. DCS is never a destination.

In development “Disconnected” and “Connected private” are names for the two modes, not property claims. The first package targets the Disconnected mode, and the egress proxy for Connected private is not built yet.

10 The key boundary

An interface for the customer’s key system.

IN THE DESIGN

What is fixed

  • Customer-held keys are the intended control model: the private key is meant never to leave the key system or the local signer, and every use is recorded
  • In the Disconnected mode, a cloud key service cannot be required
  • ML-DSA-87 support in a customer HSM must be checked with the vendor on the target, not assumed; if it is missing, that is a stop, not a downgrade
  • A key held by DCS can hold only the release role, and cannot sign a trust update
BEING DEFINED

What comes next

  • Where tenant data keys are generated, used and wrapped, and which software copies may exist, and for how long
  • Erasure on real custody: destruction recorded before it is claimed, with known exclusions such as backups and exported copies
  • Channel protection between the services inside the host
  • Tests on a test key-service double are marked as not hardware evidence

The current development build uses test keys generated for each run. Production custody is not built yet.

11 How denial is shown

Reachable before. Unreachable after. Reachable again.

“Unreachable” only means something if the same probe would have reached the same place without enforcement. So every negative result is bracketed by positive controls.

BEFORE · CONTROL

The canaries answer

Controlled canary services on a lab network must be reached from every service while the package rules are off. The public internet is never used as a canary.

DURING · ENFORCEMENT

Nothing gets out

With the shipped configuration started through the guard, no canary may record a hit, while every approved flow still works.

AFTER · CONTROL

The canaries answer again

The opening control is repeated at the end. If a control fails, the result is inconclusive, never a pass.

Every result is bound to the build, the configuration and the test interval. Without all three it cannot support a pass, and a failure is never deleted.

12 Out of scope

What this does not defend, stated plainly.

Not defendedWhat the evidence must not claim
Host-administrator compromiseThat host captures, rule dumps or guard records are independent of the host.
Physical access to the deviceAnything about hardware tamper resistance.
The supply chain beyond pinned digestsThat a pinned component is free of vulnerabilities or backdoors.
Hypervisor, firmware and CPU side channelsHardware isolation of any kind.
Data sent to an approved destinationThat data cannot leave through an approved flow.
The customer’s network beyond the hostAnything about the wider network. The tests observe at the host only.
A determined local attacker exhausting resourcesAvailability.
Legal or regulatory determinationAny regulatory status.
A malicious operator without rootThat the package prevents misuse by its operator. Actions are recorded, which supports detection only.

A first pilot is planned for non-classified data only.

13 The pilot, as planned

One customer. One environment. One model. One workflow.

This is the planned process for a first pilot. It has not run yet.

Illustration · the planned pilot01 / 07
01 · ROLES

A sponsor and a security owner.

The buyer names a sponsor and a security owner, the workload, its data classification and the infrastructure owner.

02 · THREAT MODEL FIRST

Agreed before any proof is designed.

The threat and data-flow model and the acceptance criteria are agreed with the buyer before proof design. The buyer’s security owner accepts the model.

03 · ONE OF EACH

A deliberately narrow scope.

One customer, one environment, one model and one workflow, on non-classified data, on a single-node platform.

04 · PROOFS ON THE TARGET

The exact build, on the target hardware.

Offline install, run and restart with external routes unavailable. Denial shown with reachable canaries and positive controls for every service, both IP families and the DNS, proxy, redirect and update paths. Model, signer, storage and disk failures. Stale trust and clock rollback refused. Every capture and configuration is bound to the build, the configuration and the interval.

05 · SCOPED EVIDENCE

For that build and environment. Never universal.

The evidence states what was shown, for that build and that environment only. It never claims universal denial.

06 · CUSTOMER CHECK

The customer runs the verifier.

The acceptance pack includes customer-run offline verification and an independent review of the deployed version, with an operator runbook, restore and rollback, admin separation, and an SBOM and CBOM.

07 · SIGN-OFF

The buyer and DCS sign off.

Acceptance is a buyer and DCS sign-off record. It is not a certification badge.

14 The gates still ahead

What has to happen before a pilot.

  1. 01Threat model accepted by the buyer’s security ownerWritten · buyer acceptance ahead
  2. 02Single-host packageIn development
  3. 03Key boundary, tenant vault and modes enforcedBeing defined
  4. 04Egress proxy for Connected privateDesigned · not built
  5. 05Offline verifier with a pinned trust bundleIn development
  6. 06Proofs on target hardwareNot started · target hardware not chosen
  7. 07Independent review and pilot acceptanceAhead

Status as of 31 October 2026: In development. The customer-hosted package is built and is in independent review. Receipt V2 revision 7 was issued on 30 October 2026. Evidence Contract v1 was signed with conditions by the programme’s cryptography lead on 30 October 2026. Every statement on this page is drawn from the claim register of that date.

15 Questions

What people ask about Sovereign Deployment.

Is this air-gapped?

We do not describe it that way. The design is a boundary on one customer-controlled host: deny-by-default egress through an approved list and host network rules, a guarded start, and evidence that is checked offline. Any statement about the boundary will be scoped to a tested build, configuration and environment.

Does anything go back to DCS?

Not by design. DCS has no runtime route, account, remote access, telemetry or update channel, and is never a declared destination. Releases are imported offline by the operator and checked by digest.

Which model can we run?

An approved local model, pinned by content digest and loaded from a local volume. Pinning shows which bytes are running, not that they are benign.

What happens if the model fails?

The sensitive task stops. The gateway calls no other model, uses no foreign API and returns no cached answer, and the stop is recorded.

Who holds the signing keys?

The design gives the customer’s key system an interface and keeps customer-held keys as the intended control model. Where keys are generated, used and wrapped is being defined, and the development build uses test keys only.

Can we check the evidence without DCS?

That is the design: the offline verifier needs no DCS account and no network, takes its trust pins out of band, and requires both signatures.

Does it give us a regulatory status?

No. It makes no hardware, availability or regulatory claim. Its evidence can support your own control mapping.

Can we start a pilot?

It is in development. A first pilot will be one customer, one environment, one model and one workflow on non-classified data, with acceptance criteria agreed with your security owner first. Start with an evaluation enquiry: your use case, data classification and infrastructure.

One host. One boundary. Evidence checked offline.

Sovereign Deployment is in development. If you have a named use case, tell us about it.