MumblePop Privacy Policy

Last updated: 7 November 2026

MumblePop is a dictation app. You speak, and it types what you said into whatever app you are using.

MumblePop has no accounts and no analytics, and it never sends the developer anything on its own. Your speech goes to Google, using your own API key. The only things that can reach the developer are a bug report, a feature request, or a copy of your debug data, and only when you choose to send one — see below.

What leaves your phone

1. Your speech, and the text made from it, go to Google. When you dictate, MumblePop sends your audio to Google's Gemini API to be turned into text, using an API key that you supply. It goes to Google, not to the developer. Depending on the setting, the audio is streamed while you are still speaking, or sent as a short clip when you stop. In more detail:

Your spelling lists (the “always write X as Y” lists, including British spelling) are applied on your phone after the text comes back. They are never sent anywhere.

Google's handling of what you send is covered by their terms:

Free keys and human reviewers. If your API key is on Google's free tier, Google's terms say they may use what you send to improve their products, and that human reviewers may read your input and output. Google's own instruction for the free tier is not to submit sensitive, confidential or personal information. In practice: on a free key, do not dictate anything you would not want a stranger to read — passwords, bank or medical details, other people's private information. Keys on a paid tier are excluded from this by Google's terms. That distinction is Google's, not the developer's, and it applies to every app that uses your key.

2. Bug reports and feature requests, only if you send one. MumblePop has a Report screen where you can describe a problem or suggest something. Nothing is sent unless you tap Send, and every extra is a separate tick box that starts off. A report always contains what you typed (the description, plus a title if you add one), the report type, and the app version. Each of these is added only if you choose it:

Every report also carries a random number that the app made when it was installed. It is not linked to your name, your Google account or your phone, and it exists so the developer can limit how many reports one install can send in a day. Like any website request, the server necessarily sees the IP address the report came from; it is used only for that same daily limit.

Where it goes: a server run by the developer (mumblepop-reports.rosestuffs.org), over an encrypted connection. It is not Google and it is not a third-party service. Who reads it: only the developer. Reports are never shared, sold, or used for advertising, and are not used to train anything. How long: each report is deleted automatically after 90 days, sooner if the developer finishes with it. The developer is told when a report arrives by a private message on Discord that includes the title, type and version but not the full report.

If you would rather not send it to the server, the Report screen can instead save the report as a zip file on your phone. You can read what is in it, and then send it however you like, or not at all.

To have a report deleted before the 90 days are up, email the address under Contact with the report number the app showed you after sending (it looks like MP-0042). If you have lost the number, say roughly when you sent it and what it was about.

3. “Max debug data”, only if you send it. A report is about one problem. Max debug data is for when you want to help the developer improve the app with everything: it sends all of your MumblePop data from the period you pick (all of it, the last 30 days, or the last 7 days). Nothing is sent until you tap Send on that screen, which lists all of this first:

It goes to the same developer-run server as reports, over an encrypted connection, with the same install number and the same use of your IP address (daily limits only). Who reads it: only the developer, to find and fix problems and to test changes against real dictations. It is never shared, sold, used for advertising, or given to anyone to train a model. How long: unlike reports, it is kept until the developer deletes it, because comparing a fix against the same recordings is the point. To have it deleted at any time, email the address under Contact with the number the app showed you after sending (it looks like DUMP-0007).

Nothing else is transmitted anywhere. There is no telemetry, no automatic crash reporting (a crash is written to the on-phone debug log and goes nowhere unless you send it), no advertising, and no third-party SDK that phones home.

What stays on your phone

You can delete any of it from inside the app, and all of it by uninstalling.

Except what you export or save. When you tap Export, the app writes your transcripts as plain readable text and JSON into its own media folder and into your Downloads folder. A report saved as a file is also an ordinary file you can see and share. That copy is deliberate — it is what lets you move to a new phone, and unlike everything else it survives uninstalling the app — but it is a normal file any app with storage access can read. Delete it when you are done with it. The same goes for Export settings, which writes your styles, lists and other choices to a file the same way. Your API key is only in that file if you tick “Include API key”; anyone holding a file with the key in it can use your key.

The accessibility service

MumblePop uses an Android accessibility service. This is the only way on Android to type into another app's text box without replacing your keyboard, and it is what makes the app work at all.

It is used for exactly these things:

The service reads the contents of the focused field, and where your cursor is, only to place your words and to recognise a recent dictation. That text is never stored, never included in your transcript, never written to the debug log, and never transmitted anywhere.

Fixes in other apps. When “Offer fixes in other apps” is on (it is on by default) and you have a dictation from the last 24 hours (you can change this) whose recording is still on the phone, the service reads the text and cursor position of the box you are typing in when you move the cursor or select text there. It never does this in password boxes, in apps you have told it to ignore, or in MumblePop itself. It compares that text, on the phone, with your recent transcripts to tell whether one of your dictations is there. The text is held in memory only while the fix button is showing or a fix you asked for is being made. If you tap a fix, MumblePop sends Google only the audio of your own recording (a few seconds around that spot, or the whole recording to redo it), using your own API key, and types the words that come back into the box, or puts them on your clipboard if the app does not allow it.

It does not read your screen generally and does not log what you type.

It does see the name of the app you are currently typing in — the package name of the focused field, in every app, not only some. It has to: that is how it knows whether you have told it to stay away from this app, and which style or filters you have set for it. Unlike the field's contents, the app's name is written to the on-phone debug log described above (unless you turn the log off), so a problem in one app can be traced. It only leaves your phone if you send a report with the debug log or Max debug data.

In apps you have told it to ignore, the bubble never appears and nothing is ever typed into them.

So that you can choose those apps in the first place, MumblePop can also see the list of apps you have installed that can be opened. It uses that only to draw the list you pick from. The list is never sent anywhere, and only the apps you actually choose are remembered, on the phone.

The other permissions, and why

PermissionWhy
Internet To reach Google's Gemini API, and, only when you send one, the report server described above.
Microphone To record what you say. Nothing is recorded until you start a recording.
Display over other apps To draw the bubble above the app you are typing in.
Notifications Android requires a visible notification while an app records in the background. Also used to tell you when a file you chose has finished converting or transcribing.
Run while recording A microphone foreground service, so a recording is not cut off when you switch apps. It shows the notification above while it runs.
Process a file in the background A data-sync (and, on Android 15 and later, media-processing) foreground service, so a file you chose keeps converting and transcribing when you leave the app. It runs only for a file you started, and shows a notification with a Stop button while it runs.
Start at boot Only so the bubble comes back after you restart the phone. It does nothing if you have turned the bubble off.
Usage access (optional) Only to sort the "apps to ignore" list by what you have opened recently. Declining it costs you the sorting and nothing else.
Battery optimisation (optional, and not a permission) Some phones kill the bubble once the phone sits idle. MumblePop does not ask for the permission that would let it exempt itself — it only opens Android's own battery settings, where you can allow it if you want to. Nothing changes unless you do it yourself.

The two marked optional can be refused and the app still works.

Children

MumblePop is not directed at children. It requires a Google AI Studio API key, which Google does not issue to children, and the Gemini API terms require users to be 18 or over. Please do not send a report if you are under 18.

Changes

If this policy changes, the date at the top changes with it, and a material change will be noted in the app's release notes.

Contact

[email protected]