FlowKeys

FlowKeys Privacy Policy

Effective date: the date FlowKeys paid plans launch

FlowKeys is an on-screen keyboard and dictation app for macOS. This policy explains what information FlowKeys handles, where it goes, how long it is kept, and what you can do about it. "FlowKeys", "we" and "us" mean the developer of FlowKeys. You can reach us at getflowkeys.app@gmail.com.

The short version

What stays on your Mac

These are stored only on your Mac, and we don't keep a copy of any of them:

To suggest words and run rewrites, FlowKeys reads the text in the field you're typing in, using macOS Accessibility permissions. It reads this text in memory as you type and does not save it to disk.

What leaves your Mac, and who receives it

Dictation: AssemblyAI (default) and ElevenLabs (backup)

When you dictate, FlowKeys sends your recorded audio to a speech-to-text provider, together with your saved dictation vocabulary so that it spells your names and terms correctly.

The app also contains code for two other speech-to-text providers, Groq and DeepInfra, which we use for internal testing. The released app does not send your audio to either one. The only way to use them is to set up a developer configuration file on your Mac containing your own API key for that provider. If you do that, your audio goes to that provider under your own account and that provider's terms.

AI polish and rewrites: Anthropic

All of these requests go through our server, which holds the Anthropic account key. This traffic falls under Anthropic's commercial API terms. Anthropic does not train its models on it and deletes it within 30 days, except where it must keep data longer for legal or safety reasons.

Our server: Cloudflare

Our server is a Cloudflare Worker. It relays the requests described above to AssemblyAI, ElevenLabs and Anthropic and issues the single-use dictation tokens. It does not store your audio, transcripts or text. Specifically, it:

App updates. About once a day, the app checks `dl.flowkeys.app` (hosted on Cloudflare) for a newer version and downloads it if there is one. The check sends only the app's version number, plus your IP address as with any web request. Every update is signed, and the app verifies the signature before installing.

Cloudflare processes this traffic as our hosting provider, and its own request logs can include your IP address and install ID for a short period.

Your account: Google Firebase

When you sign in, Google Firebase Authentication stores your email address, your sign-in provider (Google or email link) and a user ID. Our server receives a short-lived token proving who you are with each request. We use your account to apply your plan and allowance.

Usage records

For each account, our server keeps usage totals: seconds of dictation audio, rewrite counts and the words in rewrite requests, per day and per week, plus your plan, trial dates and your Paddle customer and subscription IDs. These records never include your audio, transcripts or text. They're kept while your account exists and for up to 12 months after, for billing and abuse prevention.

Payments: Paddle

Paddle.com is our reseller and merchant of record. When you buy, Paddle collects your payment details, billing address and email under its own privacy policy (paddle.com/legal/privacy). Paddle tells us that a purchase or cancellation happened and which account it's for; it never shares your card number with us.

Crash reports: Sentry (only if you turn them on)

Off by default. If you turn on Settings → Data & Privacy → Send crash reports, FlowKeys sends the crash logs macOS writes after a FlowKeys crash to Sentry, our crash-reporting service, the next time it opens. Crash logs describe the app's code at the moment of the crash, your macOS version and your Mac's model; they don't contain what you type or dictate. Crashes from before you turned the setting on are never sent.

Website dictation demo

The "Now say it." demo on flowkeys.app lets you try dictation without installing the app. When you press the mic button:

What we don't do

Your controls

If you'd like to ask about, or ask us to delete, anything tied to your install ID, email us with the ID, which you'll find in Settings → Diagnostics. Because we collect so little, we may be able to delete it but not to identify you from it.

Children

FlowKeys isn't directed at children under 13, and we don't knowingly collect personal information from them.

Changes to this policy

If we change this policy, we'll update it here and change the effective date above. If a change significantly affects where your data goes, for example a new provider, we'll also mention it in the app's release notes.

Contact

Questions or requests: getflowkeys.app@gmail.com