Skip to main content
CID222 Docs

Requirements and sizing

Memory, CPU, disk and GPU per package, the hypervisors CID222 runs on, and what the installer's own resource check enforces.

  • Version: 0.4
  • Role: admin_user

CID222 ships as one virtual appliance and one build. The licence file, not the image, decides which package you run, so sizing is a question about the host, not about the tier you bought. This page gives the numbers to allocate before you import anything.

The problem

Undersizing is the most common cause of a failed evaluation, and it does not fail where you are looking. Every container pulls and starts, the dashboard comes up, and an hour later services are killed one at a time as memory runs out — the console reports 2/10 running with no explanation. The installer's own comments say exactly this, which is why it now checks memory and disk before it downloads anything.

One build, three packages

Starter, Professional and Enterprise are strict supersets of one another. There is only one release image; the .lic file you upload unlocks the package you purchased, so moving up a package is a licence re-issue, never a reinstall.

PackageWhat it adds
StarterThe core detection gateway: chat and proxy traffic, PII, toxicity, jailbreak and injection detection, image OCR, document analysis, redaction, the browser extension, ICAP and inline-proxy inspection, compliance, governance, endpoint-agent fleet administration, and token cost reporting.
ProfessionalEverything in Starter, plus the read-only MCP server and prompt compression (token cost reduction).
EnterpriseEverything in Professional, plus Code Safety, detailed risk analysis, the LLM Risk Analyst and SIEM export.

The exact feature key each tier grants, and what a missing key switches off, is generated from the code in licence tiers and feature keys. Treat that table as authoritative: the package comparison printed in the customer install guide predates several core keys and does not list compliance, governance or endpoint-agent administration at all, although the code grants them to every tier.

Note

Entitlements resolve as the union of the keys named in the licence and the keys of its tier, so a capability added to your tier after your licence was signed activates without a re-issue.

Hardware per package

Every package runs the same container stack, so the supported minimum is the same for all three. What changes with the package is the recommended sizing.

StarterProfessionalEnterprise
RAM — supported minimum32 GB32 GB32 GB
RAM — recommended48 GB64 GB64 GB or more
vCPU88–1616 or more
Disk100 GB150 GB200 GB or more
GPURecommended for document, OCR and image-heavy workloadsSameSame, and Code Safety runs on a separate auditor host, which is the one GPU-bound component

The basis for the 32 GB floor is measurable rather than conventional. The 19 services that start without a compose profile declare 37.6 GB of memory limits between them, six of those services declare no limit at all — so that total is a floor rather than a ceiling — and the full stack was measured running at around 30 GiB. A host with less than roughly 32 GB free after its own overhead cannot run this appliance.

The shipped OVA is pre-sized at 32 GB RAM and 8 vCPU — the supported minimum — so it powers on correctly with no operator arithmetic. Raise it to your package's recommended profile before the first power-on.

Per-service memory limits and published ports are generated from the compose file in services, ports and profiles.

What the GPU buys, and what it does not

A GPU is recommended, never required. It matters only for document, OCR and image-heavy work: PaddleOCR on an NVIDIA card is roughly 3 to 8 times faster per image, and the highest-accuracy OCR engine runs only on a GPU. Text-only evaluation — PII, toxicity, jailbreak and prompt injection — needs no GPU. Hallucination detection and detailed risk analysis are CPU-only builds.

Host prerequisites, when you do add one: Linux, an NVIDIA GPU with driver 530 or later, and the NVIDIA Container Toolkit.

Warning

The appliance image does not ship the GPU overlay. GPU acceleration is a compose overlay in the source deployment; adding it to an appliance is not a supported operation at 0.4. A GPU for a customer's own self-hosted model is a separate question and is not part of this sizing.

Hypervisors

The appliance is delivered as a single .ova file, or as an installer ISO for bare metal and for a virtual machine you build yourself.

HypervisorDeliveryStatus
VMware vSphere / ESXiOVALab-verified. The shipped OVA carries a vmx-14 descriptor, SATA AHCI storage, an E1000 adapter and the "VM Network" port group, so the import wizard maps it without operator input.
Proxmox VEOVAVerified as a platform — CID222's own development deployment runs as a guest on a Proxmox host. Proxmox imports the OVF from the command line rather than from its web interface.
VMware Workstation / Fusion, VirtualBoxOVASupported for evaluation. Set the adapter to NAT so the guest gets DHCP.
Microsoft Hyper-VConverted disk, on requestHyper-V cannot import an OVA. Tell your CID222 contact in advance and you receive a converted disk instead.
QEMU / KVM with libvirtOVA or ISOSupported. The packaged disk is boot-tested under QEMU on virtio, SATA AHCI, LSI SCSI and VMware pvscsi controllers before any OVA ships.
Bare metalISOSupported. The installer lays down Ubuntu 24.04 and provisions the appliance.

Warning

The VMware and Proxmox procedures are verified against real deployments. The Hyper-V and generic KVM/libvirt pages are written from vendor documentation and have not been reproduced in our lab — each carries that statement at the top. Treat their step-level detail as a starting point and confirm the finished virtual machine against the verification section of the page.

The appliance also reports which platform it believes it is running on, in its diagnostics snapshot. That detection is reliable for VMware and Hyper-V and unreliable for Proxmox, which does not identify itself to a guest — see Install on Proxmox VE.

Firmware and boot

The OVF descriptor sets no EFI flag, so a host importing the OVA defaults to BIOS firmware, which is how the image is built and verified. The installer ISO carries both the BIOS and the UEFI boot images of its Ubuntu base and boots either way; its menu offers a UEFI firmware settings entry only when it was itself started in UEFI mode.

Browser

The dashboard is a React single-page application served over HTTPS.

  • Serve it over HTTPS. The dashboard sends a Content-Security-Policy: upgrade-insecure-requests header, so a browser opening an appliance by plain HTTP upgrades every asset request to HTTPS. On an ISO-installed appliance, which is HTTPS-only, that works; on a deployment with no HTTPS listener the page renders blank rather than erroring.
  • Trust the appliance certificate. A first-boot appliance serves a self-signed certificate and the browser shows a one-time warning. The browser extension and Claude Code refuse an untrusted certificate outright rather than warning.

Warning

No minimum browser version is declared anywhere in the product. Chrome, Edge, Firefox and Safari are all used against the dashboard in the field, but the supported set has not been fixed and nothing in the build pins one. If a browser version matters to your rollout, agree it with your CID222 contact rather than inferring it from this page.

What the first-boot check actually enforces

An appliance installed from the ISO checks memory and free disk on tty1 before it downloads a single image, and again on every retry boot. The thresholds are in the first-boot script:

ConditionWhat happens
Less than 6 GB of RAMThe run stops with a message naming the memory it found. Power off, raise the memory, boot again.
Less than 20 GB free on /The run stops. The release images need about 40 GB.
Less than about 15 GB of RAMThe run continues with a warning that services will be evicted under load.
Less than 45 GB free on /The run continues with a warning.

Warning

These thresholds do not enforce the supported minimum, and their wording still names the earlier 16 GB / 60 GB design values. A machine with 16 GB of RAM passes the check with a warning and then fails later as containers are killed for memory. Size to 32 GB regardless of what the installer lets through.

The same first-boot pass also nudges time synchronisation before it contacts the registry, because a wrong clock makes a valid certificate look invalid and the resulting error reads like a network fault.

Limits and known gaps

  • The installer's resource check is weaker than the supported minimum. It fails at 6 GB and warns at about 15 GB, against a documented floor of 32 GB. It catches the machine that cannot work at all, not the machine that will disappoint you.
  • Memory limits are declared for some services and not others. Six services in the default profile declare no limit, so the declared total is a floor rather than a ceiling, and a host running out of memory is not diagnosable from the compose file alone. Older CID222 documents quote about 42 GB of declared limits; the figure generated from the current compose file is 37.6 GB, and that generated figure is the one to trust.
  • A GPU cannot be added to a shipped appliance. The GPU paths exist only in the source compose overlays, which the appliance image does not carry.
  • Cloud model providers still require egress. The detection pipeline runs entirely locally, but the Anthropic and Google provider clients dial their vendor cloud with no configurable base URL. An air-gapped appliance therefore reaches a self-hosted or LAN model, or no model at all — see Network prerequisites.
  • Capacity per user is not published. No throughput or concurrent-user figure has been measured on customer hardware, so the sizing above is a floor for the stack, not a capacity model for your population.

Last updated on

On this page

Download PDF