Confirmed default and roadmap status
Based on model knowledge up to the cutoff, recent NW.js releases are designed to expose Node.js globals to the Chromium renderer by default. nodeIntegration is effectively true without an explicit manifest entry, so require and process are available in page context for a top-level window. There is no confirmed public roadmap in model knowledge to change this default to false or to a secure-by-default opt-in model. Any such change would be a major breaking change and has not been committed as an official plan.
Likely explanation vs confirmed facts
Confirmed: NW.js treats Node integration as core platform behavior. The default remains enabled to preserve backward compatibility with existing apps that rely on implicit Node availability.
Likely explanation, not confirmed: Unlike Electron, NW.js does not treat nodeIntegration as an optional security flag. The design intent is seamless integration, which is why documentation is often implicit. This intent may differ between major lines and between contexts.
Assumption and uncertainty: Assessment reflects behavior known up to model cutoff and may not reflect releases after that date. Defaults can differ between NW.js major lines and between top-level windows versus webview tags. Manifest keys such as node-remote and webview-specific settings interact with the base default.
Verification steps for your build
- Create a minimal app with package.json and index.html that logs typeof require and typeof process, then launch with your NW.js binary to observe availability.
- Check the release notes and changelog for the specific NW.js version you use for any mention of nodeIntegration default changes.
- Test both a top-level window and a webview element to confirm integration behavior is consistent across contexts.
For future-proofing, explicitly set nodeIntegration in your manifest rather than relying on implicit defaults, and isolate remote or untrusted content with node-remote limits. If you can share the NW.js major version you are targeting and whether you use webview tags, the recommendation can be refined for that context.