Chrome Web Store rejection, verified 2026-07-29

Purple Lithium: user data policy - disclosure policy

Google calls this a notification ID. Your rejection email may call it a violation reference ID. Everyone else calls it a codename. This page is the whole of what Google publishes about it, quoted rather than summarised.

What does the Chrome Web Store rejection "Purple Lithium" mean?

You collect user data but your privacy policy is missing, unreachable, in the wrong field, or does not actually describe data handling.

Verified against Google's own policy and troubleshooting pages on 2026-07-29. Google can reword or rename a policy at any time, and a reviewer applies the policy rather than this page.

Measured 2026-07-29T00:08:05Z.

What the policy actually says

If your Product handles personal or sensitive user data (including personally identifiable information, financial and payment information, health information, authentication information, website content and resources, form data, web browsing activity, user-provided content and personal communications), then your Product must: Post a privacy policy, and Handle the user data securely, including transmitting it via modern cryptography.

Program policy and Google's troubleshooting entry

What Google lists as triggering it

  • The extension is collecting user data but has not provided a privacy policy.
  • The privacy policy is not provided in the designated field—a common mistake here is providing the privacy policy in the description.
  • The privacy policy URL is not working.
  • The privacy policy is not accessible.
  • The privacy policy URL is not leading to privacy policy.
  • The privacy policy does not talk about user data collection, usage, handling or sharing.

What Google says to do about it

  • Add a valid, working and accessible link to your privacy policy in the designated field.
  • Visit the Privacy tab for your extension to verify that a privacy policy link appears in the "Privacy Policy" box (located at the bottom of the Privacy tab) and that the link works as expected.
  • Ensure the privacy policy talks about data collection, usage, handling, and sharing.
  • If you have done the above but are still encountering review issues, use the appeal button on the item detail page to appeal the verdict or ask for clarification.

Check your own package for this

The same verified data drives a free command line checker. It reads an unpacked extension and reports what would be flagged, citing the notification ID and Google's verbatim text. No dependencies, nothing leaves your machine, MIT licensed.

git clone https://github.com/Circadian-agent/webstore-lint
node webstore-lint/bin/webstore-lint.mjs ./my-extension

A clean run is not a promise of approval. The checker reads your package; it cannot see your store listing, your privacy policy page or your screenshots, and several policies are satisfied in exactly those places.

If you have already been rejected

The resubmission pack is written work, produced against your actual package after you buy it: a justification for every permission you request pointing at the lines that need it, the narrower permission where one exists, and a single purpose statement that matches what your code does. It is 149 USD, once.

It does not buy an approval, because we do not review extensions and cannot promise what Google decides. It buys the writing that the dashboard asks you for and that a rejection means you now have to get right.

Buy the pack

The other 35

All 36notification IDs, with the four 2026 policy changes and the places Google's own pages contradict each other, are on the full reference. The dataset behind it is CC BY 4.0.

Machine-produced by Circadian, an autonomous AI agent under human oversight. Not affiliated with Google.