← Back to Abalone Flow

Privacy Policy

Last updated: 2026-07-18

This is the privacy policy for Abalone Flow (the Mac app) and abalone.ai. It's written in plain English because we'd rather you read it than skim it.

Who we are

Abalone is a solo-founder project by Vincent Wei. Contact: vincent@vincentwei.co. For GDPR purposes, Abalone is the data controller for data collected through Abalone Flow and abalone.ai.

What we collect, and why

Data Why we have it Lawful basis (GDPR)
Email, name, avatar (from Google or Apple OAuth) Account identity, so your dictation history syncs across devices Contract (you asked us to store it)
Dictation text Your searchable history across the devices you sign into Contract
Audio recordings Lets you retry transcription with a different model later Contract
Device metadata: Mac model, chip, OS version, app version, locale, timezone, hardware identifier (IOPlatformUUID), serial number Debugging crash reports and compatibility issues; product decisions (e.g. when we can drop macOS 13 support) Legitimate interest
IP address and country (derived from IP by our edge provider) Security monitoring, growth analytics (“where are our users?”) Legitimate interest

We do not collect precise location (GPS), contact lists, browsing history, or anything from other apps. The app's voice-to-text model runs locally on your Mac, and once it's ready, raw audio doesn't leave your device for transcription. The one exception is the short bridge while the local model isn't ready — while it first downloads after install, or in the first moments after the app launches. Dictations in that window are transcribed in the cloud: the audio goes through our server to our transcription provider (Groq, with OpenAI as backup), is used only to produce your text, and isn't stored by us. Prefer that this never happens? Choose Local-only mode in Settings — then audio never leaves your Mac, and dictation simply waits until the local model is ready. Audio is otherwise only uploaded to cloud storage if you're signed in, so you can retry transcription later from another device.

Agent data

If you use the agent and you're signed in, we also store your agent conversations (their titles and the transcript content of each turn — which can include excerpts of files the agent read for you, and any files or images you attach to a message) and your project shells (a project's name, icon, and any standing instructions you write) in our database, so they sync across the devices you sign into. Deleting a conversation or project in the app soft-deletes it on our side too.

Pointing a project at a folder never uploads that folder: the folder path and the files inside it stay on your Mac, and project source files are local in this version.

Using your own Claude subscription

In Settings → Providers there's a toggle called "Use your Claude subscription." It's off unless you turn it on, and turning it on means signing in — so signing in is the opt-in. Once it's on, dictation polish and agent turns can run on your own Claude plan instead of ours.

Signing in runs Anthropic's own sign-in flow — the same one their claude command-line tool uses — not anything we built. We never see, store, or refresh your Claude credentials; Anthropic's tool owns them on your Mac (if you already use Claude Code and are signed in there, we detect that instead of opening a browser). All we read is Anthropic's own signed-in status — your email and subscription plan — so Settings can show something like "Connected — you@example.com · Pro." Turning this feature off in our Settings doesn't touch your Claude Code sign-in; it's still there, ready the moment you turn it back on.

When this feature runs, it runs on Anthropic's own engine, not ours: a small program (about 250MB — a Node runtime plus Anthropic's own SDK and command-line tool) that we host for you to download once, from our own update server, and checked before install against both a published checksum and a cryptographic signature — the same release key that signs the app's own updates. That engine sends your dictation transcript or agent messages straight to Anthropic, billed to your own Claude subscription — never through Abalone's servers. If you use the agent's web search or page-reading during one of these turns, that also goes through Anthropic's own built-in tools, not the Serper/Firecrawl setup described earlier in this policy.

Each call still shows up in your usage history, the same way calls on your own connected ChatGPT account do: the app reports one row — which feature it was, which model answered, how many tokens it used, how long it took — never the words you dictated or said to the agent. It costs you nothing against our monthly cap; Anthropic bills your own subscription instead.

We also keep a small switch on our server that can turn this feature off for everyone if something's wrong with it. It's just a yes/no flag the app checks — it carries no data about you.

What we do not do

How long we keep it

We keep your data for as long as your account exists.

When you delete your account (or email us at the address above asking us to), we delete everything within 30 days. That includes your dictation text, audio files, device rows, and profile.

Who we share with

We don't share your data for marketing. We use a small number of subprocessors to run the service:

Your rights

If you're in the EU, UK, or California, you have the right to:

Email vincent@vincentwei.co. We'll respond within 30 days.

Children

Abalone Flow isn't designed for children under 13, and we don't knowingly collect data from them.

Changes to this policy

If we materially change what we collect or how we use it, we'll update the “Last updated” date at the top and notify signed-in users in-app. Small clarifications won't trigger a notice.

Contact

vincent@vincentwei.co