Shopify App Developer Policy Enforcement

Topic summary

A Shopify merchant experienced ongoing billing issues with the Spocket app after uninstallation. Despite removing the app, Spocket continued charging the merchant’s payment method and automatically switched to an alternative payment method when PayPal was removed.

Key Problems:

  • App failed to stop recurring charges upon uninstallation
  • Unauthorized automatic switching of payment methods
  • Required direct email intervention to stop charges
  • App left behind corrupted theme files (JSON configuration files with no line structure)

Technical Impact:
The broken JSON files prevented configuration management software from identifying changes, making troubleshooting impossible. The merchant’s only viable solution appears to be migrating to a new Shopify theme and rebuilding the store.

Policy Question:
The merchant is asking whether Shopify can expand app developer policies to address apps like Spocket that don’t properly clean up after uninstallation, as this violates expected app behavior standards.

Summarized with AI on November 9. AI used: claude-sonnet-4-5-20250929.

It was my understanding that a Shopify app should clean up after itself when uninstalled and cease all recurring charges. This does not seem to be the case with the Spocket app. Spocket continued to post charges to my payment method after I uninstalled the app. When I removed my payment method (PayPal), it automatically switched to a default payment method without asking me and continued its attempts to charge my bank account. I had to engage in an email conversation to get them to cease and desist. In the aftermath, my theme was broken – specifically, the json files used to encode configuration settings. I couldn’t troubleshoot the problem because json files have no line structure, thus impeding the ability of my configuration management software to determine the before and after differences. My only option seems to be to switch to a newer Shopify theme and rebuild my store there.

I’m wondering if someone at Shopify can look into expanding their app developer policies to include Spocket.

David@GoYrOwnWay.com

Best regards,

David@GoYrOwnWay.com

David [email removed] GoYrOwnWay.com

Hi @GoYrOwnWay :waving_hand:

For actual support inquiries merchants MUST contact a shopify support-advisor DIRECTLY on the help/chat site.
These are the peer-to-peer forums.
Location location location.


For any type of policy problem around apps you need to clearly disambiguate your responsibilities to agreements that may have nothing to do with an app.

An app and a service are not the same thing.
An app is basically just an interface between X and Y on a store.
An apps existence does not necessarily have anything to do with a service existing.
Nor do apps prevent/enforce/break your EXTERNAL agreements.

This may only have any relevance to shopify if you were charged through shopify’s billing itself.

This is generally only true for extension only apps.
Apps/services that have to modify files directly can’t always fully clean up.
:brain: Think it through: if the app is uninstalled how is it supposed to access the store to clean up, it can’t.
Generally some apps/services maybe have some PRE process to use to aid clean up BEFORE full uninstall.
If the account exists and the app has this feature then an option may be to reinstall, hope there’s a cache of such a backup/uninstall and use it then uninstall properly.
But it sounds like you cut ties and or nuked it all.

That is fundamentally NOT true.
JSON is specifically used for development because it has structure.
Your “configuration management software” probably just doesn’t have proper version management or file diff’ing, or just plain lacks the ability to unminify JSON.

Try to do file rollbacks https://help.shopify.com/en/manual/online-store/themes/theme-structure/extend/edit-theme-code#roll-back
Before adding any theme affecting apps/services a proper backup process should be in place if not just simply using the github integration for version tracking.
Read the manual thoroughly for the software your business literally relies on it.

Hey, just to add to Paul’s comment, billing and subscriptions are usually handled directly by Shopify. When you uninstall an app, your subscription should cancel automatically. You might still be charged for the current billing cycle, but Shopify generally issues a refund on your next invoice.

If you’ve been overcharged, definitely reach out to Shopify support, they’re usually quite responsive when it comes to refund requests. You can also report the partner through the appropriate channels if necessary.

As Paul also mentioned, the tricky part with non-extension apps is that the moment you hit the uninstall button, the app immediately loses access to your store. That means it can’t clean up or remove any leftover data. On my own LLMs.txt app, which has the same limitation, I’ve added a button that users can click before uninstalling if they want a completely clean removal, though it’s entirely optional.

Paul,

Let me answer your points individually.

| PaulNewton Shopify Partner
November 9 |

  • | - |

Hi @GoYrOwnWay :waving_hand:

GoYrOwnWay:

I’m wondering if someone at Shopify can look…

For actual support inquiries merchants MUST contact a shopify support-advisor DIRECTLY on the help/chat site.
These are the peer-to-peer forums.
Location location location.

That’s where I was and what I thought I was doing when I issued this report.


For any type of policy problem around apps you need to clearly disambiguate your responsibilities to agreements that may have nothing to do with an app.

An app and a service are not the same thing.
An app is basically just an interface between X and Y on a store.
An apps existence does not necessarily have anything to do with a service existing.
Nor do apps prevent/enforce/break your EXTERNAL agreements.

A store owner does not have time to unravel these legalistic intrigues — ever, if they want to be successful, nor do I think they are relevant to the problem at hand.

This may only have any relevance to shopify if you were charged through shopify’s billing itself.

It is relevant to Shopify because (I had presumed until now) that the developers of Shopify apps must answer to Shopify, and that Shopify would exert some form of regulatory authority over them for the protection of Shopify users, as Apple does for iOS and MacOS apps, for example.

GoYrOwnWay:

It was my understanding that a Shopify app should clean up after itself when uninstalled

This is generally only true for extension only apps.
Apps/services that have to modify files directly can’t always fully clean up.
:brain:Think it through: if the app is uninstalled how is it supposed to access the store to clean up, it can’t.

It can and obviously should do so in the initial stages of responding to the uninstall demand, before casting off, so to speak.

Generally some apps/services maybe have some PRE process to use to aid clean up BEFORE full uninstall.
If the account exists and the app has this feature then an option may be to reinstall, hope there’s a cache of such a backup/uninstall and use it then uninstall properly.
But it sounds like you cut ties and or nuked it all.

I uninstalled the app. Is that “nuking”?

GoYrOwnWay:

because json files have no line structure

That is fundamentally NOT true.
JSON is specifically used for development because it has structure.
Your “configuration management software” probably just doesn’t have proper version management or file diff’ing, or just plain lacks the ability to unminify JSON.

json has syntactical structure but no text-level line structure. ANY “configuration management software” needs to see text-level line structure because they’re designed for configuration management and should not be expected to have syntactical knowledge of every programming or configuration language they could ever be used to manage, nor even to know whether or not they’re even managing this or that kind of text. I’m using git locally, which is perhaps the least obscure “configuration management software” in existence today.

GoYrOwnWay:

My only option seems to be to switch to a newer Shopify theme

Try to do file rollbacks https://help.shopify.com/en/manual/online-store/themes/theme-structure/extend/edit-theme-code#roll-back

I did all of that before issuing my report to Shopify. In case it hasn’t become obvious, I have decades of professional experience in software configuration management and version control.

Before adding any theme affecting apps/services a proper backup process should be in place if not just simply using the github integration for version tracking.

In addition to tracking my theme versions locally in git, (which requires I download them), I also use the Rewind Shopify app to periodically back them up online automatically. I also back up my local git repository, as well as individual pages or product listings. I literally wrote the book on software backups.

Read the manual thoroughly for the software your business literally relies on it.

This would not have prevented Spocket from destroying my theme, which is the only reason I issued my report. I see Shopify app developers as your responsibility, which is the reason I issued my report to you.