Privacy Policy

Last updated: October 30, 2026

1. Scope and accountability

This Privacy Policy explains how Whisply (“Whisply,” “we,” “us,” or “our”) handles personal information when you visit our website, create or use an account, purchase a plan, install or use the macOS application, contact support, or otherwise interact with our services (together, the “Service”).

Whisply is responsible for deciding how personal information described in this Policy is used for its own operations. Third-party providers may act as processors for Whisply or as independent controllers under their own privacy policies, depending on the activity. Contact us about this Policy or a privacy request at support@whisply.net.

This Policy does not describe information processing by schools, employers, examination providers, or other third parties with which you choose to use the Service. Read their policies and obtain any permissions or consent you need.

2. Information we collect

The information we collect depends on how you use the Service. “Personal information” means information that identifies, relates to, or can reasonably be linked to you, your account, or your device.

Account and profile information. Your internal user ID, email address, display name, authentication provider, role, onboarding status, and account timestamps. If you sign in with Google, we receive your Google subject identifier, email and verification status, name, and profile-photo URL. If you upload an avatar, we store the image in private Supabase Storage; uploaded PNG, JPEG, and WebP files are limited to 2 MB.

Payment and subscription information. Your plan, billing interval, subscription status, included usage, spending controls, Credits balance, Credits purchase history (amounts, service fees, tax, and status), and Stripe customer, subscription, checkout, and payment identifiers. Purchases are sold by Link (Stripe) as merchant of record, and Link and Stripe collect and keep your card or other payment details, billing address, and tax information in their checkout. Whisply does not store card numbers or security codes.

Device and installation information. Your Mac’s raw IOPlatform UUID, computer name, hardware model, macOS version, approval status, device-binding and last-seen times, install-token records, release version, and related security events. Device-pairing requests can retain this information even when approval is not completed.

Usage and administrative records. Per-turn model, token, cost, response, stream, and charge identifiers; usage-window balances and settings; subscription and feature grants; admin actions, actors, targets, metadata, and timestamps; and support or fraud-prevention records.

Content you choose to process. Prompts, current and compacted conversation history, filenames and attachment contents, screenshots, computer-use observations, accessibility-tree text and coordinates, tool calls and results, interview preparation, and transcript snippets. This can include confidential, sensitive, or third-party information visible on your screen, in a document, or captured from audio. Do not submit it without the necessary rights and consent.

Audio. When you use dictation or interview features, microphone and, where enabled, system audio are streamed directly from your Mac to OpenAI’s realtime service. Audio does not pass through Whisply’s Worker, and Whisply does not write raw microphone or system audio to its own application database or local conversation files.

Technical and network information. IP address, browser and request metadata, rate-limit keys, Cloudflare security and operational logs, challenge tokens, foreground application name and bundle identifier, display dimensions, current time, and diagnostic information. The per-user rate limiter uses the bearer token supplied with an app request as a key.

Local information on your Mac. Conversations, messages, reasoning summaries, citations, attachments, tool activity and results, titles, timestamps, pin/archive state, compaction data, settings, interview preparation, shortcuts, microphone and display preferences, and your app session credential. Release builds store the app session in Keychain. Local conversation and settings files are not protected by a separate Whisply application-level encryption layer.

3. Sources of information

We collect information directly from you, automatically from your browser and Mac, and from providers you authorize or interact with. Google supplies sign-in and profile information; Link and Stripe supply payment and subscription events; Cloudflare supplies connection and security metadata; and your Mac supplies device, content, usage, and diagnostic information needed for the features you choose.

4. How we use information

We use personal information for the following purposes and, where applicable, the following legal bases:

  • Provide the Service and perform our contract with you: authenticate accounts, connect your Mac, deliver downloads, process prompts and audio, return AI output, maintain local and remote sessions, provide support, and enable plan features.
  • Process purchases and maintain financial records: manage subscriptions, usage, Credits balances, spending controls, Credits purchases, taxes, receipts, refunds, and chargebacks.
  • Secure the Service and prevent abuse: enforce one-Mac and usage limits, verify challenges, rate-limit traffic, detect fraud and unauthorized access, investigate disputes, and maintain audit and installation records. These uses support our and our users’ legitimate security interests.
  • Operate and improve the Service: diagnose failures, maintain compatibility, understand feature performance, and develop and improve functionality. Where required, we will obtain consent before using personal information for a new purpose.
  • Communicate with you: send sign-in links and codes, service and billing notices, security alerts, support responses, and legally required information. Marketing, if offered separately, will use consent where required and include an unsubscribe method.
  • Comply with law and protect rights: respond to valid legal process, enforce agreements, protect users and third parties, and establish, exercise, or defend legal claims.

5. AI processing and local conversation history

When you request AI functionality, Whisply sends the content needed for that request through its Cloudflare Worker to OpenAI. This can include prompts, current or compacted history, attachment bytes, screenshots, tool calls and results, foreground-app metadata, window and display images, accessibility titles, descriptions, values, identifiers, coordinates, and available actions. The first 500 characters of an initial prompt may also be sent separately to generate a title.

Whisply requests store: false for ordinary streaming, title generation, and interview decisions. Some operations, including compaction, do not use that flag. The setting does not mean zero retention or zero access by OpenAI. OpenAI’s own retention, security, and usage policies apply.

Interview transcript snippets are sent for AI decisions. Dictation and interview audio stream directly from your Mac to OpenAI’s realtime service using an ephemeral credential created by our Worker. Raw audio is not written to Whisply’s application database or saved as a local conversation attachment.

Whisply does not have Supabase tables for chat messages, screenshots, attachments, raw audio, or interview transcripts. Active Durable Objects keep response and streaming state in memory, not in Whisply’s application database. Conversation history and explicit attachments are stored locally on your Mac. Embedded computer-use screenshot bytes are removed from saved JSON, but related text, tool results, and action history can remain.

Deleting the app bundle does not delete local conversations, attachments, settings, or Keychain items. Use the app’s conversation deletion and export controls, then remove local Whisply data from Application Support and Keychain if you no longer want it.

6. Google sign-in and Google user data

Google sign-in uses the openid, email, and profile scopes. We use the resulting subject identifier, email and verification status, name, and profile-photo URL to authenticate you, create and recover your account, display your profile, approve your Mac, enforce your plan, provide support, and prevent fraud.

We do not use Google user data for advertising, data brokerage, unrelated profiling, or developing, improving, or training generalized AI or machine-learning models. We do not persist your Google OAuth access or refresh tokens in Whisply’s application database. Whisply’s own browser and app sessions are separate.

Google profile information is stored with your account in Supabase. When your Dashboard displays a Google profile photo, your browser can request it directly from Google, revealing ordinary connection metadata such as your IP address. You can replace the photo with an uploaded avatar.

Whisply’s use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements. You can revoke Whisply’s access through your Google Account and request deletion through Whisply support. Revocation can prevent future Google sign-ins but does not automatically delete information already processed or records we must retain by law.

7. Service providers

We disclose personal information to the following providers only as needed for the Service, our legal obligations, and the purposes described above. Their own policies and retention practices can also apply.

  • Supabase — authentication, account and device records, subscriptions, usage and billing records, private avatar and release storage, and administrative audit data. See Supabase’s Privacy Policy.
  • Cloudflare — website and API hosting, Durable Object processing, operational logs, IP and token rate limiting, and Turnstile browser challenges. Turnstile verification sends the challenge token and your IP address to Cloudflare. See Cloudflare’s Privacy Policy.
  • OpenAI — prompts, history, attachments, screenshots, accessibility content, transcript snippets, model and tool requests, and direct realtime audio needed to provide AI features. See OpenAI’s Privacy Policy.
  • Stripe — Link, a Stripe company, is the merchant of record that sells Whisply plans and Credits, and Stripe processes the payments. They receive your email and Whisply user ID, plan and purchase details, and the payment, billing-address, and tax information you enter in checkout, and handle receipts, tax, refunds, and disputes for those purchases. Link may remember your payment method for future checkouts under its own terms. See About Credits for how purchases work and Stripe’s Privacy Policy.
  • Resend — recipient email address and the sign-in link, token hash, and optional one-time code contained in an authentication email. See Resend’s Privacy Policy.
  • Google — OAuth sign-in, basic profile information, and direct profile-image requests. See Google’s Privacy Policy.
  • Discord — our landing page directly requests Discord’s public guild widget to display online presence, which can disclose ordinary connection metadata such as your IP address. Only the presence count is used by our page. Clicking a Discord invitation provides additional information to Discord under its policies.

8. Other disclosures

We may also disclose information:

  • to competent authorities, courts, regulators, or other parties when required by law, subpoena, or valid legal process, or when necessary to protect rights, safety, security, and prevent fraud;
  • as part of a merger, financing, reorganization, sale of assets, or transfer of all or part of our business, subject to appropriate confidentiality and any legally required notice or choice;
  • to professional advisers and service providers who need the information for legal, accounting, security, or support purposes; and
  • with your direction or consent, or in a form that cannot reasonably be linked to you.

Authorized Whisply administrators can access profiles, raw hardware UUIDs, Stripe customer IDs, subscriptions, grants, usage records, and audit history to operate and secure the Service. Normal admin routes do not expose chat, attachment, screenshot, audio, or interview transcript content.

9. No sale or targeted advertising

We do not sell personal information for money, share it for cross-context behavioral advertising, use first-party advertising or analytics trackers, conduct session replay, or disclose it to data brokers or third-party advertising networks. We do not use personal information to create advertising profiles.

Third-party services can process information as described in this Policy and under their own terms. Their necessary authentication, payment, security, and embedded-service activities are not Whisply advertising. Because we do not sell or share personal information for those advertising purposes, an opt-out of sale or advertising sharing is not currently necessary.

10. Cookies and local storage

Whisply uses necessary session cookies, not first-party advertising or analytics cookies:

  • whisply_access — a one-hour, HttpOnly, SameSite=Lax access cookie; Secure in production.
  • whisply_refresh — a rotating refresh cookie with a 30-day lifetime per issuance; HttpOnly, SameSite=Lax, and Secure in production. Rotation can keep an active browser session alive beyond 30 days.
  • whisply_oauth_state — a 10-minute cookie containing random OAuth state. The cookie contains the raw random value; only the corresponding database record is hashed.

Email links and one-time codes expire after 10 minutes. Device-pairing requests last 10 minutes. Mac app tokens use a 30-day sliding expiration, and their SHA-256 hashes are stored server-side. Install commands expire after 15 minutes and are one-time use. Private release links expire after 15 minutes; avatar download links expire after 60 seconds.

We do not use first-party localStorage for tracking. Turnstile, Google, Stripe, Discord, and other third parties can set or read their own cookies or similar technologies under their policies. Your browser controls can block cookies, but blocking necessary cookies can prevent sign-in and paid features.

11. Data retention

We keep personal information only for as long as reasonably necessary for the purposes described in this Policy, including providing an active account, maintaining security and fraud controls, resolving disputes, complying with tax and accounting obligations, and establishing or defending legal claims. Retention periods depend on the data’s sensitivity, the purpose, applicable limitation periods, and legal requirements.

Account, profile, device, subscription, usage, top-up, and admin records are generally kept while your account is active. Transaction, tax, payment-dispute, security, and audit records can be retained after closure for legal, accounting, fraud-prevention, and evidentiary purposes. Expired sessions, OAuth state, device requests, used install tokens, operational logs, and backups can persist beyond their functional expiration. We do not claim a fixed deletion period where no scheduled deletion process exists.

Account deletion cancels Whisply subscriptions for the Stripe customer and deletes the Supabase Auth user, causing linked profile, app-session, approved-device, subscription, grant, usage, top-up, and install-token records to cascade away. Some information can remain: Stripe customer and financial records; uploaded avatar objects; admin audit IDs and metadata; unlinked OAuth state and expired or unapproved device requests; provider logs and backups; and records held by OpenAI, Resend, Google, Cloudflare, Discord, or other third parties under their own schedules.

Local conversations, attachments, settings, and Keychain entries remain on your Mac until you delete them. Contact support@whisply.net if you need help identifying or deleting residual account information.

12. Your privacy rights

Depending on where you live, you may have the right to know what personal information we hold, access it, receive a portable copy, correct inaccuracies, delete it, restrict or object to processing, withdraw consent, opt out of certain profiling or targeted advertising, and not be discriminated against for exercising your rights. You may also have the right to appeal a denied request or complain to a regulator.

You can review account and usage information through the Service, edit your name, avatar, and spending controls, update your plan’s payment method through Stripe, export local conversations, delete local conversations, cancel subscriptions, and log out of browser or app sessions. Device resets and account deletion are available by contacting support. Contact support@whisply.net to make another privacy request.

We will verify your identity and authority before acting and will respond within the period required by applicable law. An authorized agent may need to provide proof of permission and verify your identity directly. We may refuse a request where an exception applies, and you can ask us to reconsider or appeal an adverse decision.

13. US state privacy notices

The categories of personal information described in this Policy include identifiers; account and profile information; internet and network activity; device and hardware information; commercial and transaction information; audio and screen content you choose to process; and inferences needed to provide requested functionality. We collect them from you, your devices, and authorized providers for the purposes and recipients listed above, including during the preceding 12 months.

We do not sell personal information or share it for cross-context behavioral advertising. We do not use screen, audio, payment, or other potentially sensitive information to infer sensitive characteristics or to create advertising profiles. Where state law gives additional rights regarding sensitive information, we will honor those rights.

Because we do not sell or advertising-share personal information, Global Privacy Control and similar opt-out signals do not currently change our processing. If our practices change, we will update this Policy and implement legally required controls.

14. EEA, UK, and Swiss privacy rights

If you are in the European Economic Area, United Kingdom, or Switzerland, our legal bases are described in “How we use information.” These include performing our contract with you, complying with legal obligations, pursuing legitimate interests in operating and securing the Service, and obtaining consent where required. You can withdraw consent at any time without affecting earlier lawful processing.

In addition to the rights in this Policy, you may object to processing based on legitimate interests, request restriction, and lodge a complaint with your local data-protection authority. You are not required to provide personal information, but information needed for an account, payment, security, or an AI feature is necessary to supply that part of the Service.

15. International data transfers

Whisply is based in Illinois, United States, and its providers can process information in the United States and other countries. Those countries can have different data-protection laws and government-access rules.

Where required for transfers from the EEA, UK, Switzerland, or another restricted jurisdiction, we will use an approved transfer mechanism, such as Standard Contractual Clauses or another lawful safeguard, together with appropriate supplementary measures. Contact support for information about the applicable safeguard. You acknowledge that provider locations and legal requirements can affect how your information is protected.

16. Security and Mac permissions

We use measures including TLS/WSS, HSTS, PKCE, production Secure and HttpOnly cookies, SameSite restrictions, hashed app and install tokens, service-role-only database rules, private Storage with signed URLs, Stripe webhook verification, and release-build Keychain storage. No system is completely secure, and we do not claim end-to-end encryption or zero provider retention.

Installation requires SIP and AMFI to be disabled. The installer uses a setuid-root helper to write Accessibility, synthetic-input, ScreenCapture, AudioCapture, input-monitoring, and Microphone permissions directly into macOS privacy databases. The app can reapply missing grants at launch, activation, and periodically, including after revocation. These are not ordinary one-time macOS prompts, and they increase the impact of a compromised app, account, or device.

Only use an install command from your official Dashboard. To stop permission re-granting, quit or uninstall the app and remove its privileged helper, then restore your preferred macOS security settings. You are responsible for protecting your Mac and local files and for obtaining consent before capturing other people or their information.

We will notify affected individuals and regulators of a personal-data breach when and as required by applicable law.

17. Children’s privacy

The Service is not directed to anyone under 18, and we do not knowingly collect personal information from anyone under 18. If you believe a minor has created an account or provided information, contact support so we can investigate and delete the account and associated information as required.

18. Changes to this Policy

We may update this Policy as the Service, providers, or legal requirements change. We will post the revised version with a new “Last updated” date and provide additional notice where required or appropriate for material changes. New uses of Google user data will receive any additional notice and consent required by Google’s policies and applicable law.

19. Contact us

For privacy questions, access, correction, deletion, appeals, or other rights requests, contact support@whisply.net. Include the email associated with your account and enough detail to identify your request, but do not email passwords, full card numbers, or unnecessary sensitive content.

You can also review our Terms of Service for the agreement governing your use of Whisply.