Murble
How to

How to check whether a voice app is uploading your recordings

"On device" has become a marketing phrase, which means it is worth about as much as "bank grade security". You should not take our word for it either. Here are three ways to check any voice app for yourself, in rising order of rigour, followed by a complete account of what Murble sends over the network and what it never sends.

By Lukasz Majda Updated 25 July 2026

What "on device" should mean

Most voice apps that advertise AI features send your audio to a server, transcribe it there, summarise it there, and send text back. That is not a scandal, it is just how the cheapest architecture works. It becomes a problem when the recording is a therapy session, a legal consultation, a medical appointment, a source interview or a board discussion.

A genuinely on device app runs the speech model and the language model on your phone's own silicon. The practical test is simple: if the app still works with the network switched off, the processing is happening locally. Nothing else you read on a website can substitute for that observation.

Watch for the weasel version: "your data is encrypted in transit and at rest" means it is being uploaded. "We do not train on your data" means it is being uploaded. "Processed securely in the cloud" means it is being uploaded. Those can all be true and still not be what you wanted.

Method 1: airplane mode, two minutes

This is the check anybody can do, and it is more informative than any privacy policy.

  1. Let the app finish any first run setup

    On device apps often download a model the first time. Let that finish while you are online, otherwise you will be testing the download rather than the processing.

  2. Turn on airplane mode, and turn Wi-Fi off too

    Airplane mode on some iPhones leaves Wi-Fi enabled. Open Control Centre and confirm both are off, so there is genuinely no route out.

  3. Record something and ask for the AI features

    Record a minute of speech, then request the transcript, the summary and whatever else the app advertises.

  4. Read the result

    If you get a real transcript and a real summary, the work happened on the phone. If you get a spinner, a queue, a "will process when back online" message or an error, it did not.

What this test cannot tell you is whether the app also uploads a copy when the network returns. For that, keep going.

Method 2: the iOS App Privacy Report, five minutes

iOS has a built in network log, and almost nobody uses it. It records every domain each app contacts, which is exactly the evidence you want, and it needs no tools or technical knowledge.

  1. Turn the report on

    Open Settings → Privacy & Security → App Privacy Report and tap to turn it on. It starts empty, because it only logs from that moment forward.

  2. Use the app normally for a few days

    Record notes, generate summaries, open every feature you care about. The longer you leave it, the more complete the picture.

  3. Read the domains contacted

    Go back into the report and find the app. You will see every domain it contacted and how recently. This is the list to scrutinise.

Interpreting what you find:

How to read the domains an app contacts in the iOS App Privacy Report.
What you seeWhat it means
No domains at allThe app has not touched the network. The strongest possible result.
A model host, onceConsistent with a one time model download. Check the timing matches when you installed or downloaded a model.
A domain contacted every time you recordSomething is being sent per recording. Ask what.
Analytics or attribution domainsYou are being measured. Common ones include app measurement, crash reporting and attribution services.
Apple domains for iCloudSync to your own iCloud account, if you enabled it. Your data leaves the device, but to your account, not the developer's server.

Method 3: a proxy or packet capture, thirty minutes

This is the rigorous version, and the one to use if you are evaluating an app for a firm or a newsroom rather than for yourself. You put a machine you control between the phone and the internet, and read everything that goes past.

  1. Install an intercepting proxy on a computer

    mitmproxy is free and open source. Charles and Proxyman are commercial equivalents with friendlier interfaces. Run it on a machine on the same network as the phone.

  2. Point the iPhone at it

    On the phone, open Settings → Wi-Fi, tap the network, then configure a manual HTTP proxy with the computer's address and the proxy's port. Install and trust the proxy's certificate so HTTPS can be inspected, otherwise you will see hostnames but not contents.

  3. Exercise the app while watching the flow list

    Record, transcribe, summarise, chat, export. Watch what appears. You are looking for two things: which hosts are contacted, and crucially the direction and size of the traffic.

  4. Judge it on request bodies, not hostnames

    A large download and no meaningful uploads is a model being fetched. Repeated uploads of a few hundred kilobytes when you record are your audio leaving. An app doing on device work should show no request bodies containing audio or transcript text at all.

If an app refuses to work at all behind a proxy, that is worth noting but is not proof of bad behaviour. Certificate pinning is a legitimate security measure. It does mean you cannot verify the contents, only the destinations, so fall back on method 1.

Everything Murble sends

Here is the complete list. If you run the checks above and find anything not on this table, that is a bug and we want to hear about it at [email protected].

Every network request Murble is capable of making, as of version 1.2. Verified 25 July 2026.
PurposeWhenDirectionOptional
Model download Only when you choose to download an offline transcription, summary or speaker labelling model. Hosted on models.getmurble.com, with Hugging Face as a fallback mirror. Download only Yes. Skip it and use Apple Intelligence and Apple's speech recogniser instead.
iCloud sync Only if you switch sync on. Notes go to your own private iCloud database, which is your Apple account, not a server we operate or can read. Both ways Yes. Off by default.
Purchases When you buy or restore Murble Pro. Handled entirely by Apple's StoreKit. We never see a payment detail. Both ways, to Apple Yes. The free tier needs no purchase.
Anything else There is nothing else. No analytics, no crash reporting service, no attribution, no feature flags, no remote configuration, no update check, no telemetry of any kind.

Your recordings, transcripts, summaries, action items, chat questions, translations and reports are never uploaded anywhere, by any code path, including with sync enabled. There is no account because there is no server to hold one.

What you can check in the app itself

Murble is not open source, so you cannot read the code. You can still verify quite a lot of structure from the outside, and these are the specific facts a reviewer usually asks us for:

Honest limitations

A page like this is worthless if it only lists the good news, so here is the rest.

Sources

Check it yourself

Install Murble, let a model download, then put the phone in airplane mode and record something. That is the whole argument, and it takes two minutes.

Download on the App Store

Free to use. No account, because there is no server to hold one.

Keep reading