flowguard

Configuration

Settings reference

Every setting, grouped the way the web UI groups them.

This page is a quick-reference list. For a full explanation of what each protection actually does, see its page under Protections. For the complete raw list including every native/VM tuning knob, see the full table.

Application

SettingDescription
InputThe jar you want to protect.
OutputWhere the protected jar is written. Defaults to a file next to your input; existing files at that path are backed up, not overwritten.

Protection

SettingDescription
Control flowRewrites branching logic. Off through Flow Break — see Control flow.
StringsEncrypts string literals. Off, Standard, Cached, or Native — see String protection.
ReferencesAdds indirection to references — see Indirection & references.
String poolingGroups encrypted strings into a per-class table. Needs strings on.
RenameRenames classes, methods, and fields — see Renaming.
Method parametersScrambles how arguments are passed — see Method parameter protection.
Number obfuscationRewrites numeric constants.
Anti-decompiler tricksTrips up decompiler tooling — see Anti-decompiler tricks.
Remove local variablesStrips local variable names.
Remove line numbersStrips line-number debug info.
Protect authenticationAdds startup/tamper guards and turns on control flow — see Control flow.

Native

SettingDescription
EnabledTurns on native protection — see Native protection.
TargetWhich platform to build native code for.
Zig pathWhere to find the Zig compiler. Defaults to zig on your PATH.
VM seedFixed value for reproducible native builds.
Anti-debug / integrityExtra hardening on the native layer. Not available on macOS.
Method parameter key modeHow parameter-protection keys are kept at runtime — see Method parameter protection.

AuthEngine

SettingDescription
EnabledTurns on class sealing — see Class sealing. Needs native protection and Java 17+.
Unlock methodThe method in your code that triggers decryption.
Unlock keyThe key used to seal and unseal classes.

Exclusions

See Exclusions for how to keep specific classes out of protection entirely.