This describes how Heard Labs, Inc. ("Heard", "we") handles data when you use heard.dev, the Heard macOS client, or our hosted text to speech proxy. The Heard daemon is open source under Apache 2.0. This policy covers the hosted services we run on top of it.
What we collect
- Email address, used for account identification and sign in codes.
- A SHA 256 hash of each device session token. We do not store the live bearer token.
- Plan and usage counters, including your current plan, daily character count, and plan transition history.
- Stripe customer and subscription identifiers. Payments are entered on Stripe hosted pages; Heard does not store full card numbers.
- When product analytics is enabled in the macOS app, PostHog receives an anonymous install ID or signed in account ID, app and plan information, macOS version, processor architecture, locale, and categorical product events. Raw email addresses and narration content are not sent to PostHog by the app.
- On your first visit, heard.dev stores a first party cookie (heard_ft, 90 days) with the referring site, any campaign (utm) or ref link parameters, the page you landed on, and the time. If you create an account, it is saved with the account so we know how you found Heard. It is not shared with advertising networks.
- heard.dev uses PostHog product analytics (page views and download or sign up clicks), sent first party through heard.dev with no advertising and no session recording. If you sign in, those visits are linked to your account.
- For managed narration, we count characters server side. For bring your own key and local narration, the app can send character counts to Heard when usage reporting is enabled. It never includes the narration text.
What we do not collect
- Narration text sent through our synth proxy is forwarded to the model provider and not retained, transcribed, or analyzed by Heard. We count its length for usage limits, but we do not store the text.
- Audio output is not kept by Heard. The proxy streams generated audio back to your Mac without persistent storage on our side.
- Source code, terminal output, and agent transcripts stay on your Mac unless you choose a feature that sends a short narration snippet through a hosted service, or Help improve Heard (below) shares a masked record of what your agents did and what you asked Parrot.
- Product analytics does not include narration text, source code, terminal output, project paths, file names, or function names.
What leaves your Mac
The Heard daemon may make outbound requests to the following services:
- ElevenLabs, through our proxy on managed plans or directly from your Mac on bring your own key setups, for narration text and voice synthesis.
- Speechify, when you configure your own Speechify key, for narration text and voice synthesis.
- Anthropic, through our proxy on managed plans or directly on bring your own key setups, or OpenAI directly when configured, for rewriting an agent event into the chosen persona voice.
- Groq, through our proxy for managed Heard Power dictation cleanup or directly when you configure your own key, for the dictated text you ask Heard to clean up.
- api.heard.dev for sign in, account and device management, plan checks, usage reporting, hosted rewriting, dictation cleanup, and voice synthesis.
- PostHog for product analytics when it is enabled. You can turn client product analytics off in Settings. Heard may still record account and subscription lifecycle events server side without narration content.
- api.heard.dev, which stores it in Cloudflare R2, for Help improve Heard when it is on (below).
Help improve Heard
Heard can share masked usage data with us so we can train and improve Heard's models, including how Jarvis and Parrot decide what to say, when to speak, and how to answer what you ask. It is on by default, except in the EU, EEA, UK and Switzerland, where it stays off until you turn it on. You can turn it off at any time in Settings, General, Help improve Heard.
- What is shared: what your agents reported and what Heard said about it, the questions and requests you make to Parrot and its answers, and how you reacted to Heard, for example stopping or muting a line, replying, or saying "shorter", and simple labels about how Parrot handled each request, for example whether a step worked or needed a correction.
- Masked on your Mac first: names of people, companies, places and your projects, plus email addresses, phone numbers, card numbers, keys, tokens and links, are replaced with placeholders before anything leaves your Mac. A line Heard cannot mask confidently is not sent.
- Review: authorized members of our team may look at shared, masked data to find and fix problems. Screenshots Parrot uses to check its work never leave your Mac.
- No identity: uploads carry a random install ID, never your email or account ID. We use your account only to authorize uploads and to delete them on request.
- Never retroactive: only activity recorded while the setting is on is shared. Turning it off stops sharing at once, and Delete what I've shared removes everything you shared from our servers.
- Only on unmetered connections: hourly, on Wi-Fi or Ethernet, not on a phone hotspot or in Low Data Mode, and not when your battery is below 20%.
- Use: only to train and evaluate Heard's own models. We do not sell it, and we do not give it to other companies to train their models.
- Business and team accounts are off by default.
AI assistants and cloud agents
Heard runs two MCP servers that AI assistants and cloud agents (for example Claude, ChatGPT, Grok Bot, Meta Muse or Devin) can connect to. Heard only receives what an agent sends through these tools. It never sees the rest of your conversation with the assistant.
- Connections. When you connect an agent, we store which kind of agent it is, the name its app registered with, the bot name it reports under, and when it last reported. Sign in uses OAuth or a token you create. We store only hashes of the tokens.
- Reports. When an agent reports progress (the heard_report tool), we store its status, a short summary of up to 500 characters and optional detail of up to 2,000 characters, so the Heard app on your Mac can read it out loud.
- Messages to agents. When you send a connected agent a message from Heard, we store the message text until the agent picks it up with heard_inbox.
- Heard Friends. If you use the Heard Friends server, an assistant can read your first name, your agent hours for the month, your friends board and your invite link. If you ask it to invite someone, it shows you a preview first, and only after you confirm do we send that person one invite email.
- Disconnecting an agent, or turning off a Heard Friends key, revokes its access right away.
Where data lives
- Supabase managed Postgres stores accounts, plan changes, pending signup codes, and Stripe event logs.
- Cloudflare Workers run the API and hosted proxies. Heard does not use persistent Cloudflare storage for narration, rewrite, or dictation content, although Cloudflare may process standard request metadata to operate the service. Masked Help improve Heard data is stored in Cloudflare R2.
- Stripe stores billing and payment data.
- Resend processes email addresses and message content for sign in codes and account emails.
- PostHog stores the product analytics and account lifecycle events described above.
- Vercel hosts heard.dev and may process standard request data to serve and secure the website. heard.dev loads PostHog product analytics, described above; it does not load any advertising trackers.
Retention
- Account records are kept while the account exists and deleted on request.
- Plan change audit logs are kept for the life of the account.
- Pending signup codes expire after 10 minutes and are then pruned.
- Stripe webhook logs are retained for 14 days.
- Heard does not retain narration text, generated audio, hosted rewrite text, or hosted dictation cleanup text after completing the request.
- Help improve Heard data is kept until you delete it with Delete what I've shared, you ask us to delete it, or we no longer need it to train Heard's models.
- Cloud agent reports are deleted after 7 days. Messages to agents expire after 7 days if the agent never picks them up and are deleted after 30 days either way.
- Our service providers retain operational and analytics data under their own policies and account settings.
Your rights
You can request access to, correction of, or deletion of your account data by emailing [email protected]. We aim to respond within 30 days. Residents of the EU, UK, and California have additional rights under GDPR and CCPA. Use the same email and we will honor them.
Children
Heard is not directed at anyone under 16, and we do not knowingly collect data from children.
Changes
When we change this policy, we update the date at the top. Material changes are emailed to active accounts before they take effect.
Contact
[email protected]. Heard Labs, Inc., Bay Area, California.
