1. Who this covers
Catalog Guard: Content Lock (“Catalog Guard”, “the app”) is built and operated by Bulwark Logic. This policy describes how the app handles data belonging to merchants who install it from the Shopify App Store, and to the customers who visit those merchants’ storefronts. It does not cover bulwarklogic.com, which has its own analytics and policies.
2. What the app accesses, and why
Catalog Guard requests the minimum Shopify permissions needed to do its job. Nothing is requested “just in case.”
- Products & collections (read) — title, handle, and member products, to let a merchant pick what to protect and to hide protected items in collection grids.
- Online store pages (read) — title and handle, for merchants protecting a Shopify page.
- Products (write) — a single metafield per protected product, storing the rule data the storefront checkout Function needs to enforce Restrict Purchase. No other product data is ever changed.
- Customers (read only) — a logged-in visitor’s customer tags, checked server-side to evaluate tag-based rules. Catalog Guard never writes to customer records, and does not access customer names, emails, addresses, or order history.
- Validations (read/write) — required by Shopify to register and configure the Cart/Checkout Validation Function that enforces Restrict Purchase.
Catalog Guard does not request access to orders, discounts, or any customer-account write permission, and it never creates or manages customer logins, passwords, or multi-factor authentication itself — it relies entirely on the customer login and tags a merchant already manages in Shopify.
3. Data the app stores
Catalog Guard’s own database stores the access rules a merchant creates (which resource, which condition, which action, and which denied-visitor behaviour), the shop’s install and billing state, and short-lived secret-link tokens. A logged-in visitor’s customer tags are read from Shopify only to evaluate a tag-based rule and are cached for no more than five minutes. The app does not maintain a copy of a merchant’s customer list or customer tags.
To provide the merchant with access activity, Catalog Guard records the time, protected resource, rule result, and an opaque Shopify customer ID when one is available. It does not store customer names, email addresses, phone numbers, postal addresses, orders, or payment data. Data is stored in a PostgreSQL database operated for this app and is not shared with, or sold to, any third party.
4. Cookies and tracking
The app itself sets no advertising or cross-site tracking cookies. Session cookies are used only where required for the embedded Shopify admin UI to function. The app does not run any third-party analytics or advertising script against merchant storefronts.
5. Data retention and deletion
Access rules and related data are retained for as long as the app is installed on a shop. Customer-tag cache entries expire after no more than five minutes. Catalog Guard anonymizes the customer ID in access activity no later than 90 days after the activity is recorded; the non-identifying aggregate activity record may remain for reporting.
If a protected product, collection, or page is deleted in Shopify, or the app is uninstalled, the corresponding rules are removed automatically via Shopify’s webhooks. Catalog Guard implements Shopify’s mandatory compliance webhooks — customer data request, customer redact, and shop redact — so a merchant’s data-subject requests are honoured through Shopify’s standard process.
6. Merchant and customer rights
A merchant can delete any rule, disconnect the app, or uninstall it at any time from Shopify admin. A storefront visitor’s customer tags and login state are used only to evaluate access at the time of an access check; customer tags are not stored outside the short-lived cache described above. Requests relating to a specific store’s data should go through that store’s merchant, who can raise it with us directly or via Shopify’s compliance webhook process.
7. Contact
Questions about this policy or how Catalog Guard handles data can be sent to [email protected].
8. Changes to this policy
If this policy changes materially, the “last updated” date above will change accordingly. Continued use of the app after an update constitutes acceptance of the revised policy.