Local-first by design.
Exportal does not collect, transmit, or store
personal data on remote servers. Conversation content stays on your
machine and is sent only to your own local VS Code installation via
the loopback address 127.0.0.1.
Last updated: 2026-04-29
What Exportal does
Exportal is a bidirectional bridge between AI chat services (claude.ai, chatgpt.com) and Claude Code in VS Code. It consists of two pieces:
- Exportal Companion (Chrome extension): adds a floating button to claude.ai and chatgpt.com. When you click it, the active conversation is sent to your local VS Code bridge.
- Exportal (VS Code extension): runs a local HTTP server on
127.0.0.1that receives the conversation, writes a Markdown file in your workspace, and (optionally) attaches it to Claude Code as@-mention.
Both extensions are MIT-licensed and open source. Use no external services for the export and import flows.
What happens when you click "Export this chat"
- You click the floating Exportal button on a chat at
claude.ai,claude.ai/design/p, orchatgpt.com, or you use the keyboard shortcutAlt+Shift+E. - The Companion reads the active conversation using your existing browser session cookies, the same way the website renders the conversation for you. No automation, no scraping, no rate-limit abuse.
- The conversation JSON is sent to
http://127.0.0.1:<port>/..., the local bridge running inside your VS Code installation. It never reaches a remote server. - VS Code receives it and writes a Markdown file to
<workspace>/.exportal/<timestamp>-<slug>.md.
What data we handle
The extensions handle the following data, only on your device:
- Conversation content from claude.ai and chatgpt.com: messages, titles, and metadata of conversations you explicitly choose to export. Used only to generate the local Markdown file. Not stored, logged, or transmitted anywhere except your local VS Code bridge.
- Pairing token: a random 64-character hexadecimal token you copy from VS Code into the Companion (or via the auto-pair URL fragment). Used to authenticate requests to your local bridge. Stored in
chrome.storage.localon your device only, never transmitted off-device. - Pending conversation UUID (temporary): when you trigger the "official export" flow, the UUID of the chat you were on is stored briefly in
chrome.storage.localso the Companion can open the correct conversation when the export ZIP finishes downloading. Overwritten on each use. - Per-provider preferences (e.g. last-used pairing host): stored in
chrome.storage.localfor UX continuity. Trivial state, no personal data.
What we do NOT collect
- No analytics, telemetry, or crash reporting.
- No advertising identifiers.
- No user accounts, profiles, or tracking of any kind.
- Your claude.ai or ChatGPT credentials are never read, stored, or transmitted. The extensions rely on the browser's existing session cookies, and never see the credentials themselves.
- No data is sent to the extension author or to any third party.
Permissions explained
The Chrome Web Store requires explicit declaration of every permission. Here is what each one is used for in Exportal Companion:
| Permission | Why we need it |
|---|---|
storage |
Persist the pairing token, the pending conversation UUID, and per-provider preferences on your device. All stored in chrome.storage.local, never transmitted. |
downloads |
Detect when the official claude.ai or ChatGPT export ZIP finishes downloading, so the Companion can forward the file path to the local VS Code bridge for one-click import. |
http://127.0.0.1/* |
Communicate with the local VS Code bridge running on your machine. 127.0.0.1 is the loopback address, so traffic never leaves your device. |
https://claude.ai/*https://chatgpt.com/* |
Render the floating Exportal button on chat pages, read the active conversation when you click "Export", and consume the pairing URL fragment when you trigger auto-pair from VS Code. |
Data retention
All extension data is stored locally on your device: in chrome.storage.local for the Companion, and in your workspace's .exportal/ folder for VS Code. Uninstalling either extension deletes all data managed by that extension. There is no remote storage to clear.
Third parties
The browser extensions (Exportal Companion + Exportal for VS Code) do not integrate with any third-party service. Conversation content you export is sent only to your local VS Code installation at 127.0.0.1.
The website exportal.dev uses one third-party service: the contact form on the Support page is backed by Web3Forms, which forwards form submissions to the maintainer's email. This is the only third-party service in the entire Exportal ecosystem, and it only applies if you choose to use the website's contact form. The browser extensions never interact with Web3Forms.
Open source
Both extensions are open source under the MIT license. You can audit the entire codebase at github.com/dioniipereyraa/ClaudeTool.
Contact
Questions about this policy: support@exportal.dev (or dionipereyrab@gmail.com directly).
For broader support questions, see the Support page.