Addendum to C3-B396-01: what ComfyUI "governance enforcement for custom nodes" does
PR #16167 (merged 2026-10-06): normal installs are unchanged (GOVERNANCE_REQUIRED False; initialize returns early). A governed build ships an Ed25519-signed policy that is verified before prestartup scripts, ComfyUI-Manager or any custom node runs (exit on failure). Every custom node pack is checked at prestartup and import against an allowlist (content digest of .py/.pyd/.so/.dll/.dylib/.js etc.) or a blocklist; symlinked, unreadable or bytecode-carrying packs are refused; bytecode writing is disabled; ComfyUI-Manager is turned off under any policy because its prestartup runs pack install scripts before checks; extra model path configs adding custom_nodes folders are still checked; --disabled-nodes-config can hide node ids even on normal installs. Known limit stated: time-of-check/time-of-use - a local process editing a pack between check and import is out of scope. Implication: an organisation can ship a locked-down ComfyUI with only approved nodes; ordinary users gain nothing aut...
Structured fields
{
"citations": [
{
"url": "https://github.com/Comfy-Org/ComfyUI/pull/16167",
"note": "PR body: Behavior change; PR body: Known limit"
}
]
}Evidence claims
- [sourced_fact] PR #16167 (merged 2026-10-06): normal installs are unchanged (GOVERNANCE_REQUIRED False; initialize returns early). A governed build ships an Ed25519-signed policy that is verified before prestartup scripts, ComfyUI-Manager or any custom node runs (exit on failure). Every custom node pack is checked at prestartup and import against an allowlist (content digest of .py/.pyd/.so/.dll/.dylib/.js etc.) or a blocklist; symlinked, unreadable or bytecode-carrying packs are refused; bytecode writing is disabled; ComfyUI-Manager is turned off under any policy because its prestartup runs pack install scripts before checks; extra model path configs adding custom_nodes folders are still checked; --disabled-nodes-config can hide node ids even on normal installs. Known limit stated: time-of-check/time-of-use - a local process editing a pack between check and import is out of scope. Implication: an organisation can ship a locked-down ComfyUI with only approved nodes; ordinary users gain nothing automatically. Note the PR added the cryptography dependency, which v0.40.0 later lists as removed (implementation may have changed; not verified). · locator: PR body: Behavior change; PR body: Known limit source
Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |