ConvoArk
English

Privacy Policy

Effective 2026-10-30 · Applies to ConvoArk version 1.2.0 and later (1.0.0 was named ChatArchive)

The Japanese version of this policy is the authoritative text; the English, Simplified Chinese and Traditional Chinese versions are reference translations (section 14). The extension’s interface is available in Japanese, English and Simplified Chinese, and from version 1.2.1 also in Traditional Chinese; this policy quotes button names as they appear in English.

  • Your chats are never uploaded. Conversation text is written only to a file on your computer in the format you choose (one HTML file, one Markdown file, or a PDF you save from the print dialog) and is never sent to the operator or any third party. The extension has no accounts, analytics, ads or operator servers, and collects or sells no personal information through the extension (for what the operator receives when you contact us, see section 9).
  • Only after you click a save button (“Save as offline file”, “Save as Markdown”, “Save as PDF” or “Choose messages to save…”) in the popup opened from the toolbar icon, does the extension read the conversation in the current tab. Opening the popup runs a read-only check first (section 2).
  • To make archives work offline, saving sends requests to some sites, all listed in section 5. The extension never adds conversation text to these requests, but the addresses requested come from the conversation (for example image addresses, the domains of cited sites, and library names in code). The receiving site sees that address, your IP address and browser details.
  • Opening a saved HTML archive makes no network requests by itself. A web page opens, in a new tab, only when you click a link in the archive or something inside interactive content that opens one, such as a button. For image links in Markdown files, see section 4.

1. About ConvoArk

ConvoArk is a Chrome extension provided by JC H&E (一般社団法人JC H&E, a general incorporated association under Japanese law; “the operator”), with a single purpose: saving the AI conversation you have open as an HTML file that opens offline (or as a Markdown file or PDF). Supported sites are matched by host name: chatgpt.com and its subdomains, chat.openai.com, claude.ai and its subdomains, and gemini.google.com. No other site, including look-alike sites, can start a save.

A save starts from the ConvoArk icon in Chrome’s toolbar: only for a save started there does Chrome let the extension read the current conversation and take screen captures of it. Before saving, the extension checks that Chrome lets it read the page; if not, it says so at once and does not reload the page.

ConvoArk is an independent tool and is not affiliated with, endorsed by or sponsored by OpenAI, Anthropic or Google. ChatGPT, Claude and Gemini are trademarks of their respective owners.

2. What data the extension reads

When you open the popup (on any site)

When you open the extension popup, it gets the current tab’s address and title and runs a read-only check on the page to decide what to show: the page address, whether a reply is being generated, and whether the message box contains unsent text (only whether it does, not the text). On the supported sites listed above it also reads the page title, the conversation name, the start of the first prompt (up to 40 characters) and the number of messages, to show them in the popup. This is used only for the popup’s display and is never stored or sent anywhere.

After you click a save button such as “Save as offline file” (current tab only)

The extension does not read the content of other tabs, your browsing history, passwords, sign-in cookies or tokens (the only cookie read is the Claude workspace ID described above), the text of unsent messages, or other conversations.

The extension operates the page while saving

To capture everything, the extension reloads the page once, then automatically expands collapsed sections, switches tabs within the page, hovers over or clicks citations and opens image previews; on all three sites it first scrolls to the start of the conversation to load earlier messages, then scrolls down to the end so code blocks and generated images are fully shown. The site’s own scripts may fetch data from its servers as a result, just as when you do these things yourself. For example, once a source list is expanded, the site’s own page loads the site icons it would normally show; those requests come from the site, and the extension itself does not request them.

While saving, the extension shows a progress card on the page, adds data-ca-* markers to page elements and temporarily (about 0.3 seconds each time) replaces the page’s window.open while collecting citations; when saving Gemini modules it temporarily changes document.write, Blob and MessagePort inside the module frames to record them. Sites can detect these changes.

3. Where it goes

The content is processed inside your browser. If you choose HTML or Markdown, it is written to one file (.html or .md), saved according to Chrome’s download settings (the Downloads folder by default, or the place you choose if Chrome asks where to save). The file name includes the conversation title. Chrome’s own download history keeps the file name and source; the extension has no downloads permission and cannot remove that entry for you, but you can at chrome://downloads.

Markdown files and PDFs are made on the extension’s own print page (print.html, a page inside the extension), which opens in a new tab. A Markdown file is saved from that page as one .md file, as above. For a PDF, the page lays out the chosen content and opens Chrome’s print window; the PDF is saved when you set Destination to “Save as PDF” there, to the place you pick. All of this happens inside your browser; the print page sends nothing anywhere and uses no extra permission.

The ConvoArk extension has no server and sends no conversation text or other data to the operator.

Before you share an archive: it contains the original conversation’s address, its title, the time it was saved, the extension version and everything that was saved, including every version of Claude Artifacts on the current branch, page captures, and citations with notes on how they were read. Anyone you send the file to gets all of this. Markdown files and PDFs also contain the messages you chose.

4. Opening an archive: no automatic network requests

A saved archive connects to nothing by itself when opened, online or offline:

The above describes HTML archives. In a Markdown file, an image that was not saved but has a web address is written as an image link to that address. Some Markdown readers load such links when they open the file, which sends a request to the site hosting the image; this is done by the reader, not by the extension.

5. Network requests while saving (complete list)

All of these leave from your own browser, only after you click “Save”, and only for the conversation you have open. None of them contains conversation text, and none goes to the operator. Choosing HTML, Markdown or PDF adds no destinations.

Note, however, that the addresses requested come from the conversation: image addresses, the addresses of cited sites’ icons, library names written in Artifact code (for example package names on esm.sh), and library addresses written in the code of visuals and modules. The receiving site sees that address, your IP address and your browser details (User-Agent); for cross-site reads the browser also tells it, as the web standard requires, which site the request comes from (for example Origin: https://claude.ai).

Goes toWhen and whySign-in information
The conversation pageReloaded once before every save so all content can be expanded.The site’s own, as when you press reload
The AI site’s own serversWhen the extension expands, switches, hovers and scrolls the page (section 2), the site’s own scripts may load data. The site sends these requests; the extension does not read or change them.The site’s own
Sites hosting images in the chatImages are read into the archive (image types only, 12 MB each at most). Saving images needs no permission from you. ChatGPT images come from images.openai.com, readable from install; when the page cannot read one, the extension downloads the original in the background. Images on other sites (for example image search results and place photos in a Gemini answer, and pictures on ChatGPT’s file server oaiusercontent.com) are read directly in the page: if the site allows it, the original is saved; if not, the picture is saved as the page shows it, from a screen capture of the conversation tab (Chrome allows captures only for a save started from the toolbar icon); if that fails too, the archive shows a placeholder that says why. Two kinds of Gemini pictures are exceptions, which the extension never downloads separately. Pictures you uploaded to Gemini are saved as a screen capture of the thumbnail shown on the page, labelled “Saved as a screenshot of the page (thumbnail)” under the picture; the extension does not read the original, which is the file you uploaded. Pictures generated by Gemini are read by the page in your signed-in session; the extension saves the original from the page where it can, and if the page has not provided it in time, saves the picture as the page shows it from a screen capture. Maps that appear in an answer are not saved and the extension requests no map tiles; the archive notes “Map not saved (the page draws maps live)” where the map was. A map Gemini shows in the separate map panel at the side of the page (for example the one for a place card) is not saved either, and the archive has no note for it. The extension downloads images separately in the background only from images.openai.com; images on the conversation site itself and on other sites are never re-read in the background.Other sites: no cookies, no referrer. Images and icons on the conversation site itself (for example ones you uploaded to Claude): that site’s signed-in session, as when the page shows them
Source site iconsSmall icons already shown on the page are read once from their original addresses within the page while saving. That request goes to the cited website itself (for example its favicon.ico), without cookies or referrer, within 3 seconds in total; icons that can be read are stored in the archive. Icons from Google’s site icon service (www.google.com/s2/favicons) are never requested, nor is t0.gstatic.com, where that service redirects; they appear in the archive as a locally drawn letter icon. Any other icon that cannot be read is also replaced by a letter icon.No cookies, no referrer (icons on the conversation site itself: that site’s signed-in session)
claude.ai (Claude’s own interface)On every Claude save: reads the current conversation’s data to get each Artifact’s full code and versions, and to check the number and order of prompts in the archive (the same interface, no extra request). If the lastActiveOrg workspace does not match, it also reads your workspace list (/api/organizations) and looks for the conversation in at most 6 workspaces. Read-only: it never sends messages, never changes anything and never reads other conversations.Your existing claude.ai session, the same as the requests your browser makes when you open that conversation
cdnjs.cloudflare.com, cdn.jsdelivr.net, unpkg.com, esm.sh, fonts.googleapis.com, fonts.gstatic.comOnly when a Claude visual or Artifact uses public code libraries or fonts: they are downloaded from the addresses written in its code and stored in the archive so it runs offline. No host other than these six is asked. Claude’s Mermaid diagrams (including a web-page Artifact that only contains <pre class="mermaid">) download one pinned version of the Mermaid library (mermaid@11.17.2) from cdn.jsdelivr.net. Limits: 15 seconds and 8 MB per file; 80 files and 20 MB per Artifact or visual.No cookies, no referrer
Sites a Gemini module usesGemini saves only, and only if you allowed module access: the scripts, styles, fonts and images the module loaded, the fonts, images and imported stylesheets its styles refer to (even ones not loaded yet), and the module’s data requests are read again from their addresses (as GET, even if the original request was a POST) and stored in the archive. The browser cache is used first; when it does not have a file, this is a new network request to whatever site the module chose. At most 220 files per module and about 24 MB in total per save. In addition, code libraries the module’s page refers to but that were not recorded are downloaded again from the same address (at most 24 addresses per module, on any host). When a module uses Tailwind from cdn.tailwindcss.com, the identical file bundled with the extension is used instead (the official Tailwind v3.4.17 Play CDN build, MIT licence) and the extension sends no request to that site; the file runs only inside the archive’s sandboxed module frame, never in the chat page or the extension.Module files re-read: cookies only for the module’s own site (*.scf.usercontent.goog), none for other sites. Re-downloaded libraries: no cookies, no referrer
A cited source pageWhen a citation card’s link is neither on the page nor in the page’s data and clicking the card makes the site open a new tab (in practice mostly on ChatGPT): the source page really starts loading, so the cited site receives a visit; the extension reads the address and closes that temporary tab at once (about 13 seconds at most each time). The extension closes only the one tab that meets all of these: the conversation page opened it within 1.6 seconds of the click, its first address belongs to another site, you did not click or press a key on the conversation page from 1.5 seconds before the click until then (and opened no context menu there in the last minute), and the click itself did not reveal the address. New tab pages, the browser’s own pages and another conversation on the same site are never touched.As when you click the card yourself; the cited site receives its own cookies

If a Claude Artifact or visual, or a Gemini interactive module, references public code libraries, the save downloads them (without cookies or referrer) and stores them in the archive as text. The extension itself never runs this code; it runs only when you open the saved archive, inside the archive’s sandboxed frames. Tailwind v3 is not downloaded; the extension’s own copy is used (with its MIT licence notice at the top of the file).

6. Local storage and diagnostics

chrome.storage.session (session storage, kept in memory and cleared when the browser closes):

chrome.storage.local (on your computer only): the interface language (if you chose one), the export format you chose last (HTML, Markdown or PDF), whether each round starts on a new page in a PDF, whether you have seen the first-run tips, whether you declined module access, and the file name, size, service and time of your last 20 saves. File names include the conversation title; the list stays until you click “Clear” under “Recent” in the popup or remove the extension. Which messages you chose to save and any keyword typed into the selection panel’s filter are not stored anywhere.

None of this is synced or sent anywhere.

The archive file itself uses your browser’s localStorage to remember reading settings (such as font, size, theme, interface language, sidebar and panel width). They stay in your browser and are never sent anywhere. These belong to the archive file, not the extension, so removing the extension does not clear them; clearing “Cookies and other site data” in Chrome’s “Delete browsing data” does.

Diagnostics: when a save fails, the popup offers “Copy diagnostics”. It contains the extension version, service name, error code and message (up to 300 characters), the last step reached, Chrome version and operating system, interface language and time; the diagnostics card on the page also includes the full browser identifier (User-Agent), browser language, the number of messages found and states such as whether a dialog was covering the page. It contains no conversation text. Diagnostics are only copied to your clipboard and never sent automatically; whether to send them to us is up to you.

7. Permissions

PermissionWhy
activeTabAccess the current tab after you click the extension’s icon in Chrome’s toolbar: the read-only check in section 2, reloading the page, reading the conversation and taking screen captures of the conversation tab (section 2). Reading the conversation and taking captures happen only after you click the toolbar icon.
scriptingRun the extension’s own save script on the current conversation page to expand collapsed content and read it. When saving Gemini modules (10 minutes at most per save), register the extension’s own recording script for *.scf.usercontent.goog frames, removed when the save ends. The registration applies to such frames in all tabs, but the script first checks that the outermost page is gemini.google.com and does nothing otherwise; modules in other Gemini tabs may be recorded too, but the extension accepts only the records from the tab being saved and discards the rest (the recording stays in that frame’s memory until the frame closes).
storageSave progress, recorded module content and the preferences listed in section 6, locally only. The conversation data prepared for Markdown or PDF stays only in the conversation page’s memory while the print page reads it (at most 5 minutes) and is never written to storage. While you choose messages, the selection state is kept for at most 30 minutes and then discarded.
tabs(a) At save time, read the current conversation tab’s address to confirm it is a supported site, and after the page reloads confirm it is still the same conversation; if not, the save stops. (b) When collecting citation sources automatically (section 5, “A cited source page”), read the address of the temporary tab a source card opened, then close that tab (about 13 seconds at most each time); if the conversation tab is navigated away meanwhile, it is sent back to the original conversation and brought to the front. (c) When you export Markdown or PDF, the extension’s own print page connects to the conversation tab to read the prepared conversation data locally; nothing is sent anywhere. With this permission the extension receives tab-creation and address-change events for all tabs, but uses them only during that citation step of about 13 seconds at most, ignores all other events at once and keeps no browsing history. Chrome describes this permission at install as “Read your browsing history”. The conversation page’s address is kept with the save progress in session storage (section 6), and citation links are written into the saved archive; nothing else is stored, and none of it is uploaded.
images.openai.comGranted at install: when the page cannot read a picture on this address in a ChatGPT conversation, the extension downloads the original without cookies or referrer (a redirect makes the request fail instead of going to another site). This is the only address the extension downloads images from in the background.
*.scf.usercontent.goog (optional)Asked only when you save Gemini interactive modules: read the module’s code and the files it uses (sections 2 and 5) so it stays clickable offline. If you decline, modules are saved as a picture or text.

The interactive-module permission above is the only optional one; saving images needs no optional permission. You can revoke it at any time in ConvoArk’s details at chrome://extensions.

8. Compliance with the Chrome Web Store User Data Policy

The use of information received by ConvoArk, and its transfer to any other app, adheres to the Chrome Web Store User Data Policy, including the Limited Use requirements. The data the extension reads is used inside your browser only for its single purpose, saving the conversation to a file. It is never used for advertising, sold or used to determine creditworthiness, and neither the operator nor any third party reads your conversations.

9. Contact and feedback

The extension itself sends nothing to the operator. The operator receives personal information only when you email us yourself (including feedback by email, described below).

Feedback by email

You can send problem reports and suggestions by email. We do not use a form service.

10. Children

ConvoArk is not directed at children under 13 and collects no personal information from anyone through the extension.

11. About this website

This website (convoark.com) is a static site hosted by Cloudflare, Inc. (United States). It has no ads. To see how much each page is read, it uses Cloudflare Web Analytics, which sets no cookies and shows us only totals such as pages viewed, referring sites, countries and browser or operating system types; it does not identify individual visitors or track them across other sites. Apart from its small script (loaded from static.cloudflareinsights.com) there are no third-party scripts, and the site only remembers your chosen interface language in your browser. Cloudflare, as the host, may process access information such as IP addresses to deliver and protect the site, under its own privacy policy.

The feedback page only turns what you type into an email and opens it in your email app; the page itself sends nothing (section 9).

12. Changes

If a future feature needs to collect or transmit data, we will update this policy before it ships, tell you inside the extension, and keep it off until you turn it on. Material changes are announced by updating the effective date on this page.

13. Operator and contact

ConvoArk is operated by JC H&E (一般社団法人JC H&E, corporate number 8120005019561).

The name of our representative and the other matters that Article 32 of Japan's Act on the Protection of Personal Information requires us to make available will be provided without delay on request to the email address below.

Address: 〒543-0071 大阪府大阪市天王寺区生玉町12番1-1202号(12-1-1202 Ikutama-cho, Tennoji-ku, Osaka 543-0071, Japan)

Questions about this policy or about your personal information: support@convoark.com

14. Languages

This policy is provided in Japanese, English, Simplified Chinese and Traditional Chinese. If the versions differ, the Japanese version prevails.