Privacy Policy

PinoMeet

Meeting transcription happens on-device via your browser's Web Speech API. PencilCard never receives audio, transcript text, or meeting content. What gets said in your meeting stays in your browser.

📅 Last updated: June 24, 2026 📦 Extension: PinoMeet v1.0.0 🏢 Publisher: PencilCard
🔒
Plain-English Summary: PinoMeet uses the browser's Web Speech API for real-time transcription. On most browsers this sends audio to Google's speech recognition service — PencilCard does not operate its own speech service and never receives your audio. Meeting transcript text is stored locally in IndexedDB and never sent to PencilCard. BYOK summarisation sends transcript text to your own configured AI provider under your own key. Exports (Docs, Notion, email, audio) go directly to the respective service using your OAuth token — not through PencilCard servers.
⚠️
Important — Web Speech API and audio: When you start transcription, your browser's Web Speech API is activated. On Chrome, this routes audio to Google's speech recognition infrastructure. PencilCard does not receive your audio, but Google does for the purpose of speech-to-text conversion. If your meeting discussions are confidential, review Google's Web Speech API privacy practices before enabling transcription. You can stop transcription at any time by clicking the transcription toggle.

1. Data We Collect

PencilCard does not collect or store any meeting audio, transcripts, action items, or meeting metadata. All data below is stored locally on your device.

Data stored locally on your device

  • Meeting transcripts — the text output from Web Speech recognition, timestamped, labelled with speaker name if speaker labelling is enabled. Stored in IndexedDB locally. Never transmitted to PencilCard.
  • Meeting metadata — title (from tab title of the meeting platform), start time, duration, platform (Google Meet / Zoom / Teams). Stored in IndexedDB.
  • Action items and summaries — extracted or generated from the transcript by Gemini Nano or your BYOK provider. Stored in IndexedDB.
  • Speaker labels — names or initials you assign to differentiate speakers. Stored in IndexedDB. No voice biometric data is created or stored — speaker detection is purely manual labelling.
  • Settings — auto-join preferences, speaker label template, BYOK provider preference, export defaults. Stored in chrome.storage.local.
  • BYOK API key — stored encrypted in chrome.storage.local. Never transmitted to PencilCard — only to the provider you configure when you request a summary.
  • OAuth tokens — short-lived tokens for Google Docs, Google Calendar, and Notion exports. Stored in chrome.storage.local. Used only for the specific export you initiate.
  • Firebase authentication token — short-lived token for subscription verification. Contains no meeting data.

Data we do not collect

  • Audio recordings — PinoMeet does not record audio; it only reads the text output from Web Speech API
  • Transcript text — never transmitted to PencilCard
  • Meeting participants' names or email addresses (beyond what you manually type)
  • Screen content or screenshots of the meeting platform
  • Browser history or tabs you visit outside meeting platforms

2. How Data Is Stored

IndexedDB (pinomeet_db)

All meeting sessions, transcripts, action items, summaries, and speaker labels are stored in a local IndexedDB database. This database is sandboxed to the PinoMeet extension, is not accessible by websites or other extensions, and is cleared when you clear browser data for the extension or uninstall it.

chrome.storage.local

Settings, BYOK key, export OAuth tokens, and the Firebase auth token are stored here. None of this data is synced to PencilCard.

3. External Network Requests

Web Speech API (browser-native)

Transcription uses the browser's built-in SpeechRecognition API. On Chrome, this sends audio to Google's speech-to-text service for processing. PencilCard does not receive your audio or transcription — only the returned text lands in the extension. Google's privacy policy governs how this audio is processed. Transcription is started only when you explicitly click Start in the PinoMeet panel.

Firebase (auth and entitlement only)

Sign-in and Pro subscription verification. No meeting data included.

BYOK cloud AI (opt-in)

If you configure a BYOK API key, PinoMeet sends your meeting transcript text to that provider's API under your key when you request a summary or action item extraction. No audio is transmitted. Traffic goes directly from your browser to the provider — not through PencilCard.

Export services (opt-in)

When you export transcript text or summaries, PinoMeet calls the relevant service API (Google Docs, Google Calendar, Notion, Slack) using your OAuth token. See Section 6 for full details.

4. Permissions Justification

PermissionWhy it is needed
storageStores settings, BYOK key, export OAuth tokens, and Firebase auth token in chrome.storage.local. Meeting content is in IndexedDB (no manifest permission required for the IndexedDB API).
identityObtains a Google OAuth token for Firebase sign-in and for Google Docs / Google Calendar export. Not used for continuous account monitoring.
tabsDetects when you navigate to a supported meeting platform (meet.google.com, zoom.us, teams.microsoft.com) to offer the auto-join overlay. Tab URLs are not stored or transmitted.
scriptingInjects the PinoMeet overlay into supported meeting platform tabs to surface the transcription controls, live transcript panel, and action item sidebar. The overlay is injected only into meeting platform tabs, not into general browsing.
host: meet.google.com, zoom.us, teams.microsoft.comRequired for the content script injection above, scoped to meeting platforms only.
host: docs.googleapis.com, calendar.googleapis.com, api.notion.com, slack.com (optional)Used only when you initiate an export to that service. Not accessed during normal meeting transcription.
host: Firebase endpointsFirebase Identity Toolkit and Firestore for sign-in and subscription tier check. No meeting data transmitted.
host: Cloud AI provider APIs (optional)Used only when you request a summary or action item extraction with a BYOK key configured.

5. AI Features & Privacy

Gemini Nano (on-device, default)

Action item extraction and meeting summarisation can run via Gemini Nano when it is available (Chrome 127+ with the model downloaded). In this mode, transcript text is processed entirely on-device. No text leaves your browser.

BYOK cloud AI (opt-in)

If you configure a cloud API key and Nano is unavailable or you prefer a cloud provider, your meeting transcript text is sent to that provider's API under your key when you explicitly request a summary. PencilCard is not a party to this transmission. The provider's privacy policy governs how they handle transcript text.

⚠️
Meeting content is often sensitive. Before enabling BYOK summarisation, consider whether your meeting discussions are confidential, covered by NDA, or include third-party personal data. Sending such content to a cloud LLM may have legal or contractual implications.

6. Exports & Third-Party Services

PinoMeet supports exporting transcript text, summaries, and action items to third-party services. All exports are initiated explicitly by you — PinoMeet does not auto-export without your action.

  • Google Docs — exports create a new Google Doc in your Google Drive using the Google Docs API and your OAuth token. Traffic goes directly browser → Google. PencilCard does not receive the document content.
  • Google Calendar — creates a calendar event with the meeting summary as the description using your OAuth token. Traffic goes directly browser → Google.
  • Notion — creates a Notion page using the Notion API and your Notion integration token. Traffic goes directly browser → Notion.
  • Slack — posts a formatted summary to a channel or DM using a Slack OAuth token you provide. Traffic goes directly browser → Slack.
  • Audio export — converts the transcript to speech and saves locally as an MP3 using the browser's Web Speech Synthesis API. No network request to PencilCard.
  • LinkedIn / social export — formats the meeting summary for sharing and opens the compose window. PinoMeet does not post on your behalf without you clicking Send in the social platform.
  • PDF / DOCX export — generated locally in-browser and saved to your Downloads folder. No network request.

7. Data Sharing

PencilCard does not sell, rent, or share meeting data. PencilCard does not operate servers that receive transcript text or audio. External transmissions that may occur:

  • Google Speech-to-Text (via Web Speech API) — audio sent to Google for transcription. Governed by Google's privacy policy. Not operated by PencilCard.
  • Firebase — UID and subscription tier for sign-in and entitlement. No meeting data.
  • Cloud LLM provider (BYOK, optional) — transcript text under your API key. Governed by that provider's privacy policy.
  • Export targets (optional) — Google Docs, Calendar, Notion, or Slack receive transcript content only when you explicitly initiate an export.

8. Your Rights & Data Deletion

Delete a meeting session

Meeting History → select session → Delete. Removes the transcript, summary, and action items from IndexedDB permanently.

Clear all local data

Settings → Data → Clear all PinoMeet data. Clears IndexedDB and chrome.storage.local.

Revoke Google access

Visit myaccount.google.com/permissions, find PinoMeet, and click Remove. This revokes export tokens for Google Docs and Calendar.

Firebase account deletion

Email [email protected] to delete your Firebase account record and Firestore subscription data.

Uninstall

Removes all locally stored sessions, transcripts, settings, and auth tokens immediately.

9. Children's Privacy

PinoMeet is not directed at children under 13. As no meeting transcript data is transmitted to PencilCard's servers, the extension does not create a personal data profile on any server for users of any age. Audio processed through the Web Speech API is subject to Google's age restriction policies.

10. Policy Changes

We will update this page if PinoMeet's privacy practices change. The current version is always at pencilcard.com/privacy-pinomeet.

11. Contact

We aim to respond within 5 business days.