Skip to main content

Buyer guide

OpenHands Deployment & Sandbox Checklist

Local, self-hosted, Cloud, or Enterprise: where code and conversations live in each, and the sandbox, mount, secret, and permission settings to confirm.

Reading time
3 min read
Sources
19 cited
In this piece
OpenHands+15 Mixed

Choose the deployment by where your code and conversations are allowed to live, then settle the sandbox, mounts, secrets, repository permissions, and identity before OpenHands touches company code. The local open-source setup has no built-in authentication, so a team that shares one backend belongs on Cloud or Enterprise.

When you need this

  • Security must approve OpenHands before engineers connect company repositories.
  • A team wants to share one OpenHands backend across its laptops.
  • You are choosing between OpenHands Cloud and a self-hosted Enterprise deployment.

Evaluation criteria

  1. Deployment model

    Where are code and conversations allowed to live?

    Look forOpen source keeps data on one user's machine, and its docs state that the local setup has no built-in authentication or multi-tenant isolation. OpenHands Cloud keeps data in OpenHands Cloud and adds organizations and integrations. The privacy policy, effective September 3, 2025, lets All Hands AI use content and feedback from the Services to train and tune its AI models, and names an opt-out only for marketing and tracking. Enterprise runs on your own Kubernetes infrastructure, with Keycloak for identity, a LiteLLM proxy for model calls, and a runtime API that starts one sandbox per conversation.

  2. Sandbox

    What isolates the agent's commands from the host?

    Look forUse Docker, the default and recommended sandbox. The process sandbox has no isolation and runs with the host user's file and command access. Cloud and Enterprise give Agent Canvas isolated sandboxes. On a local backend, start the Docker runtime so each conversation runs in its own container.

  3. Mounts and container settings

    What can the agent change on the host?

    Look forMount only the project directories OpenHands needs, because it can modify or delete anything mounted read-write. Broad mounts, privileged mode, host networking, and Docker socket access all weaken isolation, so leave them off. Host-network mode also limits the backend to one sandbox at a time.

  4. Secrets

    Which credentials can a running conversation use?

    Look forOpenHands can use any credential and any network access its environment offers, so give it dedicated, scoped accounts. Store those credentials in the secrets manager, which exports each secret as a sandbox environment variable and shows the agent its description.

  5. Repository permissions

    What can OpenHands write on GitHub, and where?

    Look forInstall the Cloud GitHub app on selected repositories only. It requests 8-hour tokens with read and write access to Actions, commit statuses, contents, issues, pull requests, webhooks, and workflows. Turn on branch protection and required reviews on each of those repositories.

  6. Identity, audit, and action control

    Who can sign in, what is recorded, and which actions need approval?

    Look forEnterprise adds SAML SSO and role-based access control through Keycloak, central audit logs, and analytics. Cloud organizations add roles, and each member's conversations stay private by default. Agents built on the SDK can require confirmation for every action, or only for actions a security analyzer rates risky. Hooks can block dangerous commands.

Questions to ask vendors

  1. Which backend does each team use, and which sandbox provider does it run?
  2. Which host directories are mounted into sandboxes, and are any mounted read-write beyond the project?
  3. Does any container run privileged, on the host network, or with the Docker socket?
  4. Which repositories can the GitHub app write to, and is branch protection on for each?
  5. Which secrets exist, and does each belong to an account created for the agent?

Red flags

  • The process sandbox on a laptop that holds production credentials.
  • A home directory mounted read-write into the sandbox.
  • One local open-source instance shared by a team with no authentication.
  • The GitHub app installed on every repository in the organization.

Products in this piece

Sources

Official documentation
16
Public source
3
  1. OpenHands docs: FAQsOfficial documentationdocs.openhands.dev
  2. OpenHands on GitHub: Agent Canvas (MIT)Official documentationgithub.com
  3. OpenHands docs: Sandbox overviewOfficial documentationdocs.openhands.dev
  4. OpenHands docs: Docker sandboxOfficial documentationdocs.openhands.dev
  5. OpenHands docs: Process sandboxOfficial documentationdocs.openhands.dev
  6. OpenHands docs: Agent Canvas architectureOfficial documentationdocs.openhands.dev
  7. OpenHands docs: Agent Canvas backendsOfficial documentationdocs.openhands.dev
  8. OpenHands docs: Secrets managementOfficial documentationdocs.openhands.dev
  9. OpenHands docs: GitHub integrationOfficial documentationdocs.openhands.dev
  10. OpenHands docs: OrganizationsOfficial documentationdocs.openhands.dev
  11. OpenHands docs: SDK security and action confirmationOfficial documentationdocs.openhands.dev
  12. OpenHands docs: HooksOfficial documentationdocs.openhands.dev
  13. OpenHands docs: OpenHands EnterpriseOfficial documentationdocs.openhands.dev
  14. OpenHands docs: Enterprise vs. open sourceOfficial documentationdocs.openhands.dev
  15. OpenHands docs: Enterprise architectureOfficial documentationdocs.openhands.dev
  16. wunderwuzzi, Embrace The Red: OpenHands and the lethal trifecta (Aug 9, 2025)Public sourceembracethered.com
  17. wunderwuzzi, Embrace The Red: OpenHands remote code execution through prompt injection (Aug 10, 2025)Public sourceembracethered.com
  18. morgaesis, GitHub issue #11206: locally mounted folders are chowned to root (Oct 1, 2025)Public sourcegithub.com
  19. OpenHands privacy policy (effective September 3, 2025)Official documentationopenhands.dev