Privacy Policy — Tab Triage AI

Effective date: 2026-05-15

Tab Triage AI (the “extension”) is a Chrome extension that clusters your open tabs by intent, summarizes each cluster, and surfaces stale and duplicate tabs for cleanup. It is published by Tab Triage AI (“we”). This policy explains what data the extension handles, where it goes, and what stays on your device.

Short version

What the extension stores on your device

The following live in chrome.storage.local on this device:

DataWhy it exists
LLM provider, model, API key, optional base URL, optional custom grouping rulesRequired to run triages
Notion integration token + parent page ID (only if you set them up)Required for “Send to Notion”
Saved sessions (titles, URLs, group labels, summaries, optional notes)The session list you can restore from
Most recent triage cache (groups + tab titles/URLs + timestamp)Powers the new-tab dashboard without re-querying the LLM
Settings: auto-triage thresholds, badge config, sleep config, sync toggleYour preferences
Free-tier quota counter (current week’s triage count)Enforces the 5-triages-per-week free limit

You can clear all of this by uninstalling the extension or by clicking “Clear all data” in chrome://extensions → Tab Triage AI → “Site data.”

What leaves your device, when, and to whom

LLM provider (Anthropic, OpenAI / OpenAI-compatible, Google)

Triggered by: clicking “Triage tabs,” clicking “Triage now,” or auto-triage firing in the background while enabled.

Sent: a JSON array containing the title, url, and id of each selected tab; plus your saved system prompt (which may include your custom grouping rules, if you set any). Tab content (page text) is not read or sent — only titles and URLs.

Destination: the host you chose. Defaults are api.anthropic.com, api.openai.com, or generativelanguage.googleapis.com; or whatever Base URL you supply for an OpenAI-compatible provider.

Authentication: the API key you pasted into Settings, sent in the standard provider header. We do not route this through any server we operate.

Notion (only if you configured it)

Triggered by: clicking “Send to Notion” on a triage result, a single group, or a saved session.

Sent: the session/group’s title, group labels, summary bullets, tab titles, tab URLs, optional notes, and a small metadata line (date, tab count, group count, provider name).

Destination: api.notion.com. Authentication: the Notion integration token you pasted into Settings.

ExtensionPay (payments only)

Triggered by: clicking “Buy lifetime access.”

Sent: the standard ExtensionPay flow, which processes the purchase via Stripe. We receive the boolean fact that your purchase succeeded, and a randomly generated user identifier so the extension can recognize you on other devices. We do not see, store, or receive your card number, billing address, or any other payment details — those stay with Stripe.

See ExtensionPay’s privacy policy and Stripe’s privacy policy.

Chrome sync (only if you opt in)

Triggered by: enabling “Sync saved sessions” in Settings.

Sent: each saved session as a separate item to chrome.storage.sync. This is Google’s sync infrastructure — the same channel that syncs your bookmarks, history, and other extension preferences. We have no access to this data, no server in the path. Disabling sync clears the synced items.

Permissions and why they are requested

PermissionPurpose
tabsRead tab titles, URLs, and last-accessed timestamps; switch tabs you select; close tabs you ask to be closed
tabGroupsCreate native Chrome tab groups with the AI’s labels
storagePersist your settings, API keys, saved sessions, and cache locally
windowsOpen a new window when you restore a session into one; focus windows when switching tabs
alarmsDebounce auto-triage runs and refresh the toolbar badge on a schedule
notificationsShow “Grouped N tabs” notifications after an auto-triage run
Host permissions for LLM/Notion/ExtensionPay endpointsDirect browser-to-provider API calls; no proxy in between
optional_host_permissions: <all_urls> + scriptingReserved for a future opt-in “deep mode” that would read page text. Currently unused. Granted only on explicit user request.
Content script on extensionpay.comDetect successful payment so your lifetime status activates immediately

What we do not do

Children

The extension is not directed at children under 13 and we do not knowingly collect data from them.

Your rights

Because we don’t operate any servers that hold your data, there is nothing for us to delete on your behalf. To wipe everything the extension has stored:

  1. Open chrome://extensions, find Tab Triage AI, click Remove.
  2. If you enabled cross-device sync, Chrome will remove the synced items when you disable sync or remove the extension on every signed-in Chrome.

Changes to this policy

If we change this policy, the new version will be posted at the same URL with an updated effective date.

Contact

Questions? Reach out to jankoszy@gmail.com.