Local data handling
GPTandME counts prompts on supported browser chat sites and keeps usage data on your device in chrome.storage.local. It does not transmit, sell, or share that data, and it has no analytics, advertising, tracking services, or GPTandME server.
Data stored
Stored data includes dated prompt counts, per-service counts, model labels when available, hourly/session counts, preferences, and diagnostics such as the last counted time, detection source, and supported host. The popup focuses on today, week, month, all-time, seven-day activity, and service totals.
Legacy ChatGPT thinking-time aggregates from older versions remain stored by date, provider, and model as reported count plus total milliseconds. Version 1.6.0 removes thinking-time displays and collection from updated page scripts. Reload already-open chat tabs after updating; previously loaded scripts remain active until those pages reload. Legacy model, timing, hourly, and session data remains compatible with JSON backup/restore.
Session records are limited to the 500 most recent page sessions. Deduplication records are limited to 500 opaque provider event identifiers for 24 hours, 500 legacy thinking-time event identifiers for 24 hours, and 500 short-lived supported-host/tab keys for two seconds. Expired entries are pruned during maintenance or the next write. Reset controls clear those records.
Prompt content
To recognize user sends and avoid duplicate counts, the extension may inspect outgoing request data locally and read an opaque request identifier or model label. Only non-content metadata is emitted to the extension. GPTandME does not store prompt text, response text, raw thinking labels, raw timing samples, or a page's full URL path, and does not send prompt text anywhere. It does not clone response streams. Historical conversations are not backfilled.
On ChatGPT, Claude, Perplexity, and Grok, counts require a recognized outgoing user-send request and use request identifiers for deduplication. Gemini uses send activity from its primary page composer. A count records a submission, not a successful response. Detection can miss sends if a provider changes its request endpoint or composer, and may require an extension update.
Where counts appear
The extension badge shows today's count. The popup shows prompt totals and a service breakdown. An optional counter appears inside a closed shadow root on supported chat pages. Version 1.6.0 removes the API cost proxy and the thinking-time, session, streak, last-24-hours, and model-breakdown panels.
Backups and CSV files
A manually downloaded JSON backup preserves the complete normalized local dataset, including legacy timing aggregates, model/hour/session data, preferences, and diagnostics. Restoring a JSON backup replaces the currently stored dataset. Storage and export schemas remain at v3.
CSV exports contain dated prompt counts using date,provider,model,count. CSV imports add counts; importing the same file twice duplicates them. Legacy date,model,count files remain importable with provider unknown. CSV does not include timing, hourly, session, or settings data. GPTandME provides these downloads only when you request them in the popup.
Supported hosts
Page scripts run only on the supported HTTPS chat hosts: chatgpt.com, chat.openai.com, claude.ai, gemini.google.com, perplexity.ai, www.perplexity.ai, and optionally grok.com. GPTandME does not count Claude Code, native desktop apps, command-line tools, direct API clients, or unrelated websites.
Permissions
Existing permissions are unchanged from version 1.5.0.
- storage saves counts and preferences locally.
- webRequest supplies a local backup detector for ChatGPT sends.
- activeTab lets the popup identify whether the current tab is a supported host.
- alarms refreshes the badge after date changes while the browser runs.
- scripting registers Grok scripts after optional access is granted.
- Required host permissions cover only the two HTTPS ChatGPT hosts used by the backup detector. Manifest content-script matches separately restrict other page detection.
- Optional host permission for grok.com is requested only when you enable Grok counting. You can remove it in settings. Reload existing Grok tabs after enabling or removing access.
Private browsing
GPTandME cannot be enabled in Chrome Incognito mode, so private-window activity cannot be combined with your regular-profile totals.
Your controls
You can switch the in-page counter on or off, enable or remove Grok access, download or restore a JSON backup, and export or import CSV counts. Reset today removes today's dated data and clears session aggregates and recent deduplication IDs; older dated totals remain. Reset all removes usage history. Uninstalling the extension removes its local data from that browser profile.
Limited use
The use of information received from Google APIs will adhere to the Chrome Web Store User Data Policy, including the Limited Use requirements.
Contact
Visit GPTandME support, email chaollapark@gmail.com, or use the public issue tracker. Do not include prompt text or conversation URLs.