Choosing presets
Presets are starting configurations. Choose a preset, then review the effective options for your selected obfuscator version.
For version 8.0.0, VM Default is the recommended production starting point. VM Low is useful for an initial evaluation because its self-defending and debug protections are off. The other VM presets enable both.
VM (8.0.0)
| optionsPreset | What changes |
|---|---|
vm-low-obfuscation | Low starts with fewer VM defenses for evaluation. For functional test settings, see Testing and CI. |
vm-default | Default combines VM protection with string-array protection and runtime defenses. Start here for production. |
vm-medium-obfuscation | Medium is an alternative preset configuration, not a level above Default. |
vm-high-obfuscation | High adds stateful opcodes, stack encoding, and a compact dispatcher. Measure the cost on your code. |
vm-ultra-high-obfuscation | Ultra High also enables control-flow flattening and additional basic transformations. This significantly reduces runtime performance. |
In version 8.0.0, vm-anti-llm is a compatibility alias for vm-default and is no longer a separate choice in the dashboard. Older versions may expose it separately.
Basic Obfuscation
| optionsPreset | selfDefending | debugProtection | disableConsoleOutput |
|---|---|---|---|
default | false | false | false |
low-obfuscation | true | false | true |
medium-obfuscation | true | false | true |
high-obfuscation | true | true | true |
Heavier presets can increase output size and execution time. Measure your own startup time, hot paths, and compressed bundle size instead of relying on fixed slowdown multipliers. To protect selected functions, see Targeting Functions.
