Sovereign by design
Self-hosted or air-gapped. Same platform.
Cycloid runs where your data has to stay, self-hosted, air-gapped or on your own cloud. European, open, and yours to keep.
The real constraint
Where you run it isn't a detail
For a lot of teams the platform can’t just live on someone else’s cloud. Data has a location, the environment is hardened, and the contract has to be one you can leave. Most developer platforms treat all three as an afterthought.
Your data has a location
Regulation, residency or plain policy means some of it can’t leave the country, the building or the network. A SaaS-only platform can’t answer that.
Hardened environments reject the usual tricks
CIS benchmarks, PCI-DSS, SOC 2, air-gapped networks – none of them grant privileged containers or Docker-in-Docker to a platform that demands them.
Lock-in is a board-level risk
Proprietary state you can’t read and a vendor you can’t leave are a liability the people signing the contract have to account for.
Cycloid for your team
What sovereignty means for each reader
Run it where your rules say
it must live
The problem
On-prem, air-gapped or a specific region – the platform has to run where policy says, not where a vendor prefers.
With Cycloid
docker compose up brings the whole stack, non-privileged. Kubernetes when you need it. Upgrades on your schedule.
The outcome
You run the platform end to end, with no exception carved out for the hard environments.
Self-service that doesn't stop
at the security boundary
The problem
Locked-down and air-gapped environments usually mean no self-service at all.
With Cycloid
The same catalog, Forms and golden paths, whether you’re on a hyperscaler or behind an air gap.
The outcome
You deploy the same way everywhere, with no ticket for the secure estate.
A compliance posture you own
The problem
Data residency, compliance and vendor lock-in are yours to answer for, to auditors and to the board.
With Cycloid
European, self-hosted or sovereign, open formats, Made in France. ISO 27001 certified, B Corp.
The outcome
Sovereignty and open formats you can point to, with no lock-in to explain later.
How it works
One file brings up the whole platform
01 · Pull the images
Standard public containers, or OCI tarballs loaded into your own registry when you’re air-gapped. No custom kernel modules, no host daemons.
02 · docker compose up
Five standard, non-privileged containers come up together. That’s what lets it run under CIS, PCI-DSS, SOC 2 or a full air gap.
03 · Migrations run themselves
They apply on startup, with a lock so concurrent instances wait rather than collide.
04 · Health check clears traffic
The instance serves only once migrations confirm. If one fails, it holds, and you go back to the previous image tag.
05 · Upgrade when you choose
No forced updates. docker compose pull takes you to the new version, with a dry run and a pre-migration backup hook.
It’s the same product on every tier. Docker Compose for an evaluation or a small team, Kubernetes with a Helm chart for production, or our SaaS if you’d rather we ran it. The images you self-host are the ones we run. Air-gapped really means air-gapped: the licence verifies offline against a bundled key, and the instance serves its own documentation. Tiers and upgrades are in the self-hosting docs.
Open and yours
Open formats. Zero lock-in.
ISO 27001
Certified
B Corp
95 score at B Lab
Made in France
European by design
Open source
TerraCognita and InfraMap
Does this instance call out to a hosted model?

No. This instance is configured against your inference server at inference.internal, and the docs I answer from came with your release.
Working with your assistant
Your assistant runs on your hardware, too
Does the assistant get its own permissions?
No. There’s no service account and no elevated assistant role. If you can’t deploy to production, neither can the assistant you’re talking to, in Cycloid’s own assistant or any compliant MCP host.
The assistant runs in-process inside the application server. No extra container, no hosted control plane, no new network flow. Self-hosted, you point it at any endpoint that speaks the standard chat-completions API, including a local inference server on your own hardware.
Its documentation answers come from an index built with the release and packaged inside it. So an air-gapped instance answers from the docs that match the software it’s running, and nothing leaves the network.
Frequently asked questions
Yes. Nothing at runtime depends on Cycloid or the internet. Images load from OCI tarballs into your own registry, the licence checks offline against a bundled key, and the docs are served by the instance itself.
Yes. One product on three tiers: Docker Compose, Kubernetes or our cloud. The SaaS runs the same images we hand you, so you can move between tiers later without changing platforms.
No. Every container in the platform stack runs non-privileged. No Docker-in-Docker and no elevated kernel capabilities, which is why hardened environments can actually run it as it comes.
Wherever you put it. Your servers, your cloud, your region. Self-hosted or air-gapped, Cycloid never holds a copy, and your IaC stays in Terraform, Ansible and Helm, formats you already own.
Run it where it has to run
Self-hosted, air-gapped, or on your cloud. Tell us your constraints and we’ll show you the deployment that fits, in twenty minutes.



