Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/cfg/core.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Use `nvm config docs --json` for machine-readable metadata.
| Option | Default | Values | Description |
|--------|---------|--------|-------------|
| `mode` | `shim` | `shim`, `link` | Specifies how Node.js commands and versions are managed, either through shim-based routing or direct junction/symlink linking. Same as `nvm use shim`/`nvm use link`. See [Operating Modes](../features/modes). |
| `root` | `%LOCALAPPDATA%\Author Software\nvm\installs` | Directory path | Root directory where Node.js versions are installed. Default path is writable by the installing user. Other users cannot write it (**NVM4305**). Set `InstallRoot` to a locked directory when versions must be immutable. Changing this does not move existing installs; migrate files yourself or reinstall versions. Windows, Program Files, profile folders, the NVM program folder, and parents of those paths are refused (**NVM4313**). |
| `root` | `%LOCALAPPDATA%\Author Software\nvm\installs` | Directory path | Root directory where Node.js versions are installed. Default path is writable by the installing user. Other users cannot write it (**NVM4305**). Set `InstallRoot` to a locked directory when versions must be immutable. Changing this does not move existing installs; migrate files yourself or reinstall versions. Windows, Program Files, ProgramData, profile folders, the NVM program folder, drive roots (for example `C:\`), and parents of those paths are refused (**NVM4313**). |

## Downloads and mirrors

Expand Down
8 changes: 4 additions & 4 deletions docs/features/malicious-package-blocker.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ It looks up names in a signed local file (`malware.db`).
It is not a file scanner.
It does not inspect tarball contents.

It is not the [module firewall](./firewall).
It is not the [module firewall](../guide/firewall).
The module firewall applies **your** allow and deny lists.
This blocker applies a public feed of **known-malicious** names.

Expand Down Expand Up @@ -60,7 +60,7 @@ The definition file still updates when checks are skipped.
## Allow a false positive

`MalwareAllowList` is HKLM only.
See [Registry Policy Reference](../cfg/enterprise/registry).
See [Registry Policy Reference](../cfg/registry).

Each string is one pattern.
Matching is byte for byte.
Expand Down Expand Up @@ -157,6 +157,6 @@ See [Event Logging](./log) and [Error Codes](../troubleshooting/error-codes).

## Related

- [NVM Firewall](./firewall) — your version, module, and trust policy
- [NVM Firewall](../guide/firewall) — your version, module, and trust policy
- [Choosing a Build](../guide/builds/)
- [Registry Policy Reference](../cfg/enterprise/registry)
- [Registry Policy Reference](../cfg/registry)
4 changes: 2 additions & 2 deletions docs/features/modes.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,10 @@ Shim mode features:
- Lockdown Node.js/V8 permissions. (Optional) _Requires Certified Builds with the Governance add-on._
- Publisher trust: Verifies node.exe publisher to prevent untrusted node.exe swaps.
- Native event logging.
- Unified/configurable cooldown periods across all major package managers (npm/npx/yarn/pnpm). _Requires the Governance add-on, available September 2026._
- Unified/configurable cooldown periods across all major package managers (npm/npx/yarn/pnpm). Community Builds default to off. Certified Builds default to 2 days. Users can change either. Forcing the value from machine policy requires the Governance add-on.

:::tip[Certified Builds]
Shim **V8 / permission lockdown** (`EnforcePermissionModel`, `FreezeV8GlobalObjects`, `DisableEvalAndStringExecution`) and package-manager **cooldown** are Governance features. See [registry policy](../cfg/registry) and [Choosing an Edition](../guide/builds/).
Shim **V8 / permission lockdown** (`EnforcePermissionModel`, `FreezeV8GlobalObjects`, `DisableEvalAndStringExecution`) is a Governance feature. Package-manager **cooldown** is not. Governance can force the cooldown from machine policy. See [registry policy](../cfg/registry) and [Choosing an Edition](../guide/builds/).
:::

:::info
Expand Down
4 changes: 2 additions & 2 deletions docs/guide/builds/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Additional capabilties are available as add-ons:
|:-|:-|
|**Advanced Logging**|Structured logging for SIEM integration.|
|**Trust Artifacts**|SBOM, provenance, and VEX reports.|
|**Governance**|Central policy management (ADMX/ADML + GPO/Entra scripts), advanced proxy support (IWA, WPAD/PAC), Node.js mirror (mirror.author.io), version firewall, shim-enforced Node.js permissions, unified package manager cooldown (npm/npx/pnpm/yarn), and air-gap/local installations.|
|**Governance**|Central policy management (ADMX/ADML + GPO/Entra scripts), advanced proxy support (IWA, WPAD/PAC), Node.js mirror (mirror.author.io), version firewall, shim-enforced Node.js permissions, force the package-manager cooldown from machine policy (npm/npx/pnpm/yarn), and air-gap/local installations.|

### Code Signing Authority

Expand Down Expand Up @@ -70,7 +70,7 @@ The Governance package for certified builds introduce policy management. With th

- Utilize corporate proxies (IWA, PAC/WPAD).
- Block unapproved Node.js Versions (i.e. EOL, vulnerable, or unstable versions).
- Require custom npm/npx/yarn/pnpm cooldown periods.
- Force npm/npx/yarn/pnpm cooldown periods from machine policy.
- Enforce Node.js permission model (`--permission` / `--experimental-permission`) so shimmed `node` starts default-deny; npm/npx/pnpm lifecycle scripts inherit the same flags via `npm_config_node_options` when the policy is on. Apps must pass `--allow-*` at runtime.
- Freeze V8 intrinsics (`--frozen-intrinsics`) to prevent prototype pollution of built-ins (also applied to npm/npx/pnpm scripts when the policy is on).
- Disallow `eval()` / `new Function()` (`--disallow-code-generation-from-strings`) (also applied to npm/npx/pnpm scripts when the policy is on).
Expand Down
2 changes: 1 addition & 1 deletion docs/troubleshooting/error-codes.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ NVM for Windows uses stable `NVM####` codes in CLI messages, shim/proxy output,
| **NVM4309** | Auto-install could not start nvm.exe | `nvm.exe` was found, but the process did not start. The message includes that path |
| **NVM4310** | Auto-install command failed | `nvm install <version>` exited with a non-zero code. The message includes that code. Output from `nvm.exe` is still shown |
| **NVM4311** | Auto-install did not leave a usable Node.js | `nvm install` returned success, but the shim still cannot resolve that version |
| **NVM4313** | Node.js storage path refused | `nvm config set root=` or the installer Node-storage page chose Windows, Program Files, a profile folder, the NVM program folder, or a parent of those paths. Uninstall also skips deleting that path. Use a dedicated directory such as `%LOCALAPPDATA%\Author Software\nvm\installs` |
| **NVM4313** | Node.js storage path refused | `nvm config set root=` or the installer Node-storage page chose Windows, Program Files, ProgramData, a profile folder, the NVM program folder, a drive root (for example `C:\`), or a parent of those paths. Uninstall also skips deleting that path. Use a dedicated directory such as `%LOCALAPPDATA%\Author Software\nvm\installs` |
| **NVM4314** | `node.exe` FileVersion does not match the install folder | Full verify (cache miss) compared PE VERSIONINFO FileVersion to the folder core version (major.minor.patch). Example: Node 10 dropped into `v24.0.0`. Missing VERSIONINFO on an existing `node.exe` also fails. Reinstall with `nvm install <ver> --force` |
| **NVM4401** | Firewall remote authority unauthorized | HTTPS policy URL returned **401**; the remote denied access for this user/client |
| **NVM4402** | Firewall remote validation failed | HTTPS policy URL TLS failure, unexpected HTTP status, or helper spawn/config error |
Expand Down
2 changes: 1 addition & 1 deletion i18n/ru/docusaurus-plugin-content-docs/current/cfg/core.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ nvm config docs
| Параметр | По умолчанию | Значения | Описание |
|--------|---------|--------|-------------|
| `mode` | `shim` | `shim`, `link` | Определяет, как управляются команды и версии Node.js: через маршрутизацию shim или прямые junction/symlink. То же, что `nvm use shim`/`nvm use link`. См. [Режимы работы](../features/modes). |
| `root` | `%LOCALAPPDATA%\Author Software\nvm\installs` | Путь к каталогу | Корневой каталог установки версий Node.js. Путь по умолчанию доступен для записи устанавливающему пользователю. Другие пользователи писать не могут (**NVM4305**). Задайте `InstallRoot` в заблокированный каталог, если версии должны быть неизменяемыми. Изменение не переносит существующие установки — перенесите файлы вручную или переустановите версии. Windows, Program Files, папки профиля, папка программы NVM и родители этих путей отклоняются (**NVM4313**). |
| `root` | `%LOCALAPPDATA%\Author Software\nvm\installs` | Путь к каталогу | Корневой каталог установки версий Node.js. Путь по умолчанию доступен для записи устанавливающему пользователю. Другие пользователи писать не могут (**NVM4305**). Задайте `InstallRoot` в заблокированный каталог, если версии должны быть неизменяемыми. Изменение не переносит существующие установки — перенесите файлы вручную или переустановите версии. Windows, Program Files, ProgramData, папки профиля, папка программы NVM, корни дисков (например `C:\`) и родители этих путей отклоняются (**NVM4313**). |

## Загрузки и зеркала \{#downloads-and-mirrors}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Bun проверяется только когда включён [`shim_bun`](.
Это не сканер файлов.
Он не проверяет содержимое tarball.

Это не [module firewall](./firewall).
Это не [module firewall](../guide/firewall).
Module firewall применяет **ваши** списки allow и deny.
Этот blocker применяет публичную ленту **известных вредоносных** имён.

Expand Down Expand Up @@ -60,7 +60,7 @@ HKLM `SkipMalwareChecks` важнее HKCU.
## Разрешить ложное срабатывание \{#allow-a-false-positive\}

`MalwareAllowList` — только HKLM.
См. [справочник политики реестра](../cfg/enterprise/registry).
См. [справочник политики реестра](../cfg/registry).

Каждая строка — один шаблон.
Сравнение по байтам.
Expand Down Expand Up @@ -157,6 +157,6 @@ nvm cache remove malware --prompt

## Связанные материалы \{#related\}

- [NVM Firewall](./firewall) — ваша политика версий, модулей и доверия
- [NVM Firewall](../guide/firewall) — ваша политика версий, модулей и доверия
- [Выбор сборки](../guide/builds/)
- [Справочник политики реестра](../cfg/enterprise/registry)
- [Справочник политики реестра](../cfg/registry)
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,10 @@ NVM for Windows v2 не пытается повысить права (то ес
- Ограничение прав Node.js/V8. (Опционально) _Требует Certified Builds с дополнением Governance._
- Доверие издателю: проверка издателя node.exe, чтобы предотвратить подмену недоверенным node.exe.
- Нативное журналирование событий.
- Единые/настраиваемые периоды cooldown для всех основных менеджеров пакетов (npm/npx/yarn/pnpm). _Требует дополнение Governance, доступно с сентября 2026._
- Единые/настраиваемые периоды cooldown для всех основных менеджеров пакетов (npm/npx/yarn/pnpm). Community Builds по умолчанию выключены. Certified Builds по умолчанию 2 дня. Пользователи могут менять любое значение. Принудительная установка из машинной политики требует дополнение Governance.

:::tip[Certified Builds]
**Ограничение прав V8 / permission lockdown** в shim (`EnforcePermissionModel`, `FreezeV8GlobalObjects`, `DisableEvalAndStringExecution`) и **cooldown** менеджеров пакетов — функции Governance. См. [политику реестра](../cfg/registry) и [Выбор редакции](../guide/builds/).
**Ограничение прав V8 / permission lockdown** в shim (`EnforcePermissionModel`, `FreezeV8GlobalObjects`, `DisableEvalAndStringExecution`) — функция Governance. **Cooldown** менеджеров пакетов — нет. Governance может принудительно задать cooldown из машинной политики. См. [политику реестра](../cfg/registry) и [Выбор редакции](../guide/builds/).
:::

:::info
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Certified-сборки рассчитаны на команды и органи
|:-|:-|
|**Advanced&nbsp;Logging**|Структурированное журналирование для интеграции с SIEM.|
|**Trust&nbsp;Artifacts**|SBOM, provenance и отчёты VEX.|
|**Governance**|Централизованное управление политиками (ADMX/ADML + GPO/Entra-скрипты), расширенная поддержка прокси (IWA, WPAD/PAC), зеркало Node.js (mirror.author.io), version firewall, принудительные права Node.js через shim, единый cooldown для менеджеров пакетов (npm/npx/pnpm/yarn) и air-gap/локальные установки.|
|**Governance**|Централизованное управление политиками (ADMX/ADML + GPO/Entra-скрипты), расширенная поддержка прокси (IWA, WPAD/PAC), зеркало Node.js (mirror.author.io), version firewall, принудительные права Node.js через shim, принудительный cooldown менеджеров пакетов из машинной политики (npm/npx/pnpm/yarn) и air-gap/локальные установки.|

### Центр сертификации подписи кода

Expand Down Expand Up @@ -65,7 +65,7 @@ NVM for Windows распространяется компанией Author Softw

- Использовать корпоративные прокси (IWA, PAC/WPAD).
- Блокировать неутверждённые версии Node.js (EOL, уязвимые или нестабильные).
- Задавать пользовательские cooldown для npm/npx/yarn/pnpm.
- Принудительно задавать cooldown npm/npx/yarn/pnpm из машинной политики.
- Применять модель прав Node.js (`--permission` / `--experimental-permission`), чтобы shim-`node` стартовал с default-deny; lifecycle-скрипты npm/npx/pnpm наследуют те же флаги через `npm_config_node_options`, когда политика включена. Приложениям нужно передавать `--allow-*` при запуске.
- Замораживать intrinsics V8 (`--frozen-intrinsics`), чтобы предотвратить загрязнение прототипов встроенных объектов (также для скриптов npm/npx/pnpm при включённой политике).
- Запрещать `eval()` / `new Function()` (`--disallow-code-generation-from-strings`) (также для скриптов npm/npx/pnpm при включённой политике).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ NVM for Windows использует стабильные коды `NVM####` в
| **NVM4304** | Полная проверка восстановлена | Информационное продолжение после **NVM4303**: полная проверка прошла, кэш восстановлен |
| **NVM4305** | Запуск package manager заблокирован (небезопасный каталог Node) | Proxy блокирует `npm` / `yarn` / `pnpm` (и аналоги), потому что каталог активной версии не проходит проверки cross-user write / trust; часто помогает `nvm doctor --autofix` или частный install root |
| **NVM4306** | Сбой доверия к делегированной команде | Proxy отклоняет entrypoint package manager или скрипт: неизвестный, без подписи или не проходит delegated-command trust. Если вы доверяете изменению, выполните `nvm firewall trust module <name>`. Одного `nvm reshim` недостаточно, чтобы модуль оставался доверенным после следующего self-update. При таймауте toast NVM печатает сообщение no-answer и шлёт тихое desktop-уведомление. |
| **NVM4313** | Отказ в пути хранения Node.js | `nvm config set root=` или страница установщика Node-storage выбрала Windows, Program Files, профиль, папку программы NVM или родителя этих путей. Удаление также не удаляет такой путь. Используйте отдельный каталог, например `%LOCALAPPDATA%\Author Software\nvm\installs` |
| **NVM4313** | Отказ в пути хранения Node.js | `nvm config set root=` или страница установщика Node-storage выбрала Windows, Program Files, ProgramData, профиль, папку программы NVM, корень диска (например `C:\`) или родителя этих путей. Удаление также не удаляет такой путь. Используйте отдельный каталог, например `%LOCALAPPDATA%\Author Software\nvm\installs` |
| **NVM4314** | FileVersion `node.exe` не совпадает с папкой установки | Полная проверка (cache miss) сравнила PE VERSIONINFO FileVersion с core-версией папки (major.minor.patch). Пример: Node 10 в `v24.0.0`. Отсутствующий VERSIONINFO у существующего `node.exe` тоже отказ. Переустановите `nvm install <ver> --force` |
| **NVM4401** | Удалённый firewall authority: unauthorized | HTTPS policy URL вернул **401**; remote отказал в доступе этому пользователю/клиенту |
| **NVM4402** | Сбой удалённой проверки firewall | HTTPS policy URL: TLS failure, неожиданный HTTP-статус или ошибка helper/config |
Expand Down
Loading