# LuaLock > LuaLock is a Lua, Luau, and Roblox script obfuscator. It compiles source into a private bytecode format that runs inside an injected virtual machine, generating a unique instruction set per build. Standard Lua decompilers target PUC-Rio bytecode and produce nothing useful against LuaLock output. LuaLock is not a textual transform (it does not just rename variables or insert junk). It lowers your code into a custom register-based bytecode and ships a generated VM that executes it. Each build remaps opcodes, encrypts constants, and adds tamper-detection guards, so two builds of the same script never look alike. It supports Lua 5.1, 5.3, 5.4, LuaJIT, Luau, and Roblox targets, and is available through a web dashboard, a REST API, and a cross-platform CLI. Source code is processed in memory and is never written to disk or stored, unless you explicitly opt in to saving a build to your history. ## Pages - [Home](https://lualock.dev/): What LuaLock is and how the bytecode-VM protection works. - [Features](https://lualock.dev/features): Custom bytecode VM, per-build opcode remapping, string/constant encryption, tamper detection, and supported runtimes. - [Pricing](https://lualock.dev/pricing): Plans and prices — free trial, Flex, Pro, Max, and Enterprise. - [Documentation](https://lualock.dev/docs): How to obfuscate a script, the REST API, and the CLI reference. - [Download CLI](https://lualock.dev/download): Install the LuaLock CLI for local and CI/CD use (`npm install -g lualock`). - [Changelog](https://lualock.dev/changelog): Notable updates to the engine, dashboard, and API. - [Contact](https://lualock.dev/contact): Support, billing, API, and legal inquiries. ## Pricing - Free trial: 3 obfuscations, no credit card required. - Flex: $0.05 per file, pay as you go, no monthly commitment. - Pro: $9.99/month — 1,000 obfuscations/month, REST API access (1 key), custom watermarks. - Max: $49.99/month — 10,000 obfuscations/month, up to 5 API keys, extended build history, priority support. - Enterprise: unlimited obfuscations, SLA, dedicated support, volume licensing — contact sales. ## Key facts - LuaLock targets: Lua 5.1, Lua 5.3, Lua 5.4, LuaJIT, Luau, and Roblox. - Output is a self-contained script that runs the original program inside a generated virtual machine. - The opcode mapping is unique per build, so there is no public decompiler that targets LuaLock output. - Source and output are not retained by default; saving to history is opt-in. ## More - [Terms of Service](https://lualock.dev/tos) - [Privacy Policy](https://lualock.dev/privacy) - [Lua language](https://www.lua.org/): the language LuaLock protects. - [Luau](https://luau.org/): the Roblox dialect LuaLock supports.