Security

Defense in depth
from the ground up

Doki applies security at every layer: seccomp, capabilities, user namespaces, Landlock, mTLS, and image verification. Rootless by default, safe by design.

Seccomp

Default profile allows ~80 syscalls including io_uring, pidfd, rseq, userfaultfd, landlock. Blocks ~250+ unnecessary syscalls.

Capabilities

Drops all capabilities by default. Opt-in via --cap-add for specific use cases. No NET_RAW, no SYS_ADMIN without explicit request.

User namespaces

Root inside container maps to unprivileged user outside. No uid 0 on the host. Kernel-enforced isolation.

Landlock

Linux 5.13+ ABI v9. Filesystem sandbox, network restrictions, scope rules. Auto-detection with graceful fallback.

mTLS

Mutual TLS enforcement for daemon communication. Certificate rotation, constant-time comparison, no weak ciphers.

Image verification

OCI image signatures verified on pull. Content-addressable storage prevents tampering. Digest pins for production.

Rootless architecture

Doki was designed to run without privileges from day one. Unlike Docker, which requires root or a rootful daemon, Doki executes every container as an unprivileged user.

On Android, this means no bootloader unlock. On Linux, no sudo in CI pipelines. On macOS, no privileged helper tools.

For defense-in-depth details, see the . Security documentation.