Overview
ChatKit is a free Chrome extension that adds productivity features to AI chat platforms including ChatGPT, Claude, Gemini, and Grok. This privacy policy explains what data the extension accesses, how it is stored, and the limited circumstances under which data leaves your browser.
What Data We Collect
ChatKit accesses the following data to provide its features. None of this data is sent to the extension developer or any third-party analytics service.
1. Chat Content (Read Only)
To export your conversations, ChatKit reads message content from the AI platform you are actively using. This includes:
- Message text (your prompts and AI responses)
- Timestamps for each message
- File attachments and images you have uploaded
- Generated artifacts and project files (on Claude)
This data is processed entirely in your browser and is never transmitted to any external server. It is used solely to generate the export file you request.
2. Export Preferences
ChatKit stores your export settings locally in your browser:
- Include user name / email toggle
- Date format preference
- File name format preference
- PDF page settings (orientation, margins)
- Clipboard behavior preference
- Brand removal toggle
- Last-used export format and scope
3. API Key (User-Provided)
If you use the Prompt Optimizer feature with your own Google Gemini API key (Bring Your Own Key), that key is stored locally in your browser and sent only to Google's Gemini API endpoint. The extension developer never has access to your API key.
4. Queue Data
If you use the Message Queue feature, queued prompts and file attachments are stored locally in your browser's IndexedDB database. This data is never transmitted externally.
5. Platform Enable State
ChatKit remembers which AI platforms you have enabled (e.g., ChatGPT, Claude) so it does not need to re-prompt you each time. This is stored locally.
How Data Is Stored
All data is stored locally on your device using Chrome's built-in storage APIs. ChatKit uses no remote servers and no cloud storage.
| Storage Type | What Is Stored | Synced to Cloud? |
|---|---|---|
chrome.storage.local | Export preferences, API keys, platform enable state, UI preferences | No |
| IndexedDB | Job records (export status/progress), queued prompts, file attachment blobs | No |
chrome.storage.sync. No data is ever synced to Google's cloud servers through Chrome's sync feature.
How Data Is Used
Every piece of data ChatKit accesses serves a single, specific purpose:
Conversation Export
Reads chat messages to generate export files in your chosen format (Markdown, Text, CSV, JSON, PDF).
Prompt Optimization
Sends your draft prompt and recent conversation context to Google Gemini (using your own API key) to generate an enhanced version.
Message Queuing
Stores queued prompts and attachments locally to send them automatically when you are ready.
Extension Settings
Stores your preferences locally so they persist across browser sessions.
Third-Party Services
ChatKit does not use any third-party analytics, telemetry, tracking, or advertising services. There are:
- No analytics calls (no Google Analytics, Mixpanel, Amplitude, etc.)
- No telemetry or phone-home mechanisms
- No tracking pixels or beacons
- No crash reporting services
- No advertising SDKs
Bundled Libraries (Local Only)
ChatKit bundles the following open-source libraries for local use. None of these libraries make external network requests:
| Library | Purpose | Makes External Requests? |
|---|---|---|
pdfmake | PDF document generation | No |
marked | Markdown parsing | No |
KaTeX | LaTeX math rendering | No |
highlight.js | Code syntax highlighting | No |
Chrome Permissions
ChatKit requests the following Chrome permissions to provide its features:
| Permission | Why It's Needed |
|---|---|
storage | Store export preferences, API keys, and extension settings locally on your device. |
tabs | Query the active tab URL to identify which AI platform you are using, and create throwaway tabs for PDF rendering. |
scripting | Inject content scripts into AI platform pages and dynamically register/unregister scripts for enabled platforms. |
debugger | This permission is only used for creating PDF files. It lets the extension temporarily open a hidden browser tab to create the PDF, and never connects to or changes any of your actual browsing tabs. |
Host Permissions
| Host | Why It's Needed |
|---|---|
chatgpt.com | Read conversation content and inject the export panel on ChatGPT. |
chat.openai.com | Same as above for the legacy OpenAI domain. |
claude.ai | Fetch conversation data via Claude's API using your session cookies (requires explicit user opt-in via the Options page). |
generativelanguage.googleapis.com | Send your prompt to Google Gemini for optimization (only when you provide your own API key). |
Data Sharing
ChatKit does not share any data with third parties. The only network requests made are to the AI platforms you are already authenticated with (ChatGPT, Claude) and to Google's Gemini API when you explicitly use the Prompt Optimizer with your own API key.
Data Retention and Deletion
All data stored by ChatKit remains on your device until you choose to remove it.
- Export preferences: Stored locally until you uninstall the extension or clear extension data.
- API keys: Stored locally until you remove them from the Options page or uninstall the extension.
- Queued messages: Stored in IndexedDB until sent or manually cleared.
- Job records: Temporary export progress data, automatically cleaned up.
To delete all ChatKit data, you can:
- Go to
chrome://extensions, find ChatKit, and click "Remove" - Or go to ChatKit's Options page and clear stored data manually
Security
ChatKit takes the following security measures:
- All processing happens locally in your browser — no data is sent to external servers owned by the extension developer
- The
debuggerpermission is used exclusively on hidden throwaway tabs for PDF rendering, never on your live platform tab - No data is synced to Chrome's cloud sync storage
- No analytics, telemetry, or tracking code is included
- All bundled libraries are local copies that make no external network requests
- Your session tokens and cookies are used only to authenticate with platforms you are already logged into — they are never stored or transmitted elsewhere
Children's Privacy
ChatKit is not directed at children under the age of 13. We do not knowingly collect personal information from children. If you are a parent or guardian and believe your child has provided personal information through ChatKit, please contact us so we can take steps to delete such information.
Changes to This Policy
We may update this privacy policy from time to time. Changes will be reflected on this page with an updated "Last updated" date. We encourage you to review this policy periodically. Material changes will be noted in the extension's update notes on the Chrome Web Store.
Contact
If you have any questions, concerns, or requests regarding this privacy policy or ChatKit's data practices, please reach out:
- Email: privacy@chatkit.app
- Chrome Web Store: ChatKit on Chrome Web Store