The short version
- Your chats are read in your browser and saved to a folder on your computer. They are never sent to us.
- Notion, Google Drive and GitHub get your chats only if you connect them, and straight from your browser.
- Free needs no account. If you sign in for Pro, we keep your email and your plan.
- The extension tells our server about a few steps, like “setup finished”, with a random id. Never your chats, their titles or file names.
- Stripe handles payments. We never see your card.
- We don’t sell data, show ads or train AI on anything of yours.
Who we are
Chat to Markdown is a browser extension for Chrome and Edge, this website, and a small account server at api.chattomarkdown.com. Write to [email protected] with any question about this policy.
What stays on your computer
- Your chats. Each one is saved as a Markdown file in the folder you pick, with its pictures and files if you keep “Images and files” on in Settings.
- Earlier versions. When a saved chat changes, the version before is kept, up to 100 per chat, in a hidden
.chattomarkdownfolder inside your folder. You can turn this off in Settings. - The list of saved chats. Chat ids, titles, file paths and update times, so the extension knows what changed. It is kept in the extension’s storage in your browser.
- Your settings, and the browser’s permission to write to your folder.
Uninstalling the extension clears its storage. Your Markdown files are yours and stay where they are.
How your chats are read
The extension asks each chat site for your chats with the session you already have in this browser, the way the site’s own page does. It turns them into Markdown in your browser and writes the files with the browser’s File System Access API.
- It never sees your password for any chat service and needs no API key.
- Every service is off until you turn it on. Chrome then asks you to allow that site, and the addresses where it keeps your uploads and pictures (for example chatgpt.com with oaiusercontent.com, or grok.com with assets.grok.com). The extension can reach only the sites you allowed, and installing it asks for none.
- DeepSeek signs its requests with a token its page keeps. The extension reads it from an open DeepSeek tab, keeps it in memory only, and sends it only to chat.deepseek.com.
- GitHub Copilot keeps chats on Copilot’s servers, so turning it on asks for github.com and api.individual, api.business and api.enterprise.githubcopilot.com. Chrome can’t allow just part of a site, so the permission covers all of github.com, but the Save button only appears on github.com/copilot. The short-lived chat token it gets from github.com is kept in memory and sent only to GitHub.
- The extension can read chattomarkdown.com only to notice the “payment complete” page and turn Pro on at once.
When something leaves your computer
This is every place the extension connects to, and why.
- The chat sites you use, to read your chats and their files.
- Notion, Google Drive or GitHub, only if you connect them, to send your saved chats there (see below).
- Our server, to sign in, check your plan, show prices, start a checkout, and receive the usage events described below.
- Stripe, when you pay or open the billing page.
- Web addresses in a chat. When you open a saved chat in the extension’s reader, pictures that are web links (not saved files) load from where they are hosted. Charts and widgets an AI made load the code libraries they need from public servers such as cdn.jsdelivr.net, cdnjs.cloudflare.com, unpkg.com, esm.sh and Google Fonts. They run in a sealed-off frame with no access to the extension or your files.
- Your email app, when you use “Report a problem”. It opens an email to us with the extension and browser version, your settings, your folder’s name and how each service is doing. It never includes chat titles or content, and nothing is sent until you press Send.
Updates come from the Chrome Web Store or Edge Add-ons, through your browser. When you uninstall, the browser opens a short page on our site that asks why. Your answer, if you give one, goes by email.
Notion, Google Drive and GitHub (optional)
All three are off until you connect them in Settings. Chats go from your browser straight to Notion, Google or GitHub, never through our server.
- Notion. You create a connection in your Notion workspace and paste its token. The token stays in the extension’s storage and is sent only to api.notion.com. The connection can reach only the pages you share with it.
- Google Drive. Google asks you to allow the
drive.filepermission. It lets the extension create files and folders in your Drive and see only the files it made, not the rest of your Drive. The extension makes an “AI Chats” folder and puts your saved chats there as Google Docs or Markdown files, as you choose, with their pictures and files. It reads your Google account email to show which Drive is connected. Access tokens are kept by your browser (on Edge, in the extension’s storage) and sent only to Google. - GitHub. You create a personal access token on GitHub and paste it. Settings asks for a fine-grained token that can reach only the one repository you pick for your chats, with permission to change its files. The token stays in the extension’s storage and is sent only to api.github.com. The extension commits your saved chats to that repository as Markdown files, with their pictures and files, on the branch and in the folder you choose. It reads your GitHub username and profile picture to show which account is connected, and when the token expires, to remind you before it does. Who can see the chats there is up to the repository: in a private one, only you and the people you add; in a public one, anyone.
- Disconnecting in Settings removes the token from your browser and, for Google Drive, revokes the access at Google. You can also remove it in your Google Account under Security → Third-party connections. A GitHub token can only be deleted on GitHub, under Settings → Developer settings → Personal access tokens; Settings links there when you disconnect.
- Chats already sent stay in Notion, Drive or GitHub until you delete them, or use “Remove all” in Settings. Notion and Drive move them to their Trash. GitHub deletes them in a commit, so they stay in the repository’s history; to remove them from the history too, delete the repository on GitHub.
- Chat to Markdown’s use and transfer of information received from Google APIs follows the Google API Services User Data Policy, including the Limited Use requirements. Data from your Google Drive is used only to save your chats there. It is never sent to us, sold, used for ads, read by people, or used to train AI models.
Your account (Pro only)
Pro needs an account, so it can follow you to another computer. When you sign in, we keep:
- your email address, and your name and profile picture if you sign in with Google;
- with email sign-in, a hash of your password (never the password itself) and short-lived, hashed sign-in codes;
- when you last signed in;
- your plan: which one, its status and billing period, and the Stripe customer and subscription ids that link it to your payments.
Signing in also links the extension’s random install id to your account. We use all of this to show your plan, send the emails below and help you when you write to us. We keep it while your account exists.
Payments
Checkout, invoices and the billing page are run by Stripe. Stripe receives your payment details and billing address. We receive only the result (paid, renewed, cancelled, failed) and the ids above.
Emails
We only email you about your account:
- sign-in codes, password reset codes, and a note when your password changes;
- a welcome email;
- when Pro starts, renews or is cancelled, and if a payment fails;
- one reminder if you start a checkout and don’t finish it;
- a confirmation when your account is deleted.
There is no newsletter and no marketing email.
Usage events
To see whether setup and pricing make sense, the extension tells our server when these happen:
- the welcome page is opened, a folder is chosen, a service is turned on (which one), the first sync starts, and setup is finished;
- Settings or the pricing page is opened (and why, for example the Free limit), a plan is clicked, and a checkout starts (which plan);
- you sign in (with Google or email);
- an export import is opened, started and done (which service, and how many chats).
Each event carries a random id made when the extension was installed and, if you are signed in, your account. Events never include chat content, chat titles, or folder or file names. They are deleted after 180 days.
This website
- chattomarkdown.com sets no cookies and loads no analytics.
- Like any web host, our hosting provider processes your IP address to deliver pages and stop abuse.
Who processes data for us
- Stripe, for payments.
- Google, if you sign in with Google.
- Our hosting and database providers, for the account server.
- Our email provider, for the emails above.
Notion, Google Drive and GitHub are not on this list: they hold your chats only if you connect them, in your own account, under their own terms.
Your choices
- No account, no personal data. On Free, nothing we hold identifies you.
- Delete your account by writing to [email protected] from its email address. We delete it within 30 days and confirm by email. Stripe keeps invoices for as long as tax law requires.
- See, correct or export what we hold about you: write to us.
- Remove everything local by uninstalling the extension. Your Markdown files stay.
If you are in the EU, the UK or a place with similar laws, you can also complain to your data protection authority.
Children
Chat to Markdown is not meant for children under 13, and we don’t knowingly hold their data.
Changes
If this policy changes in a way that matters, we update the date at the top and tell account holders by email.