Privacy Policy
Last updated: October 21, 2026
WarrantyKit is a Shopify app that lets a merchant register their products to the customers who bought them and manage warranty claims against the merchant's own manufacturer warranty. This policy explains what personal data the app processes, why, and how it is protected.
Our role. For the personal data of a store's customers, the merchant (the Shopify store that installs WarrantyKit) is the data controller. WarrantyKit acts as a data processor on that merchant's behalf, processing customer data only to provide the app's functionality to that merchant. This policy also describes how we handle the merchant's own account data, for which NerdLabs is the controller.
1. What We Process
1.1 Merchant / Store Data
The store's myshopify.com domain, an expiring Shopify access token, the subscription plan tier, and the merchant's warranty policies and product assignments.
1.2 Customer (Buyer) Personal Data
From the registrations phase on: email address; name; shipping address (for order-sourced registrations); the Shopify customer and order identifiers when the purchase was made on Shopify; product, variant, SKU and serial number; purchase date and retailer; and any notes the merchant adds.
1.3 Warranty-Claim Data
From the claims phase on: the claim details and the merchant's decision, and any evidence the buyer uploads (photos, video, receipts).
1.4 Store Owner's Email
The email address on the store owner's Shopify account (as set in Shopify — not the store's public contact email), the store's admin language, and whether it is a Shopify development store. It is used only to email the store owner: account alerts, a one-time welcome note on upgrading to a paid plan, and a one-time note after uninstalling asking what we could improve. It is never a customer's email.
1.5 Support Messages
If you message us from inside the app (including a free setup or customization request), we store your messages, your shop domain, the reply-to email address and name you provide or that Shopify lists for your store, and your admin language — used only to answer you and to email you when we reply.
1.6 Error Reports
If a page of the app in your Shopify admin hits a technical error, your browser sends us the error message and stack trace, the page address (without its query string), the browser type, and your shop domain, so we can find and fix the bug. Our support service on our DigitalOcean server stores the report and, through Mailgun, emails an alert with the error text and stack trace, page address and shop domain to our team's mailbox, which Google hosts. When Shopify's shop/redact request arrives, your shop domain in the stored reports is replaced with an anonymous identifier and the page address and browser type are removed. That does not cover the alert emails: we keep them while we need them to fix the bug and delete them on request.
We process the minimum data needed to provide the app's value and use it only for the purposes described here, including customer support (in-app support messages and free setup and customization help). We do not sell personal data, and we do not use it for advertising or for automated decisions with legal or significant effects — warranty-claim decisions are made by the merchant.
2. How We Collect It
- From Shopify, when a merchant installs the app and grants access, and through order webhooks and the Admin API for products, orders and customers the merchant already holds.
- From the merchant, when staff register a product or work a claim in the embedded admin.
- From the buyer, when they register a product or file a claim through the merchant's customer portal.
- From the merchant, when they message us from inside the app (including a free setup or customization request).
- From the merchant's browser, when a page of the app hits a technical error (section 1.6).
3. How We Protect It
- Customer name and shipping address are encrypted at the column level (AES-256-GCM) on top of a DigitalOcean block-storage volume that is itself encrypted at rest. The encryption key is held only in the server environment.
- All traffic is served over TLS 1.2+.
- Backups of the app's database are stored on the same encrypted volume and age out automatically. Support messages are held in our support-inbox database on the same server.
- Production access is SSH-key-only and limited to the operator; the host runs fail2ban. Development and production data are kept separate.
- Warranty-claim evidence is stored in a private Cloudflare R2 bucket (encrypted at rest) and served only through short-lived signed URLs; it is never placed on a public CDN.
- We maintain a written security incident-response process and will notify affected merchants of a confirmed personal-data breach within 72 hours.
4. How Long We Keep It
- Registrations are kept while the warranty is live and for 12 months after it expires, then anonymised (identity removed; the non-identifying record may remain for the merchant's defect analytics).
- Evidence files are deleted a configurable number of days after a claim closes (merchant setting; default 180 days).
- When a merchant uninstalls, access tokens are deleted immediately and the store's data is deleted after a 48-hour grace period, except technical error reports and their alert emails (see section 1.6), and in all cases in response to Shopify's shop-redaction request (within 30 days).
- The store owner's email, admin language and development-store flag are deleted when Shopify sends the shop data erasure request, about 48 hours after uninstall.
- Support messages are deleted together with your store data when Shopify sends its store-deletion (shop/redact) request, or sooner on request. Backup copies of support messages age out within 30 days.
5. Who We Share It With
We use a small number of sub-processors, only as needed to run the service:
- DigitalOcean — server and database hosting (United States).
- Cloudflare — TLS, and R2 storage for claim evidence.
- Mailgun — our email provider: delivering transactional and GDPR-report emails, our emails to the store owner (sent from support@nerdlabs.us, using the store owner's email), and our replies to your support messages (to the reply-to address you give us).
- Google — hosts our team's mailbox, which receives error alerts.
- Shopify — the platform the app runs on.
We do not share personal data with anyone else, and we never sell it.
6. Data Subject Rights (Shopify Privacy Webhooks / GDPR)
Because the merchant is the controller of their customers' data, a buyer who wants to access or delete their data should contact the merchant they bought from. WarrantyKit implements Shopify's mandatory privacy webhooks in full:
- A customer data request gathers every record WarrantyKit holds for that customer (matched by Shopify customer id and by email) and delivers it to the store owner before the request is acknowledged.
- A customer redaction anonymises that customer's records.
- A shop redaction deletes all of the store's data, including the store owner's email. Technical error reports and their alert emails are handled as described in section 1.6 instead.
These support the merchant's obligations under the GDPR, the CCPA/CPRA and similar laws. Merchants agree to WarrantyKit's terms and this policy when they install the app.
7. Changes
We will update this page when our practices change and revise the date at the top.
8. Contact Us
If you have questions about this Privacy Policy or how we handle your data, contact us at:
NerdLabs (operated by Joren Winge)
Email: support@nerdlabs.us
Website: nerdlabs.us