Hey there, we have 1000+ Installs on one of our App and we currently have read_products in scopes while additional scopes (like read_orders, read_customers etc.) in optional scopes.
What happens, if we move the read_products to optional scopes? Do all merchants who have installed BEFORE this change just keep the scope?
For new installations it should not be a problem. Just curious if this have impact on current app isntallations. Cant find anything regarding this in the docs
Thank you
Kind regards
Hey @Yann_Faulhaber
thanks for flagging this and good question.
I ran this through some testing on my end to give you a data point. I moved read_products from the required scopes into optional_scopes, deployed, and then checked a store that already had read_products granted before the change. The scope stuck around - still granted, no re-prompt, and nothing revoked when the app reopened. So in my testing, existing installs that already approved the scope keep it after the move.
One caveat: I’d still recommend trying this in your own setup with a single test store before you roll it out across all your installs. It’s definitely worth confirming the same behavior holds for your specific app and environment before making the change across all of your existing app installs.
You’re also right that the docs don’t really cover this scenario. The required-to-optional move, and what it means for existing versus new installs, isn’t spelled out anywhere I could find. I’m going to take a look at making an adjustment to the docs based on this feedback.
Hope this helps!
Thank You @Wes-Dev-Shopify for your reply and testing on your end.
I just tested it on my Staged Dev App and it worked there exactly like you described.
Kind regards
YAnn
Happy to help @Yann_Faulhaber 
We’ve also updated our docs so that this behaviour is documented moving forward, so thanks for your feedback here.