Comment by edent

5 days ago

In my experience with UK banks & financial institutions, GrapheneOS support can be roughly divided into four types.

None. Explicitly banned. And, though I feel bad for saying it, I can't blame them. If some idiot roots their phone and downloads malware, the bank may be responsible for refunding them. I can see why they don't want that headache.

Some. App works, but some functionality is unavailable. I've got a credit card app which works, but refuses to set up virtual cards or use "remember me". That's good enough for my use. Similarly, I had a merchant account which let me see my balance, but I couldn't use my phone as a credit card reader.

Works, but only in main profile. I'd rather keep financial things in a locked profile. But lots of banks disallow that.

Full. Everything works (although you may need to toggle some exploit protection off).

Some banks are reasonably good at letting you pass on technical queries to their developers - mostly the smaller ones. The nice thing about the UK banking sector is that it is trivial to move banks. So I switched accounts to providers which worked with my phone and let the old ones know why I was moving.

Without evidence that using an OS that isn't approved by Google or Apple actually correlates with a higher rate of account compromise or fraud, I do blame them for trying to force it on users.

I've done a couple casual web searches for such evidence and come up short. If somebody has good data on this, I don't think they're publishing it.

  • I'm pretty sure it's actually anti correlated: not because degoogled Androids are safer by themselves, but because the average user is way savier than the average Joe (which have an out of date Android full of unpatched security vulnerabilities, in the first place).

    • My theory is that they're trying to counter simulated phones. In the old days fraudsters would use their stolen credentials on a windows RDP rented from someone who sells fraud infra with clean IPs. I wouldn't be surprised if fraudsters have tried to develop an android based VM meant to look like a legitimate customer endpoint.

      Though the most effective way to cut out that kind of fraud is to stop using SMS for authentication, which banks don't seem to be interested in doing.

      2 replies →

    • That's my first instinct too. I've seen a claim that devices with root, which is distinct from degoogled, both of which are distinct from using a third-party Android distribution, have an increased probability of malware. I suspect that statistic includes things like secondary devices people use for cheating in pay-to-win games and the like.

    • It would be interesting to see statistics comparing who 1. Byod (just gets a SIM card from the carrier) 2. Keeps updating their phone to whatever the carrier offers via billing credits 3. Just keeps using the same phone they got from the carrier when they started

  • Their main concern is malware not capable of exploiting OS vulnerabilities. They focus on protecting against malicious clones or modifications of their apps along with enforcing having a mandatory app sandbox and not running non-approved accessibility services, non-approved keyboards, etc.

    Most of the banks don't require not being months or years behind on bare minimum Android security patches let alone requiring anything close to proper security patches. That may rapidly change in the near future due to AI accelerated exploit development making exploits far more accessible and broadly deployed.

    Nearly all these apps aren't banning GrapheneOS on purpose but rather because they're doing the least possible work to implement weak anti-tampering measures. Play Integrity device or strong integrity levels are an easy way to do it. They can use strong integrity if they're willing to forbid extraordinarily insecure devices failing to meet a very low bar for security. Most banks aren't willing to do that since it would mean blocking the majority of Android devices so they use device integrity which barely does anything more than enforcing licensing Google Mobile Services to reinforce Google's monopolies. Even the strong integrity level doesn't enforce much more than that, it's mostly just much harder to bypass at scale.

  • Since that’s “likely” correlated (and a “likely” is often enough), a product manager will take the most optimal decision for themselves and the company - reject such use cases as unsupported. This is easier than to manage such an edge case for “a few” legitimate users.

    Few orgs understand compliance. While there might be some compliance people at the org level, individual teams implementing features will need to have a good line to them. In the end, knowledge is siloed and everyone needs to deliver on time. So it’s easier to forbid with some controlled collateral damage than to permit with an uncontrolled downside variance. Just a derisking hedge.

    Serving use cases that drift away a bit “too far away” from the average (+ some sigmas) use case is not economically justified for a product manager - their KPIs would deteriorate from such “altruism”. No one will care if a few low-margin customers can’t use the product.

    • Not using remote attestation requires exactly zero effort, but some jerk put it on a checklist and now middle managers want it.

> And, though I feel bad for saying it, I can't blame them. If some idiot roots their phone and downloads malware, the bank may be responsible for refunding them. I can see why they don't want that headache.

This argument has never held any water for a simple reason:

Consider 2 phones.

1. Runs self-built lineageos (latest version), with magisk installed.

2. Runs official stock ROM, no mods, all apps from Play Store. Also, hasn't gotten any updates in 6-9 months and is running a 4.4.x kernel that isn't even the latest version on its branch.

If your app blocks phone 1 and allows phone 2, then you're doing security theater in a way that actively undermines actual security. The ability for a user to flash an OS or allow apps root access doesn't make a device insecure, but the ability for any app to grant itself root because the vendor can't be bothered to patch the OS certainly does.

> ”If some idiot roots their phone and downloads malware, the bank may be responsible for refunding them.”

This obviously depends on jurisdiction, but how commonly is this actually the case?

I’ve thankfully never personally been on the receiving end of fraud or identity theft, but my impression is that here, everything that happens up until the point you tell your bank ”hey, uh, I think my account’s been compromised” is pretty much on you. I don’t think rooting your phone, installing a banking app from some umauthorized source et.c would be hard to construe as negligence.

  • In the UK, the bank is liable for any transactions on your account that you didn't approve. Doesn't matter that they thought you approved it because someone knew your pin, or compromised your device.

    Unless the bank has reason to believe that you're either trying to defraud the bank, or where unduly careless with your banking credentials (and you have to be really careless to meet that bar in the eyes of the regulator and the courts), then they're expected to refund you.

    I've seen banks refund £100ks to customers that were defrauded over many months via romance scams. There are cases ruling by the Financial Ombudsman forcing banks to refund customers to handed over their cards and PINs to carers that then stole money.

    The general attitude of the law in the UK, the regulators, and the courts, is basically it's the banks responsibility to provide appropriate security, in a form that their customers can easily use and understand. If banks want to make it easy for customers to move and spend money, then the risks associated with that convenience accrue with the bank, not their customers.

    Obviously banks work very hard to worm their way out of their responsibilities here. But if you use the consumer protection tools that exist in the UK, which are very easy to access, and which your bank is required to inform you of, then it's surprisingly easy to force a bank to refund you for any fraud you suffer.

    • > In the UK, the bank is liable for any transactions on your account that you didn't approve.

      The question isn't whether they have to refund the money when the customer gets defrauded. The question is whether preventing the customer from using a less popular OS in any way prevents them from being defrauded.

      To which the answer is somewhere between "negligible difference" and "it's actually anti-correlated with that because the custom ROM is more up to date".

      Notice that requiring the attacker to use a phone doesn't do any good, because the attacker can just use a phone.

  • I don't know anything about the actual legal responsibilities, but even there aren't any, a defrauded customer takes up support resources just having the conversation about it. Upset customers (regardless of how well placed that upset is) will complain about it in reviews etc.

    A lot of people aren't able to distinguish "I got scammed" from "the bank took my money away".

> None. Explicitly banned. ... I can't blame them. If some idiot roots their phone and downloads malware, the bank may be responsible for refunding them. I can see why they don't want that headache.

I mean this is the whole reason GrapheneOS does not ship a rooted version that they attest to. I doubt they are explicitly banning GrapheneOS, what they are doing is only trusting Google attestation.

The reason some banks explicitly allow GrapheneOS is because its easy for them to also trust GrapheneOS attestation, because it is not a rooted OS, and sensible security teams in banks can see that its more secure than any other Android phone including Pixels.

I wish people would understand this better, its what gives GrapheneOS a fighting chance of becoming a legitimate open source mobile OS that is accepted as secure for consumer use and that is not controlled by Apple or Google.

  • Providing root access to a huge portion of the OS with a way for apps to obtain it goes against the privacy and security focus. It's never a reasonable way to implement the features provided by those kinds of apps. It's an insecure shortcut being taken to implement features poorly and insecurely without proper integration. Providing root access to end users is a much different thing than giving it to a huge portion of the OS with a way for apps to request it.

    We wouldn't mind providing a 2nd set of releases with user root access but those would have separate signing keys for privacy and security reasons. It would not be accessible to large portions of the OS to apps. We don't do it because it would double the number of builds and would be a massive amount of additional work for managing and testing it. It would take immense resources to create a variant of the OS which we'd recommend against almost anyone using mainly to provide a novelty. We have much better uses for our resources. Resources are always limited and doubling the number of OS releases for a 2nd time would have a huge cost.

  • That's not the whole reason, or even the main reason GrapheneOS doesn't support or encourage root access.

    The central design theme of GrapheneOS is to have stronger sandboxes and more limits on what apps can access than stock Android does. Granting an app root access does exactly the opposite; someone behaving rationally and consistently usually won't want to do both on the same device.

FWIW, GrapheneOS can't be rooted. It's far more safe for the bank than any other version of Android.

  • GrapheneOS doesn't have app accessible root and has it limited to a tiny set of processes where it's still largely contained via SELinux. Debug builds of GrapheneOS have root for Android Debug Bridge (ADB) and it doesn't limit how people can modify it. We don't recommend using a debug build on a production device and people should at least set ro.adb.secure=1 if they do.

    GrapheneOS is an open source project and people can make their own builds with arbitrary modifications. We recommend not adding a third party system giving root access to a large portion of the OS and making it possible to grant to apps with a dialog since it greatly reduces security if it isn't used. People can do what they want regardless of our recommendations.

    Modifying GrapheneOS in any way creates a new OS which is no longer GrapheneOS itself. Forks of GrapheneOS must come up with their own name and branding if they're going to distribute their modifications. We don't want software which isn't GrapheneOS being confused with it.

  • It absolutely can be rooted by building it from source. And having this ability is what makes the project open.

    • Then it's not GrapheneOS and your bank won't recognise it as GrapheneOS, it will recognise it as some emulator pretending to be GOS and will refuse to let you log in.

>If some idiot roots their phone and downloads malware, the bank may be responsible for refunding them.

I keep reading this justification, and it doesn't make an ounce of sense to me.

first of all, the number of people who want to root their phones is a fraction of 1%. children, teenage girls, and senile boomers don't do that. the number of people with rooted phones who could fall for "hello sir, I am sir John Whiteman from Microsoft, you're phone have virus, sir, please do the needful install this a pee kaa, sir" is near zero.

second of all, phones get stolen all the time, and it would make sense to reduce liability by not providing apps at all.

it's security theater.

  • > people who want to root their phones is a fraction of 1%. children, teenage girls…

    If someone lies to them and tells them there is an app that lets them get free Roblox bucks or whatever, but first they have to root their phone, they will. If someone lies or makes an app that removes pimples or adds makeup in realtime, or something, but they make it only work on rooted phones, they will.

  • I did a rough estimate of all the people I know and the number of those people who would want to root their phone. It’s not a big number but it’s way bigger than “a fraction of 1%”.

    And it’s a completely different demographic than those would would fall for the phone call scam, but it’s incredibly disingenuous of you to suggest that the only malware distribution vector is being tricked into installing an APK.

    I know people who are interested in modding games, pirating software, and installing “cool” apps just for the novelty. I would argue the most likely reason those people installed malware is voluntarily, because they searched out a hacked version of Bloons Tower Defence. Not because they “needed to pay an outstanding Windows service bill”.

> The nice thing about the UK banking sector is that it is trivial to move banks.

Are there countries where this is a hassle? Now I've only had personal banking accounts in ~3 countries (so far?), so maybe I'm in a bubble, but in none of the countries has "switching banks" been more than basically create a new account, start using new IBAN for incoming transfers, move direct debits to use new IBAN and start using new card(s). Those last two were even automatic in the last move I did for a lot of stuff. Is it typically more difficult than that in other countries?

  • There are countries where, as a result of mergers, banking is now down to 3-4 banks, and they all have the same Android requirements, so switching won't get one anywhere.

    • If those countries are in the EU, you have the right to use a bank based in another EU country. The traditional incumbents will likely demand an in-country residential address (in direct contradiction of EU law). Which leaves the internet-only neobanks. I believe the only FOSS-compatible option is Wise, which has a modern web offering and does not even require that you install a native app. I understand N26 does, but it may work with Graphene. By contrast Revolut is a privacy-invading walled garden and should be avoided at all costs.

      3 replies →

    • They might even subcontract the same while label app company for their banking app, meaning that you get the same app every time with different logos.

  • Having to change IBAN is a hassle, and shouldn't have been necessary. In fact, I think some countries (Germany?) actually got that right, and allow you to take your IBAN with you when switching banks. Like keeping your phone number when switching telco.

    • Why is that so much of a hassle? In the US switching banks is just updating some numbers and reconnecting. The entire process can just be done online. In the US the only annoying part can be older companies that still do the account verification via a deposit and withdrawal, so it takes one whole day instead.

      Also I don't think I would actually want it done automatically. Some banks have better saving rates, some banks offer higher interest on checking, some banks are much better for taking cash out internationally, some banks have more ATMs/branches around where I live, etc. I have a few different banks I move money around in.

      1 reply →

    • Yeah, the Dutch banks really fucked us over by putting the bank code in the IBAN, so IBANs can't be moved to another bank.

  • Having the debits move to the new IBAN automatically had to be mandated and built. It doesn't just happen. In markets with large incumbent banks they have no incentive whatsoever to make switching easy.

I have two to add: Works, but only every other app version. Second: works if the aosp keyboard or gboard are active but not with LeanType. Easy fix once you know, but that was not a fun time debugging.

> Works, but only in main profile.

Would anyone know why? My understanding of profiles is arguably very limited, but I always saw those as equivalent to device owner profile from app runtime standpoint.

  • I’m not very familiar with android because I don’t daily it, but I have an old Pixel 4 with GOS that I was using to evaluate GOS. I know for example that some MDMs don’t work on a secondary “Work” profile in GOS, despite it being one of the main use cases for secondary profiles. If I recall correctly, it was because of how some MDMs can be configured by the organization’s admin they require some handshake with the Owner profile that doesn’t work in GOS. you would have to install them on the owner profile defeating the point I think,

    • Certain MDM apps support using the Play Integrity API to ban using non-Google-certified devices. Some MDM apps simply don't know how to successfully create a functional work profile without Google Play being automatically installed in it which can be worked around and we can provide an easier way to deal with it. Work devices should really be separate devices provided by the company instead of them managing a work profile on your personal device though.

      It's worth noting AOSP and GrapheneOS have both drastically changed since Android 13 on the Pixel 4. GrapheneOS is based on Android 17 since June 2026 and soon Android 17 QPR2 in December 2026.

      2 replies →

A Trezor Safe 5 costs roughly $130.

If the banks were really so concerned about malware on the user's endpoint, and they had competent CTO, then they would write an app for Trezor or offer a Trezor with their own logo and app on it and users could sign transactions with it.

Trezors show on a screen to the user "this is the amount and where to be sent that you are signing for".

Malware with high privileges on a compromised user endpoint can bamboozle the user but a hardware wallet would catch that.

  • You are suggesting an entirely second piece of hardware when there are people in this thread claiming (IMO correctly) that many customers prefer an app over the browser because it's very mildly more convenient.

    And there is a very large swath of banking customers who I wouldn't be surprised to learn that banks will earn less than $130 from over the course of a decade.

    • Correct, an enTiReLy second piece of hardware. That's the whole point of a hardware wallet.

      The use can be optional, I don't think anyone would suggest (or even presume?) otherwise.

      Accounts with balance under $30,000 need not apply.

      Many of the "good customers" (from a bank's perspective) already have a Trezor.

      Big banks already require customers pay the $50 for an RSA fob anyway. No bank is providing these devices as a courtesy.

      Many GrapheneOS users would rather pay out of their own pocket for a Trezor Safe 5 than have "you need to carry an additional phone too, a shit-phone" forced on them when GrapheneOS is perfectly adequate to run any app and with more meaningful security assurances than any other Android distro.

      3 replies →

  • I don't know where you live or with whom you bank, but there were plenty of hardware tokens for banking for almost two decades until phone apps took over. They are not likely to return. Managing many hardware tokens is a big undertaking and people regularly forget them or destroy them. Phones are so much easier and people generally don't want to carry extra devices. They don't even want to carry comparably tiny credit cards given the choice.

    • No no, we don't want tokens. We don't want that at all.

      In the United States, users of Chase are already using FIDO2 to access their Chase accounts with hardware keys often priced at $15 or $20 made by a diverse set of 3rd party vendors such as Yubico, which has the same cryptography-grounded effects I suggested above. One hardware key can store private keys for several remote sites, this is a basic part of FIDO2.

      Before Chase did this, I directly kvetched at Chase on LinkedIn pointing out that many smaller banks had already been securing access to accounts with FIDO2.

      Trezor and Yubikey 5C devices happen to also do FIDO2, but the ultimate answer that provides end-to-end cryptography, meaning the cryptographic pieces reach all the way to the record matching the actual contents of the transaction stored at the bank, uses a different format. The legacy tokens never provided end-to-end cryptography, and from a security perspective are as crummy and vulnerable to MITM as OTP/TOTP.

      As far as holding onto hardware keys, users don't lose hardware keys/wallets when those are attached to a keychain and the users are instructed to attach to add it to their general car/house keys. Attached to general car/house keys/fobs, hardware keys survive user-chaos at a much better rate than smartphones do. Other security-focused IT pros/execs have reported the same.

      The key difference between those hardware tokens and hardware keys/wallets that do OpenPGP, or PIV, or the underlying cryptograpy functionality of "Bitcoin wallet", is they

        1.] generate a cryptographic signature for the actual content ie "this much $xx.xx to meloney@example2.com" that the bank can keep and present later as reliable proof if appropriate
      

      and

        2.] display on the screen the contents for #1, so a compromised user endpoint (smartphone or laptop) displaying false info is less likely to successfully bamboozle a user.

Question: In the UK, thanks open banking, couldn't you use a compatible bank like monzo and load all the other bank accounts via open banking into that single app?

  • Yes. Banks like Monzo allow you to import your other bank accounts into their app. I did it for a while, but ultimately I found it easier to just have separate apps for each. Most apps are very good and improving all the time, so usually one isn’t much better than the other.

    I haven’t looked for a one-app-to-rule-them-all, but in principle it’s possible.

    I think the UK banking sector is in rude health. It’s very competitive and it’s easy to move. The quality of the apps is very much part of any competitive advantage.

    I have accounts with four uk banks and it’s trivial to manage them. It’s an example of legislation working really well.

> though I feel bad for saying it, I can't blame them. If some idiot roots their phone and downloads malware, the bank may be responsible for refunding them. I can see why they don't want that headache.

Most of us understand the desire to protect customers from fraud, but I don't think we should accept blanket restrictions on everyone's freedom simply because some people might make poor security decisions.

There's also the unspoken/uncomfortable economic reality here: the optimal level of fraud isn't zero. At some point, the cost of preventing additional fraud, including the loss of individual choice and autonomy, exceeds the benefit.

Could we aim for proportionate, evidence-based security rather than treating the least capable user as the benchmark for everyone?

  • Someone flagged this comment to death (I vouched and restored it), and mine attracted some downvotes.

    I'm surprised to see that in this thread. That's usually reserved for politics and arguments about AI.

    • Could be general polarisation, or just that it's a "but in my case it is different" visceral response.

      While people might not be moved by data, it would be interesting if some more public information on what people actually use was available. Imagine data points like unpatched/unpatchable iOS or Android devices being multiple percentages, or outdated browsers. Similarly, the effort per app/OS combination; if it costs X to support Y configuration, then it would be somewhat easier to see if it's more about the will to do anything rather than real-world problems.

  • > blanket restrictions on everyone's freedom

    The scope is much smaller than that: restriction on what banking conveniences are provided.

    > Most of us understand the desire to protect customers from fraud > At some point, the cost of preventing additional fraud, including the loss of individual choice and autonomy, exceeds the benefit > Could we aim for proportionate

    I think you have answered your own question here; if a less than single percentage of retail customers use something that's not a general iOS or Android device, anything beyond that is not really worth it until regulation says otherwise.

    • > > blanket restrictions on everyone's freedom

      > The scope is much smaller than that: restriction on what banking conveniences are provided.

      The freedom to install whatever OS you like on your own phone?

      > if a less than single percentage of __________ anything beyond that is not really worth it

      My goodness one could fill in that blank in so many different ways, and all of the ones I can immediately think of would drag this thread straight into any number of dire arguments, so I'd better not.

      1 reply →