luau obfuscation

Obfuscation with no way back.

Wasp compiles your script into a virtual machine unique to every build, flattens its control flow into an opaque state machine, and encrypts everything static analysis relies on. What comes out the other side isn't readable — by a person or a deobfuscator.

source.luau
local function checkPermission(player)
    if player:GetRank() >= 5 then
        return true
    end
    return false
end
wasp --build · vm=alpha
local _0x5=("\41\106\162..."):gsub(".",_0xF)
return(function(...)local a,b=...
while true do local s=_0x3[_0x1]
if s==7 then _0x1=b and 2 or 9
elseif s==2 then return _0x9(a,_0xE)
else _0x1=_0x3[_0x1+_0x2]end end end)(...)
6layers of protection per build
100%unique output, every compile
<1stypical build time
0plaintext strings left behind

Every layer earns its place.

Wasp doesn't just rename variables and call it done. Each build runs your script through a stack of independent transforms, and no two builds come out the same way.

Virtualization

Compile your script into a custom virtual machine bundle from a selection of implementations, unique to each script.

Control flow flattening

Branches and loops are flattened into an opaque state machine, dissolving the structure of your code.

String encryption

Every string literal is encrypted at compile time and only decrypted at the moment it's used.

Anti-tamper

Runtime checks watch the script's own integrity and shut it down the moment something's been patched.

See all features

Ship it once. Protect it forever.

Start on the free tier, no credit card required.

Get started free