Butterfly Labs Home
Privacy policy · Effective 7 October 2026

Privacy

What Butterfly Labs collects, where it is kept, who else handles it and how to have it deleted. It covers this website and Butterfly Speak, our dictation app for Windows.

Who we are

Butterfly Labs is a small software lab in India. You can reach us through GitHub at github.com/Deveshu04.

Butterfly Speak

Speak has three modes, and you choose which one it uses. What leaves your computer depends on that choice.

Cloud mode

To sign you in and to apply the free weekly allowance, Butterfly Labs keeps:

Supabase stores these in its Mumbai region for as long as you have an account; there is one weekly entry for every week you dictated. If a sign-in is started but not finished, Supabase keeps a temporary sign-in record, which can include a short-lived token from Google; a clean-up that runs every hour removes these once they are a day old. If you approved the sign-in at Google but the app did not finish signing in, Supabase has already created your account, with the details above; it is kept like any other account until it is deleted, and the hourly clean-up removes only the temporary sign-in record.

Your audio (with the words in your Dictionary, sent as spelling hints), and the text sent to AI Polish, transforms, the voice agent, note actions, Auto-title and the prompt tester in Settings (including any text you have selected for them), pass through the Butterfly Labs relay, which runs on Cloudflare, to Sarvam AI. Butterfly Labs does not store your audio or your text. Sarvam AI processes them under its own terms.

To enforce the allowance, the relay also keeps your Supabase user id and your full usage (words, seconds of audio and chat requests: AI Polish, transforms, the voice agent, note actions, Auto-title and the prompt tester) for the current week and, until its word count has been copied to Supabase, for the previous week. It keeps them in Cloudflare's storage, in a Cloudflare data centre near where your connection first reaches Cloudflare, which may be outside India. The relay erases this by itself within about a week after the app last contacts the relay for your account.

Bring your own key

The app sends your audio, your text and any recording you import from your computer straight to Sarvam AI, under your own Sarvam account and key. It does not pass through Butterfly Labs, and we receive nothing.

On-device

Speech is recognised on your computer and AI Polish runs on a small model on your computer, unless you switch your own AI endpoint on for speech-to-text (see In every mode). If you have saved a Sarvam key, importing a recording sends that recording to Sarvam AI, and the translate shortcut, transforms, the voice agent, note actions, Auto-title and the prompt tester in Settings send their text there; with your own AI endpoint switched on for AI Polish, transforms, the voice agent, note actions, Auto-title and the prompt tester send their text to it instead.

In every mode

On your computer

In Speak 0.2.0 and later, the app keeps these on your computer:

While a recording is being imported, a converted copy of it sits in Windows' temporary folder; Speak deletes it when the import ends, or, if Speak was closed during the import, at a start at least a day later.

Speak applies the history and correction time limits when it starts and every hour while it runs.

The app's web view (Microsoft Edge WebView2) also keeps files of its own on your computer, which the history settings and Clear all history do not reach. Speak 0.1.0 kept the text of your latest 200 dictations in the web view's storage; 0.2.0 takes it out of there when it first starts, but older copies of it can stay in those files. If you used the Scratchpad page, which early builds had, Speak keeps a copy of its notes there after moving them to Notes, and deleting a note does not remove that copy. If the web view crashes, WebView2 can keep a crash report that holds text from Speak's pages.

In Speak 0.2.0 and later, ticking Delete the application data when you uninstall removes all of this except the notes folder you chose, the files you exported and anything reached through a link, such as a models folder you moved to another drive with a junction. A folder holding something the uninstaller cannot check safely is kept, a file it cannot remove (one still in use, say) stays, and if it cannot tell an uninstall from a reinstall it keeps what a reinstall keeps; the uninstaller's details list says which. When the installer uninstalls the old version before reinstalling, the tick removes only the web view's files (with the counts behind Insights) and keeps the rest. Without the tick, everything stays. In Speak 0.1.0 the tick removes only the web view's files; your settings, history, notes, logs, models and saved keys (including the Cloud sign-in) stay, so install 0.2.0 over it before uninstalling, or remove the ButterflySpeak folders in %APPDATA% and %LOCALAPPDATA% and the ButterflySpeak entries in Credential Manager yourself. Windows' temporary files can also hold the installers Speak downloaded to update itself; they hold none of your data, and uninstalling does not remove them. Uninstalling does not sign you out of Cloud mode on Supabase's side, so sign out while you are online, or delete your account, first.

Windows keeps Speak's Learned notifications, which name the words you corrected, in its notification centre until you clear them there or Windows removes them; undoing a learned correction or uninstalling Speak does not remove them.

Google user data

Speak uses the data it receives from your Google account to sign you in, to show which account is signed in and, as a one-way keyed hash of your e-mail address, to keep the weekly allowance across an account deletion. Its use of that data follows the Google API Services User Data Policy, including the Limited Use requirements.

Deleting your account

In Speak 0.2.0 and later, Settings → Speech engine → Cloud → Delete my Cloud account deletes your account from Supabase, with your Google profile details, your sessions and your weekly entries, and erases the relay's copy of your usage on Cloudflare. For two hours afterwards the relay keeps only a note that the account was deleted, so that it refuses sign-in tokens issued before the deletion. Until the week ends (Monday 00:00 UTC), the relay also keeps a one-way keyed hash of your e-mail address with that week's usage, so that deleting cannot reset the weekly allowance.

Google keeps its own record that you signed in to Butterfly Labs with Google; you can remove it at myaccount.google.com/connections.

If you can't sign in any more, open an issue at github.com/Deveshu04/Deveshu04.github.io/issues. Don't put your e-mail address in the issue; we'll reply there with how to confirm it privately, and your account is deleted from Supabase within 30 days of that confirmation. The relay's copy erases itself within about a week after the app last contacts the relay for your account.

Supabase may keep daily backups of its database, which include your account, for up to 7 days, and Cloudflare may keep a recovery history of the relay's storage for up to 30 days. Supabase and Cloudflare keep short-lived operational logs; Supabase keeps its authentication logs for about a day. Sarvam AI keeps what its own terms allow.

This website

This site is hosted on GitHub Pages and loads its fonts from Google Fonts, so GitHub and Google see the network address your browser connects from, under their own privacy policies. The site sets no cookies and runs no analytics.

Changes

When this policy changes, the date at the top changes with it. Every earlier version stays in this site's history on GitHub.