Protect Members renames object member names across the files in a project. It is the cross-file counterpart to simpler member-hiding options such as Move Members.
What it protects
This feature targets member names such as value in myobj.value or Start in helper.Start(). Unlike Move Members, which only hides access syntax, Protect Members actually changes the member names themselves.
Because member names often form part of a public API, this mode is stricter than Replace Globals. You should explicitly decide which members are safe to rename.
Recommended workflow
- Mark private members with a naming rule, such as a double-underscore prefix.
- Configure Rename by rules or Custom Identities so only those private members are eligible.
- Keep every related file in the same JavaScript Obfuscator project so the renamed members stay consistent everywhere.
Example across files
Using a rule such as ^__, the member names that start with a double underscore can be renamed everywhere they appear in the project.
Best practice: only rename members that are truly private to your own code. If third-party scripts, templates, or external callers depend on a member name, leave it out of the protection rules.