Don't just
obfuscate code.
Destroy it.
Ruam compiles your JavaScript into encrypted bytecode designed for a per-build unique RuamVM. There is no deobfuscator.
function fibonacci(n) {if (n <= 1) return n;let a = 0, b = 1;for (let i = 2; i <= n; i++) {[a, b] = [b, a + b];}return b;}
Not another name mangler.
RuamVM's encrypted bytecode is indistinguishable even to experienced attackers. To piece together the original logic, an intruder must first reverse-engineer the RuamVM.
Unique every time
Build #1
Same source, different output. Variable names, opcodes, and encryption seeds all change between builds.
Irreversible
function _0x1a(a,b){ return a*b }Flow, variables, and strings can be heavily hidden, but the logic is inevitably traceable.
_vm.call('a7f3',this,[a,b])The logic is gone, and operations are called to a custom VM instead of the JS Interpreter.
Your code is compiled away, and the produced RuamVM bytecode executes the same result as your JS, but in an entirely different way.
Seamless
$ npx ruam input.js -o output.js --preset max --target nodeOne command protects your entire project. No code changes are necessary to build with Ruam.
Built for real projects
You build what matters, and let us handle security.
Browser Extensions
Extension source is visible to anyone who installs it. Ruam makes your logic unreadable while keeping it fully functional.
SaaS & Web Apps
Protect proprietary algorithms, pricing logic, and business rules that run in the browser where anyone can inspect them.
Licensed Software
Prevent license validation from being bypassed. VM bytecode makes it impractical to locate and patch checks.
APIs & SDKs
Shield authentication flows, API keys, and protocol implementations in client-side JavaScript.