Red Titanium Google section: Obfuscation

Red Titanium: Obfuscated code

Reviewers must be able to read your code. Minification is allowed: whitespace removed, short variable names, files merged. Obfuscation is not: encoded strings, _0x identifier tables, Base64 that gets decoded and run.

The fix: rejected → fixed

webpack.config.js− rejected+ fixed
module.exports = {Removed:   mode: 'development',Removed:   devtool: 'eval-source-map',Added:   mode: 'production',Added:   devtool: 'source-map',  plugins: [Removed:     new WebpackObfuscator({ rotateStringArray: true, stringArray: true }),  ],};

Production mode with Terser gives ordinary minification, which is allowed. The obfuscator plugin and the eval-based dev build are gone.

Why you got Red Titanium

  • Running javascript-obfuscator or a webpack obfuscator plugin to "protect" the code.
  • Shipping a webpack development build that wraps every module in an eval("…") string.
  • Base64 or hex-escaped strings that are decoded at runtime and executed.
  • A third-party SDK that is itself obfuscated.

Pre-resubmit checklist

Your ticks are saved in this browser.

Common mistake: Source maps are optional. Readable output is what the reviewer needs, so you don't have to ship your original source.

Appeal or resubmission note

Replace the [BRACKETS], then use the appeal link in your rejection email. Keep it short and factual, and list only changes you actually made.

Hello Chrome Web Store team,

My item [EXTENSION NAME] (ID: [ITEM ID]) was rejected with reference Red Titanium.

I have reviewed the policy and made the following changes in version [NEW VERSION]:
- Removed the obfuscation step from the build; code is now only minified with Terser.
- Replaced [SDK] with its non-obfuscated distribution.
- Removed encoded strings that were decoded at runtime.

[ONE SENTENCE ON WHAT THE EXTENSION DOES AND WHY IT NEEDS WHAT REMAINS.]

I have resubmitted the updated package. If anything still does not comply, I would appreciate a pointer to the specific file or listing field so I can fix it.

Thank you,
[YOUR NAME]

Google's own wording for this code is on the Chrome Web Store troubleshooting page under "Obfuscation".

Other fix guides