First principles
What a container actually is - and why we ship one.
A container is not a small virtual machine. It is a single process (plus its dependencies) running directly on the host's Linux kernel, made to believe it is alone on the machine. Three kernel features do that: namespaces isolate what the process can see (its own view of process IDs, network interfaces, mounts, users, and hostname); cgroups cap what it can consume (CPU, memory, I/O); and a layered, immutable filesystem gives it a fixed, reproducible root.
container vs. virtual machineSHARED KERNEL
Containers

DataStrict
One shared kernel. Isolation by namespaces + cgroups.
Virtual machines
A full guest OS per workload. Heavier, stronger.
A virtual machine, by contrast, runs a whole guest operating system with its own kernel on top of a hypervisor that virtualizes the hardware. That is a heavier, stronger boundary. A container is lighter and starts in milliseconds because it shares the host kernel - which is why kernel-level hardening (dropped capabilities, seccomp, non-root, read-only rootfs) matters so much, and why the optional microVM and enclave layers exist for workloads that want both.
We package DataStrict as one signed OCI image because it is the most boring, most auditable unit of software your platform team already knows how to run in your own private cloud: scan it, pin it by digest, roll it back, and run it under the exact same controls as everything else in your estate. No bespoke installer, no agent sprawl, no kernel modules.