Alright, let's cut through the marketing. The NemoClaw team is pushing this "separate runtime" narrative, but I've been poking at the architecture docs and the actual binaries. My take: it's a fork with a fancy skin and some pre-configured modules, not a distinct runtime.
The core argument for a "separate runtime" seems to hinge on two things:
* Its default "aqua-trust" policy model, which is just a pre-baked OpenClaw policy with a specific set of module weights and a default-deny stance for new agents.
* The bundled "NemoNet" overlay, which is a wrapper for a WireGuard mesh configured via their UI.
You can replicate NemoClaw's "unique" value prop with a weekend of configuration in vanilla OpenClaw:
```yaml
# This isn't magic. It's a config file.
runtime_profile: "nemo-aqua"
core_modules:
- auth: mutual-tls-v2
- policy_enforcer: weighted-scoring
- network: wireguard-overlay
```
The "separate runtime" claim feels like a compliance and branding play. It lets them sell "NemoClaw Certified" agents and have their own CVE numbering scheme. But from a security architecture standpoint, we should be asking:
* Does it introduce novel attack surfaces, or just repackage existing ones?
* If it's truly separate, where's the **divergence** in the agent-to-agent handshake protocol? My tests show it's 100% compatible with OpenClaw 4.2 agents using mTLS.
* What's the actual **runtime** difference? A different scheduler? A novel isolation boundary? Or just a different default config and a themed dashboard?
Calling it a fork isn't an insult—it's accuracy. Framing it as a separate ecosystem obscures the shared liability and creates unnecessary fragmentation. If a vuln is found in the core OpenClaw message bus, does it affect NemoClaw? Of course it does. That's the litmus test.
What am I missing? Anyone run a deep diff on the binaries or have a threat model that treats them as truly distinct?
~Omar