This policy covers the Cue Chrome extension (published on the Chrome Web Store under the name “Cue — Real-Time Conversation Intelligence”), the companion Progressive Web App at cue-pwa.vercel.app, and the iOS/watchOS companion apps (when available).
We do not collect, process, transmit, store, or disclose any of the following:
The following data is processed entirely on your device and never transmitted by Cue's default behavior:
getUserMedia API, processed in an AudioWorklet in real time.IndexedDB and chrome.storage.local (extension) or localStorage (PWA). Remains on your device.cue-pwa.vercel.app/api/license, verified locally on every session start using a public key embedded in the extension/PWA. The JWT carries your email and expiration claim. Stored in chrome.storage.local / localStorage; never transmitted after activation.Cue offers an optional cross-device sync feature that allows preferences and session summaries to sync between the Chrome extension and the Cue iPhone PWA. Push notifications can also be received on Apple Watch via standard iOS notification mirroring (configured by the user in the iOS Watch app, not by Cue). This sync feature is off by default and requires the user to explicitly enter an email address in Settings.
When enabled, Cue transmits only:
Sync transmits via HTTPS to cue-pwa.vercel.app/api/sync and the resulting data is stored in an Airtable record keyed by the user's email. Users may disable sync at any time by clearing the email in Settings. Users may delete all synced data by contacting vajdos@gmail.com.
Cue offers an optional “Help improve Cue” toggle (extension Settings, PWA Settings → Privacy & settings). This feature is off by default and only activates when the user explicitly toggles it on.
When enabled, Cue sends one anonymized record per corrective nudge to cue-pwa.vercel.app/api/corpus. The full record contents:
device_id — a randomly generated UUID stored only on the user's device. Not linked to email, name, IP, or any other identifier. Rotates if the user clears local data.source — one of extension / pwa / desktop.nudge_type — one of pace / tension / long_speech / escalation / trial_cap.scores_at_fire — three integers 0–100 (acoustic signal levels at the moment of the nudge).responded, time_to_correction_sec, response_window_sec, resolution — whether the user adjusted their behavior in the 15-second window after the nudge.nudge_number, timestamp, extension_version.Never sent: audio, transcripts, email, name, IP address (server logs include the request IP for the duration of the request but it is never stored in the corpus record itself), browser fingerprint, or anything the user said. The schema is strictly enforced server-side; unknown fields are rejected.
Users may opt out at any time by toggling the setting off; from that moment, zero further corpus traffic is sent. Users may request deletion of past corpus records by contacting vajdos@gmail.com with the last 8 characters of their device ID (visible in the Settings UI when opted in).
Cue offers an optional paid “Pro” tier. The activation flow contacts Cue's server only when the user clicks Activate:
cue-pwa.vercel.app/api/license.Once activated, no further network traffic occurs until token expiry (~370 days). Users may revoke their token at any time by clicking Sign out in the PWA Settings or by clearing local data in the extension.
If a user installs the Cue PWA and enables push notifications, Cue stores the resulting Web Push endpoint (a browser-provided URL) in order to deliver nudge notifications. The endpoint does not contain user-identifying information — it is a cryptographic token issued by the user's browser. Users may revoke push permissions at any time in their OS settings.
The extension declares the following permissions in its manifest. Each is used only for the purpose described; no permission is used to collect, derive, or transmit personal data beyond what is disclosed in this policy.
activeTab — to detect when the user is on a supported video-call website so Cue can adapt its UI.tabs — to auto-start Cue on supported call URLs.storage — to save session history, user preferences, and (if Pro is activated) the signed license token locally in the browser.alarms — to keep the extension's background service worker responsive during long calls.notifications — to deliver nudge alerts when the user is viewing another tab.contextMenus — to provide right-click access to Cue settings, progress, and the verification tool.sidePanel — to display the always-on coaching widget in Chrome's side panel.offscreen — required by Chrome Manifest V3 for continuous audio processing in an offscreen document.tabCapture — optional; used only when the user explicitly selects the “Them” or “Both” source mode, to analyze the remote participant's audio from the active call tab. Tab audio is processed locally on the same terms as microphone audio — never recorded, never uploaded.Locally stored session history is capped at 20 recent sessions. Older sessions are pruned automatically. Users may clear all Cue data at any time by opening Chrome Settings → Privacy & Security → Clear Browsing Data → Cookies and other site data, or by removing the extension. PWA users may clear all data via Settings → Privacy & settings or by removing the PWA from their Home Screen.
Intervention-log records (for users who have the v1.0 Decision Engine enabled) are capped at 500 records locally and may be exported as CSV or cleared from the extension's Settings page.
Server-side Airtable retention: opt-in corpus records, sync records, and Pro/payment records are retained for the lifetime of the account. Users may request deletion at any time via the contact in section 14.
For full transparency, the complete list of server endpoints Cue may contact and the precise trigger for each:
/api/license — only when the user clicks Activate in Settings. Carries the user's email and (if available) order ID. See section 6./api/corpus — only when the user has opted in via Help improve Cue AND a corrective nudge fires. One fire-and-forget POST per resolved nudge. See section 5./api/sync — only when the user has entered an email in Settings → Cross-Device Sync. See section 4./api/signup — only when the user submits the email signup form on the PWA. Rate-limited./api/upgrade-pro — only when the user clicks Activate on the post-payment thanks page. Verified server-side against Lemon Squeezy's order API when configured./api/lemonsqueezy-webhook — receives signed payment events from Lemon Squeezy's servers (not the user's browser). Used to automatically mark Pro and send the welcome email./api/test-haptic, /api/push-subscribe — only when the user enables haptic notifications.No other server contact is initiated by the extension or PWA in the default state.
Cue uses the following third-party services, each only in the contexts described:
cue-pwa.vercel.app and the server endpoints listed in section 10. Vercel's privacy policy applies to requests made to this domain.Cue is not directed at children under 13. We do not knowingly collect any information from children under 13.
If this policy changes, the updated version will be published at this URL with a new “Effective” date. Material changes will be announced in the Chrome Web Store listing and within the extension itself. Continued use of Cue after a change constitutes acceptance of the updated policy.
Privacy questions, data-deletion requests, or corpus device-ID lookups: vajdos@gmail.com
Cue is operated by Nathan Vajdos (sole proprietor, United States).
Because Cue operates under a privacy architecture rather than a privacy policy alone, the claims above are externally verifiable:
chrome-extension://[id]/manifest.json. The manifest declares only one host_permissions entry: cue-pwa.vercel.app.