Cove Wishlist

Security

Last updated 2026-10-22

A wishlist app runs on every page of your store, so it is built to give an attacker as little to work with as possible.

No remote code

The code that runs on your storefront ships only inside the app’s theme extension, which Shopify versions on every deploy. Our servers never send scripts: the API returns data only, the wishlist pages served through your store are script-free Liquid, and your design settings are rendered by Shopify’s Liquid, not fetched by the browser. Changing what runs on your store therefore needs a new, recorded app version.

If a storefront feature ever misbehaves, we can switch the app’s storefront features off on a store at once. The switch is a setting the theme extension reads through Liquid, so pausing the app ships no code either; while it is off the app adds nothing to your pages.

Read-only access

The app holds only these permissions on your store. Its one write permission, write_app_proxy, lets Shopify send your store’s /apps/wishlist address to the app; it cannot change products, customers, orders or code.

PermissionWhy
read_ordersCount wishlist sales for your revenue report: which order lines came from a wishlist, and their amounts. Only order, line and product IDs and amounts are kept, never names, emails or addresses.
read_productsShow saved products and spot price drops and restocks.
read_customersTie wishlists to signed-in customers by their Shopify ID, and match imported lists to customers.
unauthenticated_read_product_listingsShow product details on the My wishlist account page.
write_app_proxyRoute your store’s /apps/wishlist address to the app. Can’t change store data or code.

It never requests write_themes, write_script_tags, write_online_store_pages, write_products, write_customers, write_orders, read_all_orders. Without the first three it cannot edit your theme, add scripts or change your pages, so it cannot be used to change your store’s code. An automated test blocks any release that adds a permission.

Minimal data

We store Shopify IDs, not shoppers’ names, phone numbers or addresses, and only one kind of email address:

No third-party secrets (such as email platform API keys) are stored. See the privacy policy for retention periods.

How we run it

Incident response

If we find or are told about a security incident, we:

  1. Contain it first: pause the affected feature or the app’s access, and revoke and rotate credentials.
  2. Tell affected merchants without undue delay, and within 72 hours of confirming it, what happened and what to do.
  3. Fix the cause and check every affected store.
  4. Publish a written postmortem.

Report a vulnerability

Email contact@stackcraftdigital.co.uk with what you found, how to reproduce it and the store or URL involved (a development store, please, not a live one). We reply within two business days, keep you updated until it is fixed, and will not take action against good-faith research that avoids harming merchants or shoppers, their data or the service. The same contact is published at /.well-known/security.txt.