Privacy Policy
Last updated: April 23, 2026
Meeting Cost Calculator is a Chrome extension that shows the real cost of meetings on Google Calendar. Free tier usage is fully local. A paid Pro tier adds optional features that may involve external services — all described explicitly below.
The short version (Free tier): We don't collect, store, or transmit any of your data. Everything happens locally in your browser.
Pro tier note: Some optional Pro features involve external services (payment processing, weekly email delivery). You explicitly opt into each. Free-tier behavior is unchanged.
What Data We Access
Meeting Cost Calculator accesses the following data solely within your browser:
- Your rate settings: The hourly rate and currency you configure are stored locally using Chrome's built-in storage API (
chrome.storage.local). They never leave your browser.
- Google Calendar event details: When you click on a calendar event, the extension reads the visible event information (title, time, attendees) from the page to calculate the meeting cost. This data is processed locally and is not stored or transmitted.
- Meeting history (aggregate): Per-meeting cost totals are stored in
chrome.storage.local for up to 12 weeks so the dashboard can show weekly trends. Automatically cleared after 12 weeks via the alarms API. Never transmitted.
What Data We Collect (Free Tier)
None. The free experience does not collect, transmit, or store any personal data on external servers. Specifically:
- No analytics or tracking scripts
- No cookies
- No user accounts or sign-ups required for the free tier
- No network requests to external servers for the free tier
- No browsing history collection
- No personally identifiable information (PII) is ever transmitted from the free tier
- No calendar data is stored beyond the current session
Pro Tier Data Flow (optional, opt-in only)
If you subscribe to Meeting Cost Calculator Pro, the following data flows occur:
- Payment processing: Subscription billing is handled by ExtensionPay, which uses Stripe for card processing. The extension never sees your credit card number — all PCI-sensitive data stays with Stripe / ExtensionPay.
- Subscription state: The extension periodically (every 6 hours) asks ExtensionPay whether your subscription is still active and caches the result locally. Only a subscription-status boolean is returned, no personal data.
- Weekly insights email (optional, separately opt-in): If you provide an email address and opt into the weekly digest feature, your email address and aggregate weekly meeting totals — total minutes, total cost, number of meetings, number of meetings marked valuable — are transmitted to our backend on Vercel. We do NOT transmit meeting titles, attendee names, calendar contents, or any personally identifying information from calendar events. These aggregate numbers are sent to OpenAI's gpt-4o-mini to generate the weekly digest text, then delivered via Resend. Unsubscribing removes your email and all aggregates from our storage within 24 hours.
Third-Party Services (Pro Tier Only)
For Pro subscribers who opt into paid features, the following third parties may process data:
- ExtensionPay / Stripe — payment processing for Pro subscriptions. See ExtensionPay privacy.
- Resend — delivery of the weekly digest email, only if you have opted in.
- OpenAI — generates the weekly digest text from your aggregate weekly numbers, only if you have opted in. Input data sent is aggregate numbers only. OpenAI does not train on API input.
Free-tier users of the extension do not interact with any third-party service.
Where Data Is Stored
Your rate settings, Pro tier preferences, and aggregate meeting history are stored in your browser's local storage via chrome.storage.local. This data:
- Stays on your device
- Is only accessible to the Meeting Cost Calculator extension
- Can be deleted at any time by clearing the extension's data or uninstalling it
- Is not synced across devices
If you are a Pro subscriber who opted into the weekly email, your email address and the latest aggregate weekly numbers are also stored on our backend (Vercel KV / Redis). Unsubscribing purges this within 24 hours.
Permissions Explained
- storage — save your hourly rate, currency preferences, Pro tier state, and 12-week aggregate meeting history locally.
- alarms — daily cleanup of meeting history older than 12 weeks, and every-6-hour refresh of Pro subscription status from ExtensionPay.
- Host permission (
https://extensionpay.com/*) — required by the ExtensionPay SDK to manage the Pro subscription (payment page, trial state, cancellation).
- Content script match (
calendar.google.com/*) — runs the cost badge and event-reading logic on Google Calendar pages only.
Children's Privacy
This extension is not directed at children under 13 and does not knowingly collect any information from children.
Changes to This Policy
If we make changes to this privacy policy, we will update the "Last updated" date at the top of this page and notify active Pro subscribers via their next weekly digest email.
Contact
If you have questions about this privacy policy, you can reach us at:
peakpostagent@gmail.com