How CaseKit handles your data
CaseKit sits between your customers and your store, so this page states the access model plainly rather than reaching for reassuring adjectives. The privacy policy is the authoritative legal statement; this is the engineering summary.
The access model in three parts
Gmail access
A Chrome content-script adapter reads the conversation you have open. No Gmail API restricted scopes, no mailbox-wide permission, no access to your other threads or attachments.
Shopify access
Read-only. CaseKit can retrieve order, customer and fulfillment data. It cannot refund, cancel, edit or fulfill an order, because it holds no write scopes.
What is transmitted
The minimum context needed to resolve an order: sender address, any order reference in the message, and a short snippet used to classify the request. Sent over HTTPS.
Why 2.0 is no longer local-first
CaseKit 1.x ran on the Shopify admin order page. You had already opened the order, so the data was on your screen already — the extension only had to read and format what was in front of it. Nothing needed to leave the browser because nothing needed to be fetched.
CaseKit 2.0 runs in Gmail. The Shopify order is not on your screen; that is the entire point. Finding it means asking Shopify, and asking Shopify means holding a credential for your store.
That left two options:
- Keep the Shopify token in the browser extension and query Shopify directly from your machine. This preserves the local-first claim. It also puts a long-lived credential for your store inside browser storage, where any extension compromise, any shared machine and any exported profile exposes it.
- Keep the token on a server, encrypted, and have the extension send only what is needed to identify the order.
We chose the second. It costs us the marketing line and it is the safer design: your Shopify credential is encrypted with AES-256-GCM, never sent to the extension, and revoked the moment you uninstall the app from Shopify.
What that means in practice
Compared with 1.x, CaseKit 2.0 transmits more and stores more. Specifically, three things now leave your browser that previously did not:
- Candidate customer email addresses from the open conversation
- Any order reference found in the subject or message
- A snippet of the customer's message, capped at 800 characters
In exchange, 2.0 answers a question 1.x could not: which order is this email about? If that trade is not one you want to make, 1.x's model was genuinely more private and we will say so rather than pretend otherwise.
What has not changed: Shopify access is still read-only, CaseKit still cannot refund, cancel, edit or fulfil an order, and it still cannot send an email. The privacy policy is the authoritative version of all of this.
What we will not claim
A short list of things you will read on competing extension sites that would be untrue if we said them.
| Claim | Why we do not make it |
|---|---|
| "Your data never leaves your browser" | Untrue for CaseKit. Order resolution happens on our backend, so context is transmitted. |
| "We never process email content" | A short snippet of the current message is used to classify the request. |
| "100% private" / "military-grade encryption" | Marketing language rather than a verifiable technical statement. |
| "We never store any data" | Workspace state, settings and entitlements are stored. Full Gmail threads are not the data model and raw email bodies are not logged. |
Read the privacy policy for the authoritative statement of what is collected and retained.
Human control by design
No automatic sending
CaseKit writes a draft into the composer when you press Insert Reply. Sending is always a person clicking Send in Gmail.
No order mutations
Refunds, cancellations, edits and fulfillment are outside CaseKit's access entirely, not just disabled in the interface.
Quiet failure
If CaseKit cannot resolve an order or reach Shopify, it says so in its own panel and leaves Gmail working normally.
Security questions
Does CaseKit use the Gmail API?
What Shopify scopes does CaseKit request?
Where does the Shopify credential live?
Is data encrypted in transit?
The old CaseKit said local-first. What changed?
Can I revoke access?
Read the full privacy policy
The privacy policy is the authoritative statement of what CaseKit collects, transmits and retains.