Understand Gateway and Secret Controls

View as Markdown

NemoClaw applies gateway access controls when the selected agent runtime exposes an in-sandbox gateway or dashboard. CLI secret redaction and runtime-specific memory guidance apply across guide variants.

LangChain Deep Agents Code has no in-sandbox agent gateway or dashboard, so device pairing, bind, and dashboard controls do not apply. The shared secret-handling controls below still apply.

OpenShell Gateway Authentication

On Docker-driver deployments, NemoClaw gives host CLI calls and sandbox callbacks separate authenticated paths to the OpenShell gateway.

AspectDetail
DefaultNemoClaw enables local TLS, mTLS user authentication, and sandbox JWT authentication. Host-side OpenShell CLI calls use local mTLS. Sandbox callbacks use the guest mTLS bundle plus a sandbox-scoped JWT. The generated config sets allow_unauthenticated_users = false, and gateway launch removes an inherited OPENSHELL_DISABLE_GATEWAY_AUTH=true.
Token lifetimeLocal sandbox JWTs use OpenShell’s ttl_secs = 0 contract for a non-expiring token on a local single-user gateway. Sandbox identity checks and the local mTLS boundary still apply to each callback.
What you can changeThese authentication controls are not user-facing settings. Use NemoClaw to configure and start the Docker-driver gateway.
Risk if relaxedDisabling gateway authentication or widening the gateway listener can expose privileged gateway methods to another local or network client.
RecommendationKeep the OpenShell gateway on 127.0.0.1. Use the dashboard forward when a supported agent dashboard needs remote access.

Gateway Compatibility Container

On Linux hosts whose glibc is older than the OpenShell gateway binary requires, NemoClaw can run openshell-gateway in a Docker compatibility container so the Docker-driver gateway still starts. This path requires the explicit opt-in NEMOCLAW_OPENSHELL_GATEWAY_CONTAINER_PATCH=1.

AspectDetail
DefaultNemoClaw does not auto-enable the compatibility container on ABI mismatch. If NEMOCLAW_OPENSHELL_GATEWAY_CONTAINER_PATCH=1 is set, the container keeps the main gateway listener on 127.0.0.1, uses host networking so OpenShell computes the same Docker bridge callback addresses as a host-side gateway, mounts the Docker socket read-only, drops Linux capabilities, sets no-new-privileges, and publishes no extra Docker ports.
What you can changeOpt in with NEMOCLAW_OPENSHELL_GATEWAY_CONTAINER_PATCH=1, keep the path disabled with NEMOCLAW_OPENSHELL_GATEWAY_CONTAINER_PATCH=0, or run on a host/OpenShell build combination where the gateway binary launches directly.
Risk if relaxedThe Docker socket remains a privileged host API even when bind-mounted read-only. Treat this mode as equivalent to trusting the host user that can drive Docker, and do not enable it on untrusted shared hosts.
RecommendationPrefer a host with glibc 2.39 or newer, which OpenShell 0.0.101 supports directly, and use the compatibility container only as an explicit local bridge on an older trusted host.

OpenShell owns the native Linux glibc support floor. NemoClaw owns the explicit opt-in, host-networking configuration, read-only socket mount, and gateway authentication controls for this fallback. Remove the fallback when every supported Linux host meets OpenShell’s native floor and the gateway authentication and upgrade tests pass for the release candidate without the flag.

CLI Secret Redaction

The CLI automatically redacts secret patterns (API keys, bearer tokens, provider credentials) from command output and error messages before logging them.

AspectDetail
DefaultEnabled. The runner redacts secrets from stdout, stderr, and thrown error messages.
What you can changeThis is not a user-facing knob. The CLI enforces it on all command output paths.
Risk if relaxedWithout redaction, secrets could appear in terminal scrollback, log files, or debug output shared in bug reports.
RecommendationNo action needed. If you share NemoClaw debug output, verify that no secrets appear in the collected diagnostics.

Memory Secret Scanner

Deep Agents does not use the OpenClaw NemoClaw plugin memory scanner. The managed dcode launchers reject credential-shaped environment values and upstream auth files before startup, but Deep Agents memory and skill files remain user-authored content. Keep secrets in OpenShell providers and avoid writing raw credentials to /sandbox/.deepagents, project .deepagents/, or skill files.