Ask HN: In iOS, why can't I allow access to mic and camera “Only when using”?

3 points by emacdona ↗ HN
For location services, I can specify that access is granted "Never" or "While Using the App". For the microphone and camera, I have no such choice -- it's all or nothing.

Based on targeted ads I get, it's pretty clear to me that many (most? all?) apps that I grant microphone access to collect and sell data about me.

Apple's "pro privacy" stance makes it seem like this would be an easy win for them: let me only grant access to microphone and camera when I'm using the app. Is there a technical reason for not doing this?

My workaround for now is manually toggling access to the microphone and camera per app, as needed. Effective, but terrible user experience.

edit: grammar

7 comments

[ 2.7 ms ] story [ 25.4 ms ] thread
I'm not sure, but maybe disabling background activity might help. Also, why are you using such abusive apps?
I mean, it's not like the apps advertise what they are doing somewhere easy for me to see. Yes, I'm sure that somewhere in their ToS they indicate that they may "collect data".

Are you certain you are not using such apps? If so, please tell me how I can easily determine which apps that request access to my microphone are not selling my data :-)

Not certain, but just 4 apps have mic access here (BirdNET, Discord, Signal, Whatsapp).

What you suggest seems like an obvious feature though. Unfortunately I found if you can't do something on iOS, you really can't do it unless you jailbreak.

That said disabling background access does really quit most (all?) app activity some time after you switch apps. It's not a perfect mitigation, but such is the cost of buying into closed ecosystems :(

Edit: The other answers suggest something else is probably at play, so disregard this.

> Based on targeted ads I get, it's pretty clear to me that many (most? all?) apps that I grant microphone access to collect and sell data about me.

Do you think they’re doing it when the app is in the background?

Any time they’re listening (or filming) the little dot to indicate that will be at the top of the screen.

I don’t think this is a real issue.

That's because iOS apps are not allowed to use the microphone and camera in background, unless you are actively engaged in something like a call or video/audio recording.

Whenever an app is using the mic you will see it clearly in the status bar, it's not possible to hide it.

As soon as you close the app completely (swipe up on it in app switcher), those permissions are disabled until the app is launched again by the user.

    Based on targeted ads I get, it's pretty clear to me that many (most? all?) apps to I grant microphone access to collect and sell data about me.
That data is most likely collected from text, behavior inside apps/websites or from recorded audio/video calls. It can even be collected from outside methods like credit card purchase data, emails etc.

As a macOS and iOS developer I can say for certain that I have no way to create an app that can listen to you or record video of you while the app is not running. There's simply no API for that.

Thanks for the info. I'll have to try to run some experiments with other devices in my house that have microphones. I swear, there are some things that I mention casually in conversation with my wife... that end up in my Twitter or Facebook feeds. I thought my phone was the common denominator, but I must be wrong.
> Based on targeted ads I get, it's pretty clear to me that many (most? all?) apps to I grant microphone access to collect and sell data about me.

You would see a red bar/dot at the top of your screen indicating a background app has an active audio session with microphone access if this was actually happening. That app would have also had to be previously foregrounded, there isn't a way for an app in the background to just randomly turn the microphone on on iOS and start recording (thankfully), everything needs be requested through audio session which is an intermediary between the app and the OS.

iOS aside, people often have this idea that devices are listening to them - not that some particular companies wouldn't like to do that but wouldn't this be insanely expense to do in terms of compute, rendering it a non-starter?