Research & Release Notes

AI-aware JavaScript protection, written down.

Long-form articles on what AI assistants can and cannot do with obfuscated JavaScript, how Maximum-mode transforms hold up against modern reverse engineering, and how teams put protection into release workflows.

Featured Article
Vendor Comparison 2026-04-26 ~10 min read

JavaScript VM protection compared — Jscrambler, JSDefender, Verimatrix, OSS virtualizers

Vendor by vendor on JavaScript bytecode VM protection. What Jscrambler, PreEmptive JSDefender, Verimatrix Code Protection, Digital.ai Application Protection, and the open-source virtualizers actually ship. Where JSO’s selective per-function virtualization fits. Includes a budget-band decision framework.

Read the full comparison

Browse by topic

Grouped hubs

Every article below tests one real library and reports what it measured. If you are looking for a surface rather than a date, start with the six failure modes — the synthesis of the whole series — or jump to the hub for the code you are shipping.

More research and roadmap

Newest first

Articles 133–144 of 256

Compatibility · New 2026-08-15 ~10 min read

Does obfuscation break modern string methods?

replaceAll, padStart, trimStart, at and split with a limit measured identical, including under the string table that moves and encodes every literal. String identity and immutability hold too.

Read article ›
Compatibility · New 2026-08-15 ~10 min read

Does obfuscation break type coercion?

Coercion, loose equality, truthiness and wrapper objects all measured unchanged. But renaming a member called valueOf or toString silently disables the protocol and yields [object Object] with nothing thrown.

Read article ›
What survives · New 2026-08-15 ~10 min read

Does obfuscation break math and floating point?

Math methods, floating point results, 32-bit bitwise operators and a hand-written FNV-1a hash all measured byte-identical, and unparenthesised mixed-precedence expressions kept their values.

Read article ›
Compatibility · New 2026-08-15 ~10 min read

Does obfuscation break frozen and sealed objects?

Object.freeze, Object.seal and property attributes measured identical after protection. The one shape that quietly changes is a property defined by string with defineProperty and then read by dot access under member renaming.

Read article ›
What survives · New 2026-08-15 ~10 min read

Does obfuscation break closures and scope?

Closures, the module pattern, shadowing and loop capture all came through identical, including the per-iteration binding let gives in a loop on the ES5 target. Renaming is scope-aware, which is why.

Read article ›
What survives · New 2026-08-15 ~10 min read

Does obfuscation break the arguments object and rest parameters?

The arguments object, rest parameters and spread at call sites measured identical, because almost nothing in variadic code is a name. One number does move: Function.length on the ES5 target.

Read article ›
What survives · New 2026-08-15 ~10 min read

Does obfuscation break recursion?

Direct and mutual recursion, named function expressions and memoised recursive closures all measured identical, and stack depth headroom was measured rather than assumed.

Read article ›
What survives · New 2026-08-15 ~10 min read

Does obfuscation break typed arrays and binary data?

Typed arrays, ArrayBuffer views and DataView endianness measured identical after protection, because binary code is built from index access and numeric arguments rather than from names.

Read article ›
What survives · New 2026-08-15 ~10 min read

Does obfuscation break Map and Set?

Map, Set, WeakMap and structuredClone come through unchanged, including object identity as a key and insertion order, because a collection key is a value at run time rather than a name in the source.

Read article ›
Compatibility · New 2026-08-15 ~10 min read

Does obfuscation break JSON serialization?

JSON.stringify and JSON.parse behave identically after protection, hooks included. The two ways member renaming does change your payloads are specific, silent and measured here.

Read article ›
Compatibility · New 2026-08-15 ~10 min read

Does obfuscation break prototype chains?

Delegation, shadowing and instanceof all survive renaming because both ends of a lookup are rewritten together. Where a rename shows up is reflection by string, which names a property the transform never rewrote.

Read article ›
What survives · New 2026-08-15 ~10 min read

Does obfuscation break JavaScript symbols?

Symbol-keyed properties and the well-known symbol protocols come through protection unchanged, because a symbol key is always a computed access and computed access is not one of the three places member renaming rewrites a name.

Read article ›

More articles coming

We publish on AI-aware protection, modern JavaScript build integration, runtime evidence, and how obfuscation fits with server-side authority. New posts are linked from the homepage when they go live.