Neutrx is designed for Node.js 18+ backend services making outbound HTTP calls. Its main security goal is to make dangerous outbound targets and credential leaks harder to trigger by accident.
strict: use for user-controlled URLs, webhook targets, admin tools, and high-risk egress.standard: default production service-to-service profile.legacy: trusted migrations and local testing only.Deprecated profile aliases are normalized internally for migration compatibility. New code should use only strict, standard, or legacy.
strict and standard block:
localhost, loopback, 0.0.0.0, private IPv4, carrier-grade NAT, link-local, and metadata IP rangesmetadata.google.internalThe Node HTTP adapter validates DNS answers and pins the validated lookup for the request.
socketPath is a local transport escape hatch for HTTP-over-Unix-socket services such as Docker Engine. When socketPath is set, the adapter connects to the absolute local socket path and treats the URL host as the HTTP Host header only. DNS, SSRF, private-IP, HTTPS, and egress-policy network checks are skipped for that synthetic host because there is no outbound TCP connection.
Neutrx still rejects relative socket paths, null bytes, CR/LF characters, proxy use with sockets, HTTPS socket URLs, unsafe headers, and URL credentials outside legacy. Treat socketPath as privileged configuration and do not accept it from untrusted input.
Each Node HTTP redirect target is revalidated. Cross-origin or downgrade redirects strip:
AuthorizationCookieProxy-AuthorizationWhen a redirect changes a body method to GET, body headers are removed.
Use error.toJSON() and getMetrics() output for logs. Do not log raw request configs, raw headers, or raw response objects.
Redaction covers common secret names in URLs, headers, context, and response data. OpenTelemetry attributes avoid query strings by default.
strict profile in a browser does not create a trusted egress boundary. Route untrusted target URLs through a trusted Node.js service with explicit egress policy.legacy for untrusted URLs is unsafe.See Browser usage for the runtime capability matrix and deployment guidance.