When an app asks for permissions, it should have a “feed fake data” option
mastodon.gamedev.place
mastodon.gamedev.place
Also, and this was even longer ago, apps could not require users to have “an account” in order to run. I remember (this was over a decade ago) my company making a product change that forced users to have an account in order to function and we got (rightfully) rejected by the AppStore for this. It seems they must have softened this stance because I am seeing more and more apps that require an account to function.
There is some big qualification missing or I don't understand what does that even mean. How could a banking app run without an account? An online game? The Twitter app nowadays? Dropbox/Nextcloud/...? Etc.
Yeah, I agree that for a lot of apps, requiring a account is just a marketing gimmick, but I don't think such a general rule could work.
Their response, not the exact wording since it was over a decade ago, was along the lines of: "1. We're reviewing your app, not theirs, so what they can do is irrelevant. 2. Your app core use case clearly functions without an account as evidenced by the previous versions having full functionality not requiring an account."
1. Is a standard Apple reply when you compare your app's treatment to others'. Everyone gets this when they bring another developer's app into the argument.
2. Called our bluff and is pretty hard to argue against unless we changed something core to our backend such that it now requires an account. Even if that was the case, I would expect Apple's response to be "change it back".
Throughout the whole exchange with Apple, I had to be Devil's Advocate, since I advised against the change to require an account from the start, being apparently the only person in the company who had actually read the AppStore guidelines. Nobody listened to me, of course.
Being the voice of "this is never, ever going to be accepted into the AppStore, it is a perfect example of what you can't do" can be a very lonely journey.
rules for thee but not for me
Apple has never been fair with its review, sadly.
> I would expect Apple's response to be "change it back".
Companies should not have to bend over to apple's whims just to get their software in end user hands. Hopefully upcoming EU regulation will reign apple's overreach in a bit.
For context that would mean that to browse a site like Hacker News, you couldn't require an account, but to post you could. It covers things like Banks or Steam, etc.
Would that be workable?
> How could a banking app run without an account?
I use two banking apps that have a FAQ feature that's just a fancy wrapper for their respective online knowledge bases.It's only due to laziness on their part that the entire app needs a login. Even if the only thing I'd like to do is browse the knowledge base.
Similarly, you shouldn't need to be logged in to queue up an arbitrary number of transactions. To execute them sure, but every banking app I've tried makes you login from the outset for no discernible reason.
If you're going to rip people off with "software as a service" then you need to require an account.
You need an account for WoW, but not Unreal Tournament, to use 90's examples.
Meanwhile, WhatsApp still "punishes" users for denying contacts access by hiding everyone's names (only the phone numbers are shown), including for contacts that have their own names set in their own profiles.
Facebook^W Meta is scum.
Huh, had no idea that's why I only see numbers.
If I do allow contacts, does it show the name from contacts, rather than whatever display name they chose?
If so then I guess that's kind of a "technically we need contacts to display names, which are resolved locally" deal. But Apple could push back "you're big enough to plumb a display name through, not just resolve locally, and deal with spam implications" if they wanted to take a hard stand.
At least for me on Android, which is wild.
Usernames are not given much weight in the UI--there's no guarantee that my username reflects who I really am. Feels rightly more suspicious IMO to see a message from an unknown number than from "~Elon Musk".
I believe this happens regardless of whether the app has contact permissions or not.
I wish there were some kind of "modern tech" technical review panel on board in, say, EU and US regulatory institutions. Not to impose or forbid certain changes, but to curate an evilness score. Publicly.
And then if a monopolistic company consistently enshittifies things, when the time comes to apply a penalty (for some anti-competitive legal reason), the regulators will apply the reputation ("evilness") score as a multiplier (or divider, if you will) on the sum of the fine.
Evilness can't be measured and expressed fully objectively. So citizens should be able to override a reputation score mutation (remember, they're public) through a referendum.
An advantage of this approach would be that it could increase citizen awareness that things don't have to be this shitty. I'm occasionally amazed by how friends and colleagues put up with being pushed around by their OSes, their apps, their phones, sometimes to the point that cognitive dissonance makes them into apostate apologists.
Nope. With contacts permission granted, unknown numbers turn into ~names (per user's own profile) automatically. When you revoke the permission, the ~name is hidden to punish you.
> [...] there's no guarantee that my username reflects who I really am. Feels rightly more suspicious IMO to see a message from an unknown number than from "~Elon Musk".
It's an entirely separate problem, and as old as mail itself (which predates computers by many millenia). Would you know whether to trust elonmusk@twitter.io, without looking it up?
I would hate to dismiss someone for a troll only to realize they are not the real elon musk
If it's being used locally for showing your location on a map, or searching for nearby businesses, sure, give it fake data.
But if you're talking about an app that does internet speed tests and maps the speeds for different cellular providers, or lets users report local weather conditions to improve forecasts, then I have no problem with those apps being able to say "Either give us an accurate location, or give us no location, we don't want your fake location."
The platforms would have to be an adjudicator of which apps get an exemption for users contributing back data that will affect other people rather than just influencing their own browsing experience.
I think Apple has come up with some good middle grounds on this, you don't have to grant an app "precise location," and you can grant photo access via a system provided image picker that only shows the app photos that you've selected.
If you want Google Photos to back up your photo library… it needs full access to everything to do that.
Very very few apps should need full photo access. But photo backups/cloud libraries are the one I can think of that do.
I was actually surprised no one on ATP brought that up.
As an app developer I don’t want users to send me location metadata with their photos, but there’s no easy way to communicate this to non-technical users.
When you open it, it defaults to the "Photos" tab which has a message (not a dialog) asking for all photos access. But if you switch to any other tab (like Search or Library) you've got access to all of your photos in the cloud.
On the one hand you wouldn't realize that if you never tried tapping another tab. But on the other hand, the main "Photos" tab is designed to access all of your local photos and show whether or not they're backed up. Most (although not all) people are probably using Google Photos for this (to save local photos to the cloud), so it at least makes some sense for it to be the main tab with a prominent request.
Here's a screenshot [1] showing how the permissions prompt originally blocked you from navigating to the other tabs, and some additional reports of the issue [2] [3]. What's worse is that very old versions of the app worked fine in view-only mode without these invasive permissions demands, but then Google decided to update the app to be completely useless unless you surrendered all your photos.
I'm surprised Apple allowed the app on their store for over a year, with what appeared to be a clear violation of their policies.
[1] https://imgur.com/a/l2sErQQ
[2] https://support.google.com/photos/thread/1939628/use-ios-goo...
[3] https://old.reddit.com/r/googlephotos/comments/rhoyb1/google...
However they still don’t offer a way to upload specific photos, and if you attempt to share only selected photos in the ios settings app they detect that this isn’t all photos.
Or else? You're suggesting an organizational solution to a technical problem. This can't possibly work. Fake data is the only practical solution to this, such that the app would see the permission as granted when it is not actually granted.
And sure, what's "necessary" for the app is nebulous, but the law has tests for differentiating between two nebulous states. Even a policy that had way too much grey area, like fair use, would still protect users more than "app developers can do whatever they want as long as it's in the privacy policy."
"but sure you have photos on your phone, if your phone tells me there aren't any then it's lying"
Yeah, fake data. I remember there was an Android Xposed(?) mod that did that, was quite funny to see heaps of fake names in contact list
So no, this is not a viable solution in the long run. Besides, Android is a thing. I personally have never used an iPhone as my real phone precisely because of this — I can't install modded apps, I can't install pirated apps, etc etc. It's not okay to have to jailbreak the thing to make it usable.
https://developer.apple.com/app-store/review/guidelines/#dat...
(iv) Access [...] Where possible, provide alternative solutions for users who don’t grant consent. For example, if a user declines to share Location, offer the ability to manually enter an address.
(v) Account Sign-In: If your app doesn’t include significant account-based features, let people use it without a login [...]That lies in gesture of app developer and that will not happen for the apps you'd want to use that feature (or the fake data feature) with.
Would this include… not doing anything? A notice that to use the app that you must grant access?
I hate apps that do that … BUT:
I am thinking of a logistics application that I wrote that requires location access. It effectively serves no purpose without location access.
It’s a small app that we offer to our clients. Not an app for the general public. But it is a situation where I don’t want the app to continue doing anything without location access.
The logistics app could offer some features like phone numbers, support hours, or even account management features without location access, so users can still get access to those things even if they can’t enable location (or are in Airplane Mode, for instance).
And then the core part of the app could have a message explaining why location access is essential. Perhaps with a link to a privacy policy or other document to explain how it will be used and handled safely. I love apps that do that and even have a button I can tap to go straight to the proper settings screen to grant access (or in some cases I can tap and the app will request again, so I can say yes this time).
Nobody wants to call in their location, nor do our clients want to setup some process for that.
If location access is peripheral to the core function of the app, it's a different story. Like your Yelp and one of many functions of your app is to "search nearby" then you can't just have a screen that does nothing until the user consents.
EDIT: Yes, for OP's use case, you'd just appeal to Apple and prove that the app has no other purpose besides the use case that requires location. I've done this in the past successfully.
Which is consistent with what would happen anyways with the above idea of providing fake data when the permission is rejected.
It's been the same since runtime permissions on Android, which was like Marshmallow i believe
https://developer.android.com/training/permissions/requestin...
I would like the equivalent of a "de-google'd android phone" on ios.
Sounds a lot like EU's GDPR: you must show a cookie popup but if the user denies it then you must still serve the content.
(When companies grow large enough, they become suspiciously similar to governmental regulators.)
On Apple they compromised by requiring that apps with a login support "Sign In with Apple." Since you can signup with an anonymous iCloud email, this is almost as effective as not needing to create an account.
Obviously that is not mainstream, I agree it should come built in. But then both Android and iOS allow bullshit like region-locked apps or preventing screenshots from DRM content, so good luck with that.
They are vendor content delivery devices and you are at their mercy.
Maybe GrapheneOS or similar Projects could do this
Flash with magisk, install Universal Safetynet Fix (https://github.com/Displax/safetynet-fix/) and you're passing safetynet / play integrity API.
I haven't come across a single app that doesn't work due to root currently, but I limit my installed apps.
I have kinda lost faith in it. And it doesn't help that it tries to do everything internally, so you can't e.g. download your pre-patch blobs or upload them after it loses track of them, because it does everything exclusively in complicatedly-magically-named internal folders. There is some seriously bonkers decision-making going on in it.
But that worked and was absolutely painless.
Also, as a sibling comment mentioned, I have used magisk + safety net fix in the past, and had no issues with banking apps or Google pay.
Edit: source here https://news.ycombinator.com/item?id=28096873
Privacy Guard also wasn't as complete as XPrivacy (and its evolutions) were. It's a shame that the feature disappeared, but I don't think it mattered much to begin with.
I myself removed that feature because the effort to have it was more of an hassle than anything else.
There is no such thing. The respective app stores allow you to distribute apps in select regions. This is an important feature for app stores because an app may not be a good experience in all countries. The app may not be localized to all languages, there may not be content moderators for those languages, those countries have a multitude of laws that you need to comply with, your app may include copyrighted content which is only licensed to be distributed it certain countries, etc..
>preventing screenshots from DRM content
This is a feature requested app developers due to the legal requirements when licensing content such as movies. Movie studios don't want people streaming or recording their movies so app platforms need a way to surely show this content.
Of course, but if our industry had any chutzpah, we would have simply said "no, that's impossible" and continued to distribute operating systems where the user has ultimate control over the hardware and recordings. If movie studios want people to watch their content, they'll have to accept the risk of piracy. It's not like clipping and recording from your phone is how the pirate rips appear anyway. Even imagining that a movie was released only for one model of super-secure phone, someone somewhere will either break the security or simply stick their phone in a dark box and record it with a camera. Once they've done so, they can share the un-DRMed version online on pirate sites and everyone else can download it.
As long as the analog hole exists, DRM is anti-consumer without reducing the likelihood that copyrighted content will be reshared freely online.
When you are a platform owner it is important that you evaluate the needs of all stakeholders and not just the needs of the users of the platforms. Telling app developers that you are not willing to compromise is not a great way to convince them to create apps for your platform. Also as a platform you want your platform to appear as a safe place for content owners to have their content on. You will have trouble convincing content owners that your platform is safe if it's security is much worse than everyone else's
Your explanation for the anti-screen shot DRM doesn’t hold up very well either. I don’t know of any streaming app that doesn’t also have a website that I can take screenshots (as well as full screen captures) on, so it’s clearly not a content licensing requirement.
Being locked out of Starbucks Thailand app because I don’t want to change my whole iTunes account is ridiculous.
Your browser does not have DRM support which typically means you are not sent the full quality videos. And not all media apps have a website. Not every app that I am talking about are from massive companies that can support making apps and a website.
Except these features are not to the detriment of users. If apps were not region locked at the store either they just won't be in the store or they will implement the region lock themselves. Similarly DRM is seemless for users. The users get the same media watching experience they expect, but the content is securely played to stop people from making illegal copies.
>the device the user supposedly owns obeys someone else
The user may own the device, but they don't own a movie that the device is playing. Your device isn't obeying someone else. DRM is a feature that lets your device handle other people's content in a safe manor.
(From: “Blend me in: Privacy-Preserving Input Generalization for Personalized Online Services” https://drive.google.com/file/d/10OmoqMmHFcb7PsQtaU_GW4aCAJe...)
A significant amount of people don’t even know how to forward an email.
Imagine the havoc that would ensue when people try to use Google Maps for navigation, and they choose to feed it fake data because they don’t understand what it means.
Google Maps: “Turn right”
Guy driving alongside the ocean: “ok”
Car: *splash*
There is always someone who will end up enabling this erroneously, but it would provide a lot of value to a lot of users that didn't.
>Guy driving alongside the ocean: “ok”
>Car: *splash*
This seems like a learning opportunity. Or a Darwinian opportunity. Either way, self-solving.
If anything, they're talking about natural selection which is not eugenics. Eugenics is when you select fitness at birth.
GP would be endorsing genocide, or maybe epigenetics if anything, based on the small out of context comment. I highly doubt either was the intention and wonder how you got to the eugenics conclusion.
If there's an opportunity for learning, it's not being taken
Not for the passengers.
I don't think the GP's scenario is realistic. A user would see that their location on the map is wrong before they even get a chance to begin navigation.
Besides, Google Maps already sometimes tells people to drive through roadblocks and locked gates and such (which it isn't aware of), so it already requires the driver to think for themselves to some extent.
> the OS should not only let you answer yes or no. Every category should have a "yes, but feed the app fake data" option
Well, I think perhaps "Yes", "No", and "Custom". If you select "Custom" then perhaps there could be a warning message displayed in the "Custom" menu if that would help, but it should not block you from customizing it as you want to do.
Apple Maps wouldn’t have this issue. It’s capable of running offline (without a data connection) because it can download maps to the device.
This is a strange point to make considering that google maps had offline maps available forever now, and ios only added it in the recently released ios 17 beta.
Why would that matter? Even if the map data is cached locally, a navigation app obviously needs a GPS location from the phone, which requires it to be granted permissions. And the fake data would be equally disastrous to any navigation app.
Or are you suggesting that if Apple were to add a feature for generating fake data, it'd only apply to 3p apps and not their own? I'll admit that it would be totally on-brand behavior.
apple maps is completely useless here, even though i don’t like using a google app, there’s no alternative
Naturally, in the case of photos, you can use a heuristic, because basically everyone will have at least some pictures. However, in the case of other types of data, say, health data, it is not so clearcut.
This isn’t correct. For instance, accessing location services provides CLAuthorizationStatus:
https://developer.apple.com/documentation/corelocation/claut...
…and push notifications have UNAuthorizationStatus:
https://developer.apple.com/documentation/usernotifications/...
…and health data has HKAuthorizationStatus:
https://developer.apple.com/documentation/healthkit/hkauthor...
…and contacts has CNAuthorizationStatus:
https://developer.apple.com/documentation/contacts/cnauthori...
…and photos has PHAuthorizationStatus:
https://developer.apple.com/documentation/photokit/phauthori...
Photos is a special case because the user has the option of denying access, giving limited access, or giving full access. You can determine if the user has denied access, but you cannot distinguish between limited access and full access.
I believe you can check whether you received limited photos access: https://developer.apple.com/documentation/photokit/phauthori...
Also, an empty folder with photos is almost certainly implying lack of permissions. Very few people never took a picture.
If you want to go even harder you could try to do the same with images. Generate some basic images of typical snapshot scenes with some AI model, and further postprocess the pixel data to try and give it a statistical distribution that looks like a real camera rather than AI. Add some realistic EXIF too. Doing this on demand may be quite expensive, so the phone could pre-fill a cache of fresh images during quiet hours or something
This all sounds very excessive, but I will give Apple credit and say they're one company who I could actually see going to these lengths if they decided they wanted it
https://developer.apple.com/documentation/corelocation/claut...
In any case, the iOS location services don’t work that way. You can’t call them and get a location back due to the way the system works. It simply doesn’t have location data at times and needs to wait for it to become available. You tell the operating system you want to receive location updates and then it delivers zero or more when that information becomes available and when it becomes more accurate or changes. So if iOS needed to withhold information, it wouldn’t have to give an empty object back, it would just not deliver any location updates at all.
This is useful for better user control and for purposes of testing and accessibility purposes.
(My own idea of operating system design, one of the ideas involved (there are many other ideas, but most of them are not relevant here) is the "proxy capabilities", with capability-based security including proxy capabilities; all I/O uses it, and it can also be used in a better way than the UNIX pipes (using the command shell), and in other ways. This also includes even the date/time. No system calls other than Yield and Quit can be used without being given a capability key.
Granting the permission bu feeding an alternative data source is easiest for both parties, the developers and the users.
It, of course, will make some scams easier, too. Prepare for banks to use more complex device-enlisting procedures, for instance.
i.e. if tiktok/ig asks for permissions on camera and microphone, no is an option, because you don't need either to use either. If parts of your app can feasibly be used by a user without certain permissions it is on you to design the app in a way where that is possible. No camera or microphone enabled? Conditionally disable the functionality that would require those.
To make this simpler, the burden is on the asker. If you are not clear or trying to be clever, the answer is no. If that sounds draconian, keep in mind, that the app creator has the option to completely forgo this additional step by creating an app that makes permissions optional.
Focusing on enforcing that would make a petty army race unnecessary, and it's the better call for humans anyway.
Sounds good to me, though I think there should be a second component, which would be app sdks: Make designing with conditional permissions in mind a first class citizen, and create clear guidelines, as to how to do that, and why you really, really should do that.
> I'm not sure they all have the right incentives to expend the effort to enforce that in a consistent and user-friendly way. Otherwise would have already.
Alas, this is probably where legislation would so some convincing (see gdpr)
Here's what I get when I turn it off:
``` Turn off Camera access? All apps will be blocked from using the camera. Apps will still work, but they will only be able to access an empty black screen. For example, you can still make and receive video calls, but the other person won't be able to see you. ```
```Turn off Microphone access? All apps will be blocked from using the microphone Apps will still work, but they won't be able to access any sounds from the microphone. For example, you can still make and receive calls, but the other person won't be able to hear you.```
I would prefer it to be per app and not category. I may not want to feed positional data to pretty much everything but Google Maps and any app that calls for help in case of emergency. Same for contacts, personal data etc. I'd however expect an app like that to meet fierce resistance from Google and other businesses that profit from users profiling.
But if (as in most cases) the goal is to data-mine me, fake data should work nicely to impede that.
Of course it won't matter for things like WhatsApp, where people happily sync their entire list of contacts with Facebook/Meta just to have a slightly nicer messaging experience.
I was very unhappy to have to do this, but it wasn’t a slightly nicer experience. The app and the service are only marginally usable until you do this. (At least on mobile)
When you authorize a third party mini program in WeChat to access your personal information, you can choose to generate a fake profile for the mini program instead of supplying your real information.
Here's an article in Chinese describing the feature:
https://www.woshipm.com/pd/2612572.html
Another article with slightly worth page experience:
https://jingyan.baidu.com/article/c275f6ba22f54ca23d7567c6.h...
> There needs to be a feature on android to give fake gps data on a real device. This would be useful for any app that requires gps for no good reason.
> If your flashlight app needs gps to turn on, no problem. You are currently on mount Kilimanjaro.
If a website asks if I have notifications enabled, tell them yes, and send them all into the oblivion.
Edit: to clarify, I already disable all notifications in Firefox. I was referring to websites that check via JavaScript whether you have notifications turned on and trigger a pop up to ask you to enable them.
Here's also a userscript that removes the service worker API from Chromium browsers:
// ==UserScript==
// @name Remove service worker API
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://*/*
// @grant none
// @run-at document-start
// ==/UserScript==
delete Object.getPrototypeOf(navigator).serviceWorker;
In Firefox, iirc you can disable that API somewhere in about:config.I don't enable notifications and it's fine, I've never had a problem.
If you don't want notifications, why would you still want the website to send them?
So ideally this would stop that from happening.
But sites that do it are hostile and should just be blocked. What other shenanigans are they pulling?
On Safari you can even disable the option for websites to request notification access. It’s on the Websites tab in Settings.
Source code: https://github.com/BillDietrich/fake_contacts
One could implement the same effects using Frida, but I imagined something more like a browser add-on repository, where users could submit modules for specific software/apps, or that would gatekeep device/OS-level functionality, instead of everyone having to create custom rules in a lower-level general-purpose toolkit like Frida.
There are lots of possibilities in this area for taking back some control of what's happening on one's devices by feeding procedurally-/ML-generated data when software tries to query sensors, GPS, camera/mic, etc. It would also often be useful for software testing, to make certain test cases more practical and reproducible by looping through recorded data.
Compare it with the "unsubscribe" button in spam newsletters that does nothing. Sure, fuck you, I will just block the unique email address you are using and you won't be able to contact me at all.
If everyone was playing nicely, we would not need it.
If apps refuse to work unless you provide detailed location info or other permissions, there's no "provide fake data" option like the post suggests.
The permissions are checked at runtime and each time the permission is needed. (For example, if a build script tries to phone home twice, the build system will run the permission checker twice.)
In addition, the permission checker will have the option of delivering fake data and making the requester think they got permission when they didn't.
This is why I added that, even though it is much more complexity.
For now, all laws are location based because sovereignty is defined by geographical boundaries for historical reasons.
If you use "feed fake data" to avert those laws, I think that is ok. As an example, I am the criminal if I lie to an app to say I am in Pennsylvania to bet on sports. I don't think my phone manufacturer should conspire with law enforcement to prevent me from being able to lie to commit that crime.
As opposed to sharing your actual latitude,longitude and microphone readings?
It doesn't have to be random to be a problem.
In general any sort of intervention that moves you away from Joe average is bad news for fingerprinting.
More sophistication in this context often makes things worse not better. e.g. In this context volunteering info on every request (fake or random doesn't matter) certainly makes you unique, because the average user doesn't do that
The draconian rhetoric you are using is the same logic someone uses to advocate for no symmetric encryption because it can be implemented incorrectly.
Reiterating your basic fact about fingerprinting doesn't change this, or negate the rest of my statements you ignore because you think nuance and user requirements can be reduced to a binary.
This could be achieved with something like Xposed, a cool project is https://github.com/M66B/XPrivacyLua.
I actually made a "clone" with the option to generate data per permission as a school project, good times
The core issue of permissions systems in my mind is the user. All of the pop-up permissions boxes on phones are really nice, it's helpful that Android now removes permissions from apps if they're unused.
But that doesn't stop the average user from just hitting "yes" to permissions without reading them because they just want to use the app they just installed. It's exactly the same problem as nobody reading Ts&Cs etc. Our species has an apathy for this stuff.
We should really just be sandboxing the shit out of everything. On Android (as an example) if I install a file manager app, I can only give it access to _everything_. But also as a user, even if I could give it granular access, it's easier to just give it access to everything because it's...easier.
The location pop-up is nice, I usually hit "only while using the app" but I'm sure plenty of other people give their apps access to fine location data at all times. Is this a platform problem? Maybe Apple is right in being so strict about usage of data, even though privacy is just marketing/a selling point to them (I laugh if people think the world's richest company _genuinely_ cares about privacy on a human rather than financial level).
... which is fine. Incentives to refine data analysis are always welcome.
Also fake data being more chaotic would be good because it would ultimately cause them to over filter and throw out real chaotic data, effectively over fitting their marketing efforts to slightly more average people.
Additionally, a good arms race would be fun here. Keep making the data more and more realistic each generation. Add an option to use plugin datasets so wallstreetbets can crowdsource fucking with investment banks (ie why is everyone suddenly spending all their time at targets?)
If we poison the data maybe Microsoft will realize providing a true "all telemetry off" option would be easier (and cheaper for their bandwidth and storage budgets).
My perspective: Either cheap-monolithic-SOCs get really cheap, (for low end devices), with long-term-support, and low power, or compartmentalised architectures start to gain the traction that will kill of SOCs.
I found that people just generally lacked imagination for the most part and screenshots coupled with quick videos and/or demos did enough to incentivize them onto installing/evaluating using their environment.
I could see this leading to more data quality issues, legal liabilities, and difficult bugs. We should be able to deny access or provide coarser information (e.g., an age range rather than an age or a county/state rather than fine-grained GPS), and applications should be designed to handle those gracefully.
For example I don't care about where I am and neither should you for legal issues or features. This results is situations like me going no holiday and the bank app failing to work/install because they don't have presence in X country. Wanna know if the usage complies with regulations or I want a feature? Ask me, don't guess.
Wanna know how to access my HomeAssistant? Ask me, because there's a ZeroTier network making HA available directly wherever I am.
For fraud prevention it's not necessary to know more of my tracking info. It just makes it easier for the company at the cost of privacy issues for me.
I get the developer's view here, it's harder when someone feeds you wrong data. Tough, we're supposed to deal with that as devs and maybe just ask the question directly rather than guessing through other means. You should be doing that already, because GPS is not always reliable, contacts change, people have complex lives in terms of which laws apply to them.
I understand there are some legit use cases for validated info. Unfortunately, targeted advertising and other types of profiling are also common use cases for the same info. It's a lot like MAC randomization on public wifi - it sucks, it breaks legit use cases, but it was needed because too many companies were using it to track people.
If I prioritize privacy over that better user experience, though, that should absolutely be something I'm allowed to do.
I might not want to give a stranger at a bar my real phone number, so I give them a fake one. Maybe this leads to a worse experience than if I just said "no thanks", but I really value the fact that I'm allowed to do that.
If auto respond to even 0.01% of scam email, they suddenly need to have tools to weave through ridiculous amounts of data. Expensive. Scam becomes negative ROI
Either advocate for tearing the status quo out by its roots, hopefully with some inclination of what to put in its place lest something worse grow instead. Or demand transparent control w/ easily revocable consent ( or something along those lines.) Maximizing chaos and distrust and belligerent behavior beyond the already intolerable levels isn’t going to get a net improvement in things anytime soon.
Example: We use information about the devices that access our web site (screen resolution, browser versions) to figure out how best spend our limited resources. This data is important to us.
Perhaps it’s the ad companies that need to be fed fake data not the app / site.
Not only would they collect my 'sexual orientation' (how I wonder?) but they also would 'share it with 3rd parties'.
https://play.google.com/store/apps/details?id=be.bpost.mybpo...
The only solution (for a non development/testing uses) is for applications to accept no as an answer.
Agreed; feeding fake data is not a substitute for writing good applications. However, that does not mean that feeding fake data is worthless. There are many uses (including, but not limited to, programmers/companies that have failed to write good applications; like you say, testing is also a use of such a thing).
I think before android implemented their permission system, os like Xiaomi’d implemented their permissions by feeding fake data to the app in case user reject a permission.
So if one was looking to preserve privacy and reduce one's own track-ability, sending ambient sounds and 5x5 island location might work against that.
We should base our state of the art on best use of the finite resources we have.
Apps could just accept that and break. Food delivery app could show suggestions from the fake island, social media app could let your friends know you’re 6383km away, calculator app might switch to local currency conversion, etc.
Google will NEVER harm itself by supporting fake data feeds. The only reason G exists at all is because they can exploit the data they harvest from you. If you're given the power to poison that data Google implodes and the whole Android platform becomes extremely unattractive to other massive companies that live off of leeching your private data one way or another.
Yes, an OS built first & foremost for its users/customers would have LOTS of options like that. A mobile web browser built the same would support plugins from day 1. Etc. Etc.
But Android, Chrome, Windows 10+, iOS are ABSOLUTELY not built for their users. They're built as vehicles that enable other services from a slew of big names and it's essential for these platforms to ensure users are NOT given the power to fight against those services.
Maybe it needs a rough location like within 100km of my real location. Android could feed it a fake location and say its exact.
shit in the ocean of piss? that’s the plan?
Take the case of contacts. If I were to use a random ID generate to create contacts and feed those to an app, then with sufficient independent sources of data the app could choose to reject any contact which appears only once. If you happen to be the One And Only True Friend of an Orphan Hermit, then yes, that rule would exclude that data, but if you happen to be personal BFFs with Beyoncé Giselle Knowles-Carter, the system could not only independently validate that such a person exists, but even that your own reported contact information is, say, directly personal rather than a mass-media point-of-contact.
The other problem is that even with generated data, so long as that is intermixed with authentic data, it's often possible to tease out signal from noise. A case here might be with browser history. There are Web browsers which generate spurious traffic. This is "real" in the senses both that it refers to actual online Web resources, and represents traffic generated by your browser, but is generated in the sense that it does not represent volitional activity on your part. However, so long as both activities are present, your actual browsing patterns exist (so that if a concern is that you did in fact visit <https://example.com/xyz>, it would be possible to determine that some entity (genuine or simulated) did so, and that if the URL were simply randomly generated or visited, odds are reasonably low that that URL would appear within a browser history.
Similarly, in a combination of actual and faked contacts, if the question is "did the subject include Known Individual in their contacts", that fact can still be determined, and if statistically improbable, particularly amongst a group of individuals all including Known Individual in their contacts, the general inference of an actual relationship is strong.
The case of being able to entirely separate actual and generated information changes this dynamic ... slightly, but not overhwhelmingly.
My own upshots:
- Data chaffing and fuzzing are hard.
- The signal one wishes to obscure often leaks.
- Entirely-fabricated data is usually reasonably evident, especially in aggregate.
- Whilst some degree of chaffing has some value (signalling, protest, cost-increasing), the most effective course of action is likely effective privacy legislation and regulation.
I really wish there were more effective individual actions. I increasingly feel that there aren't, other than opting out entirely. (Something I increasingly practice myself, FWIW.)
Dunno if it's still maintained though
Apps want to be able to give users a good user experience and if they are given fake data users will get angry that the developer's app is broken and leave 1 star reviews. Denying permissions and letting apps know something is denied is much better because they can adapt their app's experience to work around it.
But if you require gps to make a post, the user does not benefit from it. Unless they have an incentive to share their location, they do not need to give real data. Maybe the dev should give an explanation. If they receive a one star review, the developers should use it as feedback.
This behaviour would get an app rejected from the app stores. The app stores require you justify doing things like that and they require you to gracefully degrade if a user denies a permission.
Denying permissions remains an option, but some digital trash will refuse to work unless you give them your address book and location history. Those apps deserve to be fed fake data.
Clicking the "feed fake data" button is an explicit alternative to denying permissions, it's not a replacement.
Yes, it should be a separate option. However, instead of "feed fake data", perhaps the options should be "Allow", "Deny", and "Custom"; if you select "Custom" (which you can do also when installed or in the settings menu, even when the app is not running) then the user can program their own handler of the data requests, and can also choose from a list of such programs which have already been programmed before.
No, they don't. Please go and actually talk to app developers for their motivations. Look at the mission statements of the companies making the apps.
>Those apps deserve to be fed fake data.
Or you can just not use the app if the experience it offers is not something you want.
>Clicking the "feed fake data" button is an explicit alternative to denying permissions, it's not a replacement.
It's a worse alternative because apps can not properly handle this case unless they detect the data being fed in is fake.
I don't like it
("Weather the Trip" road trip weather app for the U.S.)
Heck, even the internet access (android.permission.INTERNET) should be a runtime permission. A fakeable one, too.
For devices which don't have GrapheneOS installed but can be rooted, a firewall like AFWall+ is an option. It's not entirely as secure as just not granting the permission in the first place (I know of at least one way to bypass AFWall+, if an app is prepared for it), but it's still a good option.
That would be something for sure
These days I'm more of a "one star review and uninstall" kind of user but I've had good experiences with XPrivacy.
Sadly, XPrivacyLua has been discontinued. I don't know any alternative for modern Android releases.
Be on the lookout for my app, "Weather Trip Report" app in a few weeks.
I think I'll win more share of the U.S. market wink nudge nudge
It seems that Google did not like it so in Android 4.0 it is working any more and nobody ported this feature to 4.0.
Just don't grant it permissions if you don't want to. And if it refuses to function without (for no good reason), then don't use the app because it's scammy.
Is there some other situation I'm missing here? Like is there some legitimate app people need to install that won't work if you don't grant it unneeded permissions?
Though like any technical solution trying to fix a culture problem, the fake data generation won't be all roses either. Users will inadvertently enable it and then the app won't work properly and they won't know how to fix it; Think a calendar app where you enabled the fake calendar access by mistake, so you see random crap instead of your expected schedule. Where do you go to fix it? The app doesn't know you're feeding it lies, that's the whole point, so it can't help. So in Android fashion you have to dig twelve levels deep in convoluted menus to revert that. Assuming you even know where to look or what the problem is.
If you want to ruin Facebook, push for legislation. Do it the right way.