I’m developing a Shopify app that needs to work deeply with themes. When we encounter a theme that we don’t support yet, the app may temporarily download the full set of theme files so we can analyze the structure and automatically enable our feature for that theme.
The intent is purely to improve compatibility and automation, but I’m wondering if anyone here has run into issues with Shopify (for example during app review or audits) when downloading full theme files for internal processing like this.
I’d really appreciate hearing about any real-world experiences or guidance.
Thanks!
Hey @parker, can you share more about what your app needs from the theme files?
The reason I ask is for most theme integrations, theme app extensions are the recommended (and for App Store apps, required) approach. They handle cross-theme compatibility without needing to analyze theme internals. Theme scopes like write_themesrequire exemption approval.
For your case where you work with unknown themes, one option is scoping theme file access as a specific debug/diagnostic feature rather than a blanket operation. That way the requested scopes have a more clear and obvious purpose within your application. That will benefit merchants using your app as well as the app review team to understand how your app functions.
To clarify a bit more: our app doesn’t need write_themes. We do need fairly broad read access to theme files in order to automatically install our widget on product or collection pages.
When we encounter a theme we don’t support yet, the app may temporarily analyze its theme files to understand the structure and generate a preset. After that, we rely on Theme App Extensions for the actual integration. This only happens for unknown themes, and once supported, they’re added to our internal list so we don’t repeat the process.
My main concern is whether this kind of temporary, read-only theme analysis has caused issues in app review, or been perceived as overreach or theme code scraping, even though the intent is purely to improve compatibility and automation.
Hey @parker, thanks for that context. It is a bit hard to say for sure yes or no if this would be permitted as it’s context-dependent on your full app functionality and how you’d use the theme data.
That said, a few things to consider. With theme analysis as you have described, it needs to be transparent to merchants and compliant with App Store Requirements. Merchants should clearly understand what data you’re accessing and why.
One question I do have, since you’re using Theme App Extensions, merchants already control block placement in the theme editor. I’m curious what your app need to understand about the theme structure beyond knowing it supports app blocks?
In addition to this, many merchants have customized themes, so even known themes may not behave as expected if the app relies on a specific structure.
Absolutely, we do support drag-and-drop app blocks where available, but not all themes fully support them.
In addition, some features (for example, rendering a widget on a product image card in collection views) require understanding how the theme actually structures and renders those components. Without knowing the theme structure, it’s hard to behave reliably across themes.
Thanks a lot for the feedback, we’ll definitely be careful and thoughtful in how we approach this.