Privacy
How CaseKit processes Shopify and WooCommerce support data, account information and conversations when you use the optional Gmail extension.
Last updated: 7 October 2026
What the extension reads
CaseKit runs in Gmail and reads only the conversation currently displayed. It does this from the page itself, using a content script.
- CaseKit does not use the Gmail API and never requests Gmail account scopes. It does not automatically search your mailbox or open other conversations.
- It reads the sender and participant addresses on the open thread, any order number in the subject or message, and the text of the most recent message.
- Signing in uses Google identity only:
openid,emailandprofile. Nothing more.
Using CaseKit in Shopify Admin
The Shopify app works without Gmail, a Google account or the Chrome extension. When you ask for a reply, the app sends the order reference or customer email and the message you provide to api.casekit.app over HTTPS. Shopify session tokens authenticate access to your connected store.
Using CaseKit in WooCommerce
From plugin version 0.3.0, Draft reply uses the CaseKit service after the current WordPress user chooses Connect and draft. Each draft sends the pasted message (up to 2,000 characters), chosen language, question type, saved tone, reply-style instructions and four locally prepared candidate replies to api.casekit.app over HTTPS. On the first connection, the plugin sends its public site URL and a random installation secret; CaseKit checks a public proof endpoint on the site. The secret remains in a WordPress option and is encrypted in our service database; later requests are signed and replay protected. Consent is saved for that WordPress user on that site. Reply options → Local reply processes the message and order facts entirely on WordPress, free and unlimited without a CaseKit connection. The plugin does not require Gmail, Shopify or your own OpenAI key. In versions 0.2.2–0.2.4, regular Draft reply remains local and Draft with AI guidance is the separate service action. Once connected, opening a plugin admin screen may refresh plan and usage information without sending customer messages or order details.
Candidate replies can contain the customer's first name, order reference and status, tracking number or link, refund amount, and relevant store policy sentences. The customer message may contain other personal information you pasted. CaseKit does not request your WordPress administrator password, payment-card details or a full copy of your WooCommerce order database. Do not paste information that is unnecessary to answer the customer.
For service drafts, CaseKit interprets the question and assembles a factual reply for staff review, using AI when useful. Each successful service reply uses one Free allowance slot, including replies that need no AI call; failed requests and copying or recopying do not use another slot. Free includes 25 successful service replies per UTC calendar month. Local drafting, editing and copying remain unlimited. The plugin does not send email or change an order. See the WooCommerce privacy policy for version-specific processing and retention details.
Using the optional Gmail extension
The extension sends candidate customer email addresses, order references, a customer-message snippet capped at 800 characters, and a conversation identifier to our backend. The identifier supports duplicate-use detection; it is not a guarantee of anonymity. The extension does not upload attachments or entire mailbox contents. Google sign-in identifies the extension user; the extension stores its CaseKit session and account state locally in Chrome.
Shopify permissions and order data
CaseKit uses read_orders and read_customers to find the relevant order and customer and prepare support replies. Access normally covers the last 60 days of orders. It cannot edit, refund, cancel or fulfil an order.
Depending on the fields Shopify makes available, processing includes order references, customer name and email, dates, items, totals and currency, payment and fulfilment status, carrier and tracking information, refunds and returns, discounts, shipping method, order notes and tags, and the customer's order count.
Normalized order lookup results are cached in Cloudflare KV for up to 90 seconds to avoid repeat Shopify requests. The lookup cache can contain the customer and order fields listed above. Results shown in an open browser remain there until the page or extension clears them.
For successful drafts you explicitly request in Shopify Admin or the Gmail extension, CaseKit temporarily saves an encrypted copy of the generated reply and its order snapshot in Cloudflare D1, available for retrying or reopening for 30 days. This lets you retry or reopen the same draft without spending another allowance slot. A snapshot can contain the customer name and email, order reference, items, amounts, statuses, tracking details and other order facts used for that reply. Automatic order lookups and legacy automatic Gmail draft generation do not create this saved-draft cache. CaseKit does not create a permanent copy of the store's order history.
Shopify credentials are encrypted with AES-GCM on our backend and are never returned to the extension. When CaseKit processes Shopify's uninstall notification, it disables the connection and deletes the stored credentials.
Account, workspace and operational storage
Cloudflare D1 stores account email and identity, workspace and membership, store domain, encrypted credentials, subscription state, monthly usage, reply language, tone, policy and signature settings, feedback identifiers and operational audit events. Shopify successful-draft records contain the encrypted reply and order snapshot described above, plus store-scoped request hashes and usage receipts. Temporary request hashes are cleared when the expired encrypted content is removed. Opaque, content-free request and usage receipts contain no message, reply body or order snapshot; they remain for the account lifetime to prevent a retry or reopening from being counted again. Do not put unnecessary customer information or sensitive personal details in tone or policy settings.
For WooCommerce, WordPress stores the plugin's reply settings and installation secret locally. Cloudflare D1 stores the site's URL, an encrypted copy of the secret, Free or Pro status (including a demo expiry if applicable), monthly reply and AI-call counts, temporary draft and request identifiers, and AI model, token and estimated-cost records used to operate and audit the service. Those WooCommerce records do not contain the pasted message, a reply body, customer email or order history. The message and candidate replies are processed in memory for the requested draft, not saved in D1. Temporary Woo draft identifiers expire for use after 24 hours and are removed during subsequent authenticated service activity.
Website assistant abuse controls store daily salted hashes of IP addresses and request counters in Cloudflare KV for up to 48 hours. Cloudflare KV also stores temporary authentication state, connection claims, invitation and subscription-cache records, usage-deduplication identifiers and rate-limit records. Emails and store domains previously provided for launch notifications may remain until connection or a removal request. Signing into the extension does not enroll you for launch notifications.
Operational logs support troubleshooting and can contain request paths, store identifiers and upstream error diagnostics. CaseKit does not intentionally log message bodies or access tokens. Infrastructure providers also process technical request information, such as IP addresses, to operate and protect the service.
Affiliate attribution and partner dashboards
Personal Shopify app and Chrome extension installation links include a public affiliate ID and name the Growth Partner who referred you. The referral page asks for your explicit consent to share the store domain, linked Google email, current plan and monthly reply counts with that partner. You can install CaseKit without remembering a referral. Referral attribution is separate from optional website analytics; following a referral link does not enable Google Analytics without your analytics consent.
Only after you choose to remember the referral do we set a signed, secure, HttpOnly first-party referral cookie for up to 30 days. The first valid partner selection is kept. Install CaseKit from the Shopify App Store and open the app in the same browser and profile. Once Shopify verifies the store, a brief first-party return through CaseKit reads the remembered referral and associates it with that eligible new store, then returns you to Shopify Admin. This does not require Gmail or Google sign-in. The same referral memory can connect a later Shopify installation after following an extension link; an extension download alone is not a verified installation. As an optional fallback for account linking or extension setup, you may choose to remember the referral using verified Google identity; that pending account referral expires after 30 days. Use the same Google account when you later link the store. This sign-in does not read your mailbox. A link click is not proof of a connected or paying store. Each eligible new Shopify store keeps its first attribution. More than one eligible new store can be referred by the same partner; existing organic stores and reinstalls are not reassigned. WooCommerce plugin installations are not currently included in this referral flow.
A partner's private dashboard is restricted to stores attributed to that partner. It shows the store domain, connected Gmail address when available, reply counts and plan. It does not provide order or customer content, messages, generated replies, store credentials or access keys. The partner's private dashboard access must not be shared. CaseKit uses referral records, including the recorded consent, to provide attribution, partner reporting and eligible commission administration. The Google email is read from the current connected account rather than copied into the referral record; disconnecting that account removes it from the partner view. Store or workspace erasure also removes its referral record. Contact us using the privacy-request details below for access, correction or deletion requests.
AI processing
Shopify Pro reply generation and AI rewrites use OpenAI. For the five supported reply languages, order facts and policy sentences remain in reviewed templates; AI selects an acknowledgment. Other AI rewrite features may rephrase draft text and require merchant review. Requests may include the draft, customer-message snippet, language, store tone and policy, case/status information, order age, order count, item names, tags and order notes. Names, order references and tracking details can also appear in the draft. Shopify Free-plan support replies use server-side templates.
WooCommerce service replies use OpenAI when useful to interpret the customer message. CaseKit sends the pasted message to OpenAI to identify question topics, concern, style and a next-step category. Pro may also send the merchant's saved tone, limited to 200 characters, and reply-style instructions, limited to 800 characters. These preferences affect wording, not order facts, amounts, eligibility or store decisions. CaseKit does not deliberately send the four candidate replies or underlying order record in that OpenAI request; personal information pasted into the message is included. CaseKit assembles locally prepared factual paragraphs and reviewed wording. Local reply does not contact CaseKit or OpenAI. Review the result before sending it.
Separately, questions that the website assistant's local knowledge does not answer may be sent, with recent conversation messages, to OpenAI through our website assistant service. Do not submit customer records, credentials or payment details to the website assistant. Provider processing and retention are governed by their applicable service terms; the 90-second Shopify order-cache period does not describe OpenAI's retention. OpenAI requests disable response storage; this does not mean that all provider security or abuse-monitoring retention is disabled.
Service providers and purpose
- Cloudflare: website and API hosting, database, caches and service security.
- Shopify: store authorization, order/customer information and app billing.
- Google: identity for the optional extension; Gmail hosts the conversation the extension reads. Separately, optional website analytics after your consent.
- OpenAI: Shopify Pro reply processing, WooCommerce Free and Pro message classification, AI rewrites and website assistant responses when used.
We use this data to provide the requested features, manage access and billing, respond to support and privacy requests, and protect the service. Providers may process data outside your country. We do not sell personal data or use Gmail, Shopify or WooCommerce customer content for advertising.
CaseKit's use and transfer of information received from Google APIs to any other app adheres to the Google API Services User Data Policy, including the Limited Use requirements. Data obtained through the Chrome extension is used only for its disclosed support functionality and complies with the Chrome Web Store Limited Use policy.
Billing
CaseKit Shopify app subscriptions are handled through Shopify. We store subscription state, not card details. Legacy direct purchases made before CaseKit 2.0 used PayPal; questions about those purchases should be sent to support.
Installing or connecting the WooCommerce plugin does not create a charge. Optional WooCommerce Pro uses a recurring PayPal subscription approved separately by the store manager. PayPal receives the payment details entered in its checkout; CaseKit does not collect card numbers. CaseKit stores provider subscription and transaction identifiers, plan, payment state, verified paid periods and a keyed site fingerprint for renewal, cancellation, refund and dispute reconciliation. These financial records may remain after disconnecting or uninstalling where required for billing or legal obligations. Sandbox checkouts are tests and do not enable production Pro. See WooCommerce billing terms and the WooCommerce privacy policy.
Retention and privacy requests
Order lookup-cache entries expire within 90 seconds. Encrypted Shopify replies and order snapshots stop being available for retrying or reopening after 30 days; their expired stored content is removed by bounded scheduled daily cleanup. Cleanup processes a limited number of records per run, so physical removal may take longer when there is a backlog; expired content remains inaccessible throughout. Temporary request hashes are cleared with the encrypted content. Opaque, content-free request and usage receipts remain for the account lifetime to avoid charging the same draft twice, including across months. Account and workspace records are retained while needed to provide the service. Following uninstall, Shopify normally sends a shop-erasure request after 48 hours; CaseKit then removes the uninstalled store and its workspace data, retaining accounts that still belong to another workspace. A reinstalled active store is not erased by a stale uninstall request.
We verify Shopify's mandatory customer data-request, customer-erasure and shop-erasure webhooks. Authorized support staff can export temporarily retained draft content for a verified Shopify privacy request through private operational tools; Customer-erasure requests clear cached draft content for the relevant store, including content for other customers in that store where necessary to avoid retaining the requested customer's information. Shop-erasure requests remove the store's draft content, request hashes and receipts with the other workspace data. These operations are scoped to the relevant store; a request for one store does not expose or delete another store's data. Merchants can contact us for help with access, correction or deletion requests, including customer information they may have entered into settings or support messages.
For WooCommerce, use WooCommerce → CaseKit Settings → Disconnect and delete account data to request deletion of the site's active service connection, usage, draft identifiers, AI-call metadata and operator audit records. Uninstall also removes local settings and attempts service-account deletion; remote cleanup may fail if the service is unavailable or uninstall is interrupted. To prevent allowance resets or abuse restrictions being bypassed, CaseKit retains a keyed site fingerprint, the current month's consumed allowance and any disabled flag, without a plaintext site URL, installation secret or customer data. Billing records, infrastructure logs and backups may have separate retention. Disconnecting or uninstalling does not cancel a PayPal subscription; cancel future renewals through Manage Pro or PayPal automatic payments. See the WooCommerce privacy policy for retention and verified deletion requests.
Email support@casekit.app to request access, correction, deletion or availability-list removal. We verify the requester's authority before disclosing or deleting data and respond within 30 days, subject to applicable legal requirements. Billing or support records may be retained where needed to meet legal obligations or resolve a dispute.
Website and optional analytics
We do not run advertising trackers on casekit.app. Google Analytics loads only after you choose Allow analytics. Analytics stays off unless you allow it. Rejecting analytics does not affect CaseKit, installation or support. Change or withdraw your choice using Analytics preferences in the footer. We remember this preference in your browser for up to 180 days; it contains no customer information or analytics identifier.
With consent, Google Analytics measures visits to public pages and clicks on the Shopify app, optional Gmail extension and WordPress plugin installation links, plus support email links. A link click is not proof of installation or payment. Analytics receives the public page address and title, referring website origin, a cookie-based browser identifier, and technical information such as browser, device and approximate location. Visits with only standard UTM campaign parameters can be measured. Only preconfigured campaign names, source and medium labels are retained after consent; arbitrary values remain redacted. We also record which public workflow page was visited (Gmail, Shopify Admin or another page). This does not identify an installed or paying store across marketplaces. Pages with unknown or sensitive query parameters are excluded. We exclude URL query strings and fragments from analytics data, along with checkout and account pages, form fields, chat text, customer messages and order data. Advertising signals, personalization and automatic link, form, search and video measurement are disabled.
Analytics cookies are configured to expire after 90 days without automatic renewal. Withdrawing consent stops measurement and clears these cookies in this browser; it does not erase previously collected reports. Google processes this website analytics data under its privacy policy. Contact us about access or deletion requests. Website analytics is separate from Shopify and extension operational usage records.
The Analytics property's event-data retention is 2 months; user-data retention is 14 months, reset by new activity. These controls do not remove aggregated standard reports, which may remain longer.
The site also uses service infrastructure and browser storage where needed for its features. Demo videos are hosted by YouTube; loading a video involves Google's services. The website assistant has the separate processing described above.
Changes
Material changes to this policy will be announced on the changelog before they take effect.
Contact
Privacy questions: support@casekit.app
Infra Cloud Services S.A.R.L AU, Morocco