the guidelines used to carve out explicitly interpreted content such as JS engines and Lua. we're mostly relying on the fact that React Native ships their Hermes engine to a million apps and there's already quite a few embedding QuickJS themselves. you don't need a JS engine to significantly change the functionality of your apps, you can do that with plain code. I think users of JS engines are overly careful to ensure they don't violate that rule so as to not draw undue attention on themselves. what's the difference between an interpreting JS engine and some "native" code which iterates a series of JSON and protos and conditionally performs operations and displays content? very little.