Web browser is a sandbox by default. Worst a sketchy site does is eat a tab, less if you run an adblocker. Native app? Background processes, hardware ID shenanigans, your contacts, location. The whole buffet.
> your contacts, location. The whole buffet.
It's not like an app is getting those without your knowledge, and many times it's useful for an app to have your contacts or location...
bias disclosure: i used to do Android dev and kinda hate the browser personally.
i don’t get this take. “Web browser is sandbox by default”. sure, it has to do the rail grind with a rake to access system calls, but in a modern system apps are also sandboxed, especially on a smartphone or when downloaded with a managed app service. the OS gives you the ability to specify permissions, although to what degree depends on your provider. your browser _obviously_ also has the permissions you’re talking about. and now we have introduced yet more vectors in the form of cookies where web _applications_ can track activity _between applications_ with that just kinda being part of the spec, and it totally neuters the protections that the OS gives you because once you configure Firefox to get your location for Open Maps, now you’ve totally given control to your location permissions for _all web apps_ to yet another corporate driven point of failure.
don’t even get me started on the UI mess.
my tinfoil hat theory is that the browser is pushed by mostly bad actors trying to get data, while anyone providing a real user experience has a nice native app.
press F for my reputation.
Location can also be extracted by JS on a website with these geo functions, IIRC?
Apps have to request your permission for contacts and location. iOS is really good about not giving bad permissions to apps without user being asked for consent.
Using flatpaks or mobile apps, you can view the sandbox permissions and adjust them if you have to.
I think it's more than that. It's a walled garden. If you want to leave go somewhere else, it's further away than just a tab. That increases stickiness.
For example, let's say I'm an airline. I don't want you in the browser, where you're going to have my competitors in the adjacent tabs. I want you in my app, where all you see is my version of the world. (I mean, yes, you can have multiple apps open, too, and switch between them. It's still a bit more friction than moving between tabs. Or maybe that's just my mental model, and young people see apps as just another kind of tab?)
Web browsers all support those facilities, with less obvious transparency and control than iOS and Android apps
> Web browser is a sandbox by default.
So I take this is a security concern. How do you feel about the fact that when you open a webapp in your browser, you re-download that app code every time? That the server can send you a backdoor every single time, made just for you, and nobody else will ever know? And that you can't check the "hash" of the webapp, like you can with an app?
On the other hand, an app is sandboxed, too (on mobile OSes like Android and iOS). When you download it, you can check a hash that you can (if you want to) compare with a friend to see if they got the same app. With an app, there is intermediary (the "app store") that would need to collude with the developers to send a backdoor just for you, and even then you would still have the app binary as proof.
That's always a question I have with "secure" web services: if you use ProtonMail, you trust that Proton doesn't send you a web page that leaks your key. But if you trust Proton for that, what's the point of the end-to-end encryption? When you use the Signal app, the whole idea is that you don't have to trust Signal for the end-to-end encryption, at all.