Legal

Privacy Policy

Effective date:
Last updated:

This policy describes what Voxfloy ("we", "the app") does and does not do with your data. Voxfloy is a speech-to-text utility for iPhone, iPad, Mac, and Apple Watch. It is designed to keep your voice on your device.

What data Voxfloy handles

1. Microphone audio (on-device only)

When you start a recording, Voxfloy captures audio from your microphone and feeds it to Apple's on-device speech framework — SpeechAnalyzer on iOS / macOS 26 and later, or SFSpeechRecognizer on earlier systems. Audio is held in memory only for the duration of recognition and is not saved to disk, transmitted to us, or shared with any third party.

On Apple Watch, recordings are saved locally as M4A files and transferred to your paired iPhone over Apple's secure WatchConnectivity channel for transcription. The audio file is deleted after processing.

2. Transcribed text

The text produced by speech recognition is:

3. Cloud AI formatting (opt-in only)

When Cloud AI is on, the raw transcribed text is sent over HTTPS to our server, which calls Google's Gemini model and returns a formatted version. The audio is never sent. Each request includes:

The server does not store the text or vocabulary. Each request is handled and discarded. We do not log message content.

If you turn Cloud AI off (the default) or sign out, the app falls back to on-device formatting (Apple Foundation Models, when available) or an offline heuristic, and no text leaves the device.

4. Sign in with Apple (only if you use Cloud AI)

To use Cloud AI, you must sign in with your Apple ID using Sign in with Apple. This stores:

This identity is stored by our authentication provider (Supabase) and is used solely to authorize Cloud AI requests. It is not used for marketing.

You can sign out at any time from the Account screen in Settings.

5. Custom vocabulary

Custom terms you add to the vocabulary list are stored on your device only. They are used in three ways, all of which keep the terms on-device by default:

If — and only if — you turn on Cloud AI, your vocabulary entries for the active locale are also sent with each formatting request so the server model can preserve them too (see section 3). They are not synced across devices, used for analytics, or shared with any third party.

6. Usage statistics (opt-in, local only)

If you enable "Share usage stats" in Settings, Voxfloy stores on your device counts and timing measurements (transcriptions completed, transcriptions failed, response time percentiles). No audio, no text, and no identifiers are stored. These statistics never leave your device. The toggle exists so you can review your own usage.

7. App diagnostics and analytics

Voxfloy uses Firebase Analytics to log usage events such as "recording started", "transcription completed", "settings opened", and similar action events. These events do not include audio or transcribed content.

In addition, when you use Cloud AI, our server records a small telemetry row per request — the formatting mode, locale, response time, and input/output character counts — alongside your account identifier. It does not include the text. We use these rows to enforce daily rate limits, detect abuse, and monitor service health. Telemetry rows persist in our database; the underlying view is restricted so only our service role can read them.

You can opt out of personalized advertising via the App Tracking Transparency prompt on iOS the first time you launch the app.

8. Advertising (iOS, free tier only)

Free users on iPhone and iPad see banner ads served by Google Mobile Ads (AdMob). These ads are not shown to Pro subscribers. AdMob may use device identifiers as governed by Apple's App Tracking Transparency framework — you can decline tracking when prompted, in which case ads will be non-personalized.

There are no ads on macOS, watchOS, the share extension, or the widget.

9. Purchases

In-app purchases (Voxfloy Pro) are handled entirely by Apple's StoreKit. We never see your payment information — no card number, price, currency, or billing address ever reaches our servers.

If you are signed in, the app sends Apple's signed transaction receipt to our server so we can map Apple's originalTransactionId to your Voxfloy account. We store this mapping (transaction ID, product ID, environment, and your account identifier) in our database. We use it for one purpose: when Apple sends us a renewal, refund, or expiration notification for that transaction, we can keep your Pro entitlement in sync across your devices automatically. The mapping is deleted if you delete your account.

10. Cross-device history sync (opt-in only)

If you are a Pro subscriber and you turn on History Sync in Settings, Voxfloy uploads your transcribed text to our server so the same history appears on every device signed in to your account. Each entry includes:

This data is stored against your account identifier in our database, behind row-level security so only you can read your own rows. We use it for one purpose: keeping your history consistent across your devices. We do not analyze it, train on it, or share it.

You are in control of this data:

History Sync is off by default and only available to signed-in Pro subscribers. If you never turn it on, none of your transcribed text is uploaded as a result of this feature.

Data we do not collect

Third-party processors

Processor Purpose Data shared
Apple Speech recognition, Foundation Models, Sign in with Apple, StoreKit, iCloud (if you use it) On-device only, except Sign in with Apple identifier and purchase data
Supabase (PaaS) Authentication, Cloud AI Edge Function hosting, History Sync database, Cloud AI usage telemetry, StoreKit transaction-to-user mapping Email/Apple identifier; Cloud AI raw text (transient); History Sync transcribed text and metadata (stored, opt-in); per-request usage telemetry rows (no content); Apple originalTransactionId and productId
Google (Gemini) Cloud AI text formatting (called by our Edge Function) Cloud AI raw text only (transient)
Google Firebase Analytics App usage events Event names and counts, no content
Google Mobile Ads (iOS, free tier) Banner ads Subject to App Tracking Transparency

Children

Voxfloy is not directed at children under 13. We do not knowingly collect personal data from children.

Your rights

If you are in the EU/UK, you may have additional rights under GDPR/UK GDPR (access, rectification, erasure, portability). To exercise these rights, contact us at the address below.

Changes to this policy

If we make material changes, we will update this page and the "Last updated" date above. Continued use after a change constitutes acceptance.

Contact

Questions or requests: