Compatibility · New
2026-08-15
~10 min read
Does obfuscation break Web Crypto?
Digests, HMAC signing and an AES-GCM round trip measured byte-identical against a real WebCrypto implementation in five configurations. The one way to break it is pointing member renaming at the algorithm dictionary or the SubtleCrypto method names.
Read article ›
Compatibility · New
2026-08-15
~10 min read
Does obfuscation break data-* attributes and dataset?
Attribute reads, the dataset camelCase bridge, selector strings and class lists all measured identical. Member renaming reaching a dataset key detaches your JavaScript from your HTML silently, producing undefined, NaN and false rather than an error.
Read article ›
Compatibility · New
2026-08-15
~10 min read
Does obfuscation break eval and new Function?
The Function constructor, indirect eval and string-built helpers behave identically, and their source text passes through unprotected. Direct eval that reads a renamed local stops resolving, which is the one measured break.
Read article ›
Compatibility · New
2026-08-15
~10 min read
Does obfuscation break date and time handling?
ISO round trips, epoch arithmetic, UTC field access, month and day normalisation, leap years and fixed-locale formatting all measured identical. The surprises in this area belong to the Date API, and protection preserves them faithfully.
Read article ›
Compatibility · New
2026-08-15
~10 min read
Does obfuscation break Promise.all and Promise.race?
All four combinators, thenable adoption, AbortController and microtask ordering measured identical. The real hazard is member renaming reaching then, status, value or reason, which we measured breaking hard.
Read article ›
Compatibility · New
2026-08-15
~10 min read
Does obfuscation break try, catch and finally?
The finally return-override rule, rethrow identity, nested handler ordering, per-iteration finally with break and continue, and optional catch binding all measured identical on both targets.
Read article ›
Compatibility · New
2026-08-15
~10 min read
Does obfuscation break client-side routing?
Pattern compilation, parameter extraction, query parsing, history navigation and guards measured identical. Route strings are data, which is also why protection does not hide your route table.
Read article ›
What survives · New
2026-08-15
~10 min read
Does obfuscation change evaluation order?
Argument order, postfix and prefix increment, compound assignment, the comma operator, short-circuiting and getter side effects all measured byte-identical. The sample was built to expose reordering and found none.
Read article ›
Compatibility · New
2026-08-15
~10 min read
Does obfuscation break your event emitter?
An emitter with on, off, once and emit measured identical, including with its own API renamed. Event names are strings and survive; the boundary to watch is a bus shared across separately protected bundles.
Read article ›
Compatibility · New
2026-08-15
~10 min read
Does obfuscation break URL and query string building?
URL, URLSearchParams, encodeURIComponent and relative resolution measured identical, including under the string table. What protection does not do is hide the endpoints your bundle calls.
Read article ›
Compatibility · New
2026-08-15
~10 min read
Does obfuscation break emoji and code points?
String length in code units, surrogate pairs, normalization, code-point iteration and the regexp u flag all measured identical. The bugs in this area are in the original code and are preserved faithfully.
Read article ›
Compatibility · New
2026-08-15
~10 min read
Does obfuscation break number formatting?
toFixed, toPrecision, toString with a radix, parseInt and parseFloat all measured byte-identical after protection, including the rounding cases that look like bugs. The only way to break them is a member pattern matching a built-in name.
Read article ›