Ensombl Controlled Development Workspaces

Summary

Use the existing general Ensombl EU Dokploy installation for the Coder Community control plane. Keep developer compute on isolated, replaceable Hetzner VMs.

The live topology confirms:

Architecture and Deployment

Dokploy control plane

Create the following on the existing EU Dokploy installation:

The existing Dokploy host becomes an accepted single point of failure. No second manager, worker, or HA database is added in v1. The recovery target is 60 minutes.

Identity and secrets

Hetzner workspaces

Use a separate Hetzner project named development-workspaces:

Use NBG1 initially because the existing Coder control plane is in the Ensombl EU infrastructure and Coder Community has no regional workspace proxies. Run a representative latency acceptance test before the full rollout; if the browser desktop is unusable for APAC developers, revisit location or regional architecture as a separate project.

Developer environment

Each workspace image contains:

Orca must run inside the remote desktop because it owns local repositories, Git worktrees, terminals, and embedded-browser state. Running Orca against a laptop-local checkout would defeat the remote-workspace objective. Coder remote desktop support (https://coder.com/docs/user-guides/workspace-access/remote-desktops), Coder KasmVNC module (https://registry.coder.com/modules/coder/kasmvnc).

Coder Community’s SSH and port-forward support remains technically available through its tunnel. Remote desktop is the supported workflow, and direct workspace networking remains unavailable. This is an accepted trust-based limitation rather than an unsupported reverse-proxy hack.

Security Controls

Network and approved AI

Enforce workspace egress on the separate gateway, outside developer-controlled VMs:

Operate the gateway in monitor-only mode for the first pilot week. Review legitimate destinations, then enable default-deny.

Allow:

Deny OpenRouter, Ox Alpha, unapproved inference services, and everything not explicitly allowed.

Do not deploy an AI gateway in v1. Personal ChatGPT/Codex and Claude subscriptions use vendor OAuth and cannot be meaningfully governed through a company API proxy. The acceptable-use policy permits those subscriptions and prohibits submitting Ensombl code or customer data to other model providers.

Personal laptops and phones remain outside technical enforcement. This is intentional: the team is trusted, and the system is designed for mistakes, compromised software, and workspace isolation—not determined insider prevention.

Secrets and environment isolation

Software supply chain

GitHub IP allowlisting remains deferred because Ensombl currently uses GitHub Team and the feature requires Enterprise Cloud. GitHub IP allowlist requirements (https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization).

Rollout and SOC 2 Roadmap

Phase 1: Control-plane pilot

Phase 2: Two-developer pilot

Phase 3: Six-developer rollout

Phase 4: SOC 2 preparation

Once the environment is stable:

SOC 2 evaluates whether Ensombl’s selected controls are appropriately designed and operating effectively; it does not require Coder Premium or employee surveillance. AICPA SOC 2 overview (https://www.aicpa-cima.com/topic/audit-assurance/audit-and-assurance-greater-than-soc-2/). The workspace design also follows NIST SSDF guidance for protected development environments, segmentation, strong authentication, and restricted outbound connectivity. NIST SSDF (https://csrc.nist.gov/projects/ssdf).

Acceptance Tests

Assumptions and Non-Goals