Lmcq Runtime Model Encryption
Lmcq Runtime Model Encryption — machine-locking a checkpoint, no cloud required
This is the local, no-account version of ComfyUI-LMCQ's model protection: encrypt a checkpoint with a key and a list of authorized machine codes, and only the machines on that list - running LmcqRuntimeModelDecryption - can ever load it. No cloud auth server, no creator account, nothing that needs an internet connection at any point. If you want the pack's LmcqAuthModelEncryption but without the dependency on LMCQ's hosted platform, this is that node.
Runtime vs. Auth - the actual difference. The pack ships two separate encryption systems that look similar on the surface. "Auth" nodes (LmcqAuthModelEncryption/Decryption) tie into LMCQ's own cloud service for real-time validation, usage limits, and remote revocation - more capable, but the recipient needs network access to LMCQ's servers to decrypt. "Runtime" nodes, this one included, do everything locally: the encrypted model only ever exists decrypted in memory during a run, is never written back to disk in the clear, and the machine-code check happens entirely offline. Per the README, that "in-memory only" behavior is deliberate - it means even someone with the right key can't extract a permanent unencrypted copy just by running it once, short of dumping process memory. If you don't want any dependency on a third party's server staying online, this family is the one to use.
The fields. model_name is a dropdown of your local checkpoints - pick the one to protect. key is the encryption password; whoever decrypts needs it exact. save_name (default encrypted_model) names the output file. machine_codes is a multiline field where you paste one hardware ID per line - leave it blank for password-only protection, or gather codes ahead of time by having each authorized user run LmcqGetMachineCode on their own machine and send you the result, one per line for multiple machines. This node has no outputs - it's a terminal node that writes the encrypted file to disk.
Installing it. Through ComfyUI Manager (search "ComfyUI-LMCQ") or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/sebord/ComfyUI-LMCQ
Restart ComfyUI afterward.
Worth knowing before you rely on this. Custom nodes in ComfyUI run with full, unsandboxed system access, and this pack's protection logic is deliberately shipped as compiled, obfuscated code - the README frames this explicitly as hardening against reverse-engineering. That's expected for a node whose whole purpose is protecting IP, but it means the actual encryption implementation isn't something you or anyone else can read and verify. Treat it the way you'd treat any closed-source security tool: reasonable to use, but go in aware you're trusting the team's word, not auditable code.
Troubleshooting. The pack's most-reported problem isn't this node's logic - it's a compiled runtime module the encryption system depends on going missing on some installs, which throws ModuleNotFoundError: No module named '...runtime.model_protection' at ComfyUI startup and crashes the entire pack's registration, not just this node. If none of the Lmcq nodes show up in your search, check your console log for that error before troubleshooting anything about keys or machine codes. The fix, documented in the pack's January 2026 changelog: copy the Python-version-matching runtime files into the runtime folder, delete the ones that don't match, and restart.
Beyond that, the one mistake specific to this node family: forgetting a machine code. If you fill in machine_codes at all, get every intended machine's code in there before you encrypt - unlike the Auth family, there's no server-backed way to add an authorized machine after the fact, so a code you missed means re-encrypting and redistributing the file from scratch.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | 0 options: | |
| key | STRING | — | |
| save_name | STRING | encrypted_model | — |
| machine_codes | STRING | — |
Outputs (0)
No outputs