Privacy policy
Last updated: 15 May 2026
This page describes what data the Teams Chat Exporter browser extension and the website at teamschatexporter.com handle, and what is done with it. The short version: the extension does not collect or transmit user data, and this website does not run third-party trackers or advertising scripts.
The browser extension
Single purpose
Teams Chat Exporter exports Microsoft Teams chat conversations to local files in the format the user picks: JSON, CSV, HTML, TXT, or PDF, or several at once packaged as a single ZIP. The user opens the popup, picks one or more chats, picks formats and date range, and clicks Export. The extension reads the messages and any inline images, then saves them to disk via the browser's downloads API.
Data it reads
To do its job, the extension reads the following from the user's own browser session on a Microsoft Teams web origin (teams.microsoft.com, teams.cloud.microsoft, teams.live.com, teams.microsoft.us, and the corresponding .mcas.ms-proxied variants):
- Authentication tokens that Microsoft Teams itself has placed in browser storage for the signed-in user. Used to call the Microsoft Teams Chat Service API as that user, then discarded at end of run.
- Chat conversation lists, folder definitions, and the active conversation id, read from Teams' own IndexedDB and sessionStorage on the Teams origin.
- Messages in the selected chats, fetched from Microsoft's Teams Chat Service endpoint over HTTPS using those tokens.
- Inline images, GIFs, voice messages, and profile photos that belong to those messages, fetched from Microsoft-owned domains (asyncgw.teams.microsoft.com, asm.skype.com, sharepoint.com, sharepoint.us, graph.microsoft.com).
The extension only acts on conversations the signed-in user can already open. It does not give access to anything the user could not see by scrolling Teams manually.
Data it stores locally
Stored in the browser's own extension storage (chrome.storage.local) on the user's device:
- The user's export preferences: format, date range, include toggles, language, theme, after-export behaviour.
- The cached conversation list, so the picker is fast on subsequent opens.
- An export history of files the user has saved this session, so the popup can offer "Open" and "Show in folder" actions.
- The most recent error message, used to give a useful diagnostic in the popup.
All of this stays on the user's device. None of it is read in the background. None of it is sent off-device.
Data it transmits to third parties
None. The extension has no analytics or telemetry of its own. It does not load remote code, does not call out to any backend operated by the developer, and does not include any third-party SDK.
The only outbound network requests the extension makes are to Microsoft endpoints (the Teams Chat Service, the Microsoft Graph API for profile photos, and Microsoft-owned media hosts for inline images), on behalf of the signed-in user, using credentials that Microsoft has already issued to that user's browser.
Inline link-preview thumbnails are fetched through Teams' own proxy. If a thumbnail is missing and the optional "Image fetch fallback" toggle is enabled in Settings, the extension may try to fetch the image directly from the original public URL the chat refers to. This toggle is off by default and requires the user to grant the corresponding browser permission. It can be turned off again at any time.
Permissions and why they exist
- scripting / activeTab: read the active Teams tab on user-initiated export.
- downloads / downloads.open: save the exported file to disk, and reopen it later from the popup history page when the user clicks Open.
- storage: persist export preferences and history locally.
- offscreen (Chromium browsers): host a hidden DOM document so the background service worker can rasterise Twemoji SVG for PDF output. No content, no analytics, no network access of its own.
- Host permissions: scoped to the Microsoft Teams ecosystem (Teams, AMS image hosts, SharePoint, Graph) plus an optional <all_urls> that is invisible at install time and is only requested if the user explicitly enables the "Image fetch fallback" toggle described above.
The website
This website (teamschatexporter.com) is a marketing and documentation site. It does not require an account and does not have a login.
What is collected
The site uses a self-hosted privacy-friendly analytics setup (Umami) to count pageviews and link clicks. Umami does not use cookies, does not store personally identifying information, and does not share data with third parties. The hashed visitor identifier it computes is rotated daily and cannot be used to track a person across sites.
What gets recorded for each pageview: the URL of the page, the referring page (if any), the country derived from the IP address, the browser and operating system as reported in the User-Agent header, and the timestamp.
The site does not run Google Analytics, Facebook Pixel, third-party ad networks, session-replay tools, or behavioural advertising scripts.
Cookies
The site does not set tracking cookies. The browser may still set technical cookies required to load the page (none are used at the time of writing). If a future iteration of the site introduces any cookie that is not strictly necessary, this section will be updated and a consent banner will be added.
Server logs
The web server keeps short-lived access logs for diagnostics and abuse prevention. These contain the IP address and User-Agent of each request and are rotated regularly.
Hosted store listings
The extension is distributed through the Chrome Web Store, the Microsoft Edge Add-ons store, and Firefox Add-ons. Each of those stores collects its own usage and review data under its own privacy policy. Installing or rating the extension on a store involves that store's terms, not this one.
Children
The extension and the website are not directed at children. The extension's only function is to export Microsoft Teams chats, which already requires a Microsoft work, school, or personal account that the user has signed in to.
Changes to this policy
If this policy changes, the "Last updated" date at the top will move forward, and the previous version will remain available in the project's GitHub history.
Contact
Issues with the extension, including privacy concerns, can be filed at github.com/gediz/teams-web-chat-exporter/issues. Personal contact: the author's email address is listed on the Chrome Web Store and Firefox Add-ons developer pages.