Secure app spawning is a per-app toggle now so it doesn't reduce OS security or the security of other apps without it disabled. It only reduces security of the app with it set to disabled. If multiple apps have it disabled, they share the same ASLR bases, memory tags for memory allocated before fork and other things.
It's one of the toggles changed by the per-app exploit protection compatibility mode. If an app doesn't work, that's the first thing to try. It can then be narrowed down to a specific setting.
The more aggressive exploit protections uncovering a lot of compatibility issues are only enabled for the base OS and specific user installed apps by default. Those can be set to enabled by default for all user installed apps and then people have to deal with the per-app toggles a lot more. This applies to memory tagging, disallowing dynamic code loading via memory/storage and disallowing native debugging (ptrace).
It's because PayPal shipped an update with incorrect anti-tampering code incompatible with secure app spawning. It can be worked around with the per-app secure app spawning toggle until they fix it.
No, they added incorrect anti-tampering code. It's wrongly detecting secure app spawning giving each app their own address space, memory tags, etc. via exec as tampering.
wait for it... I can see a future were every wallet, payment etc. app will block devices which are on custom ROMs and do not pass strong hardware integrity with blessing from Google.
I've read once that there are paid app testing labs which test if an app has root and custom ROM detection and when they don't have that it's a minus point on the report.
You need to use your bank's app for Wero, and many EU banks' apps refuse to run on GrapheneOS for the same reasons as PayPal. This is sadly not a clear win for Wero.
Wero is not a PayPal alternative. It doesn't even have buyer's protection and every bank must manually implement it which immediately makes it a failure. Some banks also connect it to your phone number so you can't link Wero to two different bank accounts with the same number when you have 2 bank accounts. Very messy.
Wero is a payment provider technology, a money wallet, and a bank account integration technology under one single marketing name.
On the payment provider technology side, you're right, but the wallet feature uses phone numbers (and I think email addresses) so you can send each other money without sharing your IBAN (which is slightly longer and probably not in your contacts).
...why would I give my phone number to random people to pay them? I'd rather use an email address or user name. And using phone numbers means making it easier for normal people which means uploading the whole address book to the bank... just no.
I see this happen from time to time. Lately, almost all of the apps work fine on GrapheneOS. The best strategy is to keep writing the business once every two or so weeks that you can’t log in to and use the app. Don’t go too technical at first, because most of the time, the moment they hear things like “rooted” or “unofficial,” they just say your phone is the issue. To date, I was able to convince, or at least contribute to, making three apps work on GOS.
Great job, man. We have to make ourselves get heard. It's a social problem after all. Technical workarounds are great and sometimes the only practical short term option, but we have to fix the social issue at the root.
I had the same experience. Asked in an email why an important government app won't work on GrapheneOS, first without any technical details. Got the response that it's "because security". I sent some technical details and argued that they're denying service to their most security-conscious users. 3 months later the app started to work!
To be fair, governments might be much more receptive to the argument of not having to rely on (possibly foreign) megacorporations than a company like Paypal.
I'd wager that if it doesn't really hurt their bottom line to not support GrapheneOS, they won't really care.
I think in this case it's also them just introducing a new check that either GrapheneOS will need to work around or Paypal needs to refine. I can reproduce the issue, but it doesn't seem like it did a failed Play Integrity check at that point.
Honestly there's a decent chance they don't even know, in most cases, because corporate environments generally try hard to have as few as possible hardware/software setups to maintain. And they're unlikely to proactively test on Graphene unless it's closely related to what they do (and it definitely is not for most apps).
Mistakes happen and ya can't fix what you don't know about. Always report issues.
My backwards bank blocked my mobile app access after detecting Debugging was enabled in the system. Have to call them to unlock it. I could download that APK and disassembly it with an LLM in 20 minutes, but sure, a Debug mode prevents something.
It's because PayPal shipped an update with incorrect anti-tampering code incompatible with secure app spawning. It can be worked around with the per-app secure app spawning toggle until they fix it.
This is arguably the most irritating thing with just about every largecorp developer: "os that hasn't been updated in 6 years? Sure boss!". Os that is built specifically around security and privacy with daily updates: "No, you can't do that". Annoying - yes. Safe way to make sure I will stop being your customer - also YES!
Generally I think the issue is that there's a tension between your security vs Paypal's security (deliberate, motivated bad actors).
Maybe an analogy could be about using metal detectors as a layer to reduce bank robberies. A gun in a good guy's hands is a good thing to prevent robberies. Guns in a bad guy's hands are a bad thing to prevent robberies. Paypal knows you have a gun but they don't know if you're a good guy or a bad guy so it's easier to just ban guns.
If you run a rooted phone and download malware, that malware can gain root and do payments on your behalf.
Then PayPal has to deal with you revoking payments etc., they don't want to so they forbid you from using PayPal on a rooted phone.
Which they would be anyway since PayPal isn’t a bank and isn’t FDIC insured.
They allow you to open PayPal.com on any web browser. Running Windows/macOS/Linux is basically identical to a rooted Android phone (you have local admin rights, you can modify and automate the browser, and can run unsigned code).
Malwares can possibly do that even on non rooted phones if a privilege escalation attack is possible. And just yesterday, there was an article here about exactly one of those.
Also I highly doubt that there is any real statistics anywhere about whether this is a real threat or not. I guarantee that nobody did such statistics properly. The only known data is from companies which sell root prevention tools, so totally unreliable. And internally I guarantee, that no banks collect such info.
So no, banks lie about this only because they can sell this to judges as safety feature, when they fuck up, which happens continuously.
For that argument to hold, they'd also have to blacklist any phone not running the newest, most up to date Android version, because all older versions presumably have known exploits. So that basically leaves Pixel phones.
If you have a rooted phone, download malware, and hit the allow button to give the malware root access, then it can do whatever it wants.
If you have a nominally unrooted phone on an old Android version and download malware, it can exploit a kernel bug and give itself root access and do whatever it wants.
Protecting against the first case and not the second is at best security theater.
It's probably just a generic error message for failing that Google Play Protect thingamajigger that attests provenance of the vendor OS from boot. Will be interesting to see whether the Motorola phones have this endorsement when they ship. Most devices would probably fail because they are rooted rather than because they are GrapheneOS. I wouldn't put it past a scammer talking grandma into rooting their phone.
It isn't due to the Play Integrity API. That shows a notification on GrapheneOS with a toggle for blocking it to work around it for services not enforcing providing a result. If that was the issue, the original poster would have known from the notification. The issue ended up being PayPal shipping incorrect anti-tampering code incompatible with secure spawning. The original poster figured that out and got it working by disabling the per-app secure spawning toggle.
One thing that I'm actually excited about regarding AI is that the pointless policy checkboxes that have never been effective in adding any actual security are even less so effective now that everyone can wield their very own security researcher.
That's your argument? Mate, you can make explosives out of stuff you can buy in literally any supermarket and no one bats an eyelash. You don't have to legally be adult to buy any of the things you'd need and I say that as someone who only struggled with chemistry in school, that's now low the bar is. What's the solution then? Ban sea salt? If someone is using Graphene, the chances of them getting hacked are astronomically lower than any Chinese spyware-infested phone.
It was a response to the gun example which is a physical risk. My argument is that Paypal (much like all other tech-bro companies) are incompetent. The incompetence grows exponentially the larger a software company is. I speak of experience.
On a side note, if you want to be extremely specific, the line between the physical and digital threat does not exist anymore. There are two things people need to be afraid of: incompetent friends and competent enemies. Tech giants are already filled to the brim with incompetent friends, which drastically lowers the bar for the competence of their enemies.
The problem here seems to be that the phone is detected as rooted, not specifically that it's running grapheneOS.
But I agree that it's a big problem. That's how you end up in a situation where google has full control from hardware to final apps like on iphones.
When devs assume that everybody is using the stock android with google services enabled.
It isn't due to the Play Integrity API. That shows a notification on GrapheneOS with a toggle for blocking it to work around it for services not enforcing providing a result. If that was the issue, the original poster would have known from the notification. The issue ended up being PayPal shipping incorrect anti-tampering code incompatible with secure spawning. The original poster figured that out and got it working by disabling the per-app secure spawning toggle.
It's normal to have root (or Administrator) on your devices. After all, they are yours. They don't belong to the device manufacturer. You should have full access to your own devices by default.
Only recently did we somehow normalize the idea that the user should not be the ultimate decider over their own devices.
Parent has a point by playing devil's advocate. Practical considerations indicate that platform is gonna platform. Solution here to greed driven development is some level of 'non possumus' from the general public. Sadly, I am starting to think is what we really need is a lot of valve like companies, where company stay private, founder is not a complete asshole and so on. Tall order, but that is the only real way to reverse some of the damage. I am done counting on the public to see light.
Yea, years ago I was in the security space and got to talk to some paypal security folks at a symposium in San Diego. The level of stuff that they have to deal with is so extreme.
It's similar to how people don't like sites blocking entire countries or access from Tor, etc. You might be doing it for privacy...but all the people trying to commit fraud are also using those same channels to hide their identity. The blockades are one piece of a holistic security picture that frustrate the well intentioned users.
Yet another weak point. My question stands: A user with an OS from 2019 is "secure" and dozens of unpatched CVEs but a literally-last-night-patch OS is not? That's the "stuff they have to deal with"? I was lucky and did not make the mistake of joining a payment provider in 2020 or 2021 (I can't remember). The reality is that European laws are much harsher when it comes to payments and personal data protection and the security team I was being interviewed for was catastrophic(big part of the reason I did the "I accepted another offer already, sorry" card).
As for geo fencing or blocking Tor... HAH! As if that's ever stopped anyone with the will. That is the last concern of anyone with a malicious intent. Sure, it stops irritating kids but no one beyond that.
The simple fact is that cybersecurity was in an abysmal state before the slopification began and it's infinitely worse now. Paypal is no different given that much of their support has been outsourced to slop machines. Punishing the users that know what they are doing while rewarding the ones that don't is the most counter-productive and detrimental crap anyone could come up with.
No. It's the offensive fraud vector coming from unsecured devices that account for a significant portion of the noise. Requiring device profiling aggravates this vector.
> unsecured devices that account for a significant portion of the noise. Requiring device profiling aggravates this vector.
Bullshit! Source:
> The reality is that European laws are much harsher when it comes to payments and personal data protection and the security team I was being interviewed for was catastrophic
Sounds like someone who wanted to impress the audience with fluffed up claims.
I don't run their business. Just trying to explain.
From what we see above it sounds like the change trips their rootkit detection, which they are probably interpreting as a compromised device.
It sounds like you're expecting them to have a perfect security posture that can correctly identify fraud in call cases and only block the real thing. It's more complicated than that and there's typically some type of scoring system involved with numerous triggers that are higher value indicators of potential fraud. If they think the device is compromised, that's probably a high value indicator.
This is interesting. You're gesturing at the idea that individual security practices can be at odds with those needed for group security. I'll be pondering on this.
The analogy was not about new vs old customers being allowed to have guns.
I think that's a limitation of the analogy because there is no correspondence with trusted computing. I guess it would be some sort of a magical gun that some other company is endorsing as of limited use during bank robberies? Maybe like some sort of RFID thing that disables the gun when inside a bank?
Anyway it really stretches the analogy to get tied up in technical details (risks missing the forest for the trees type error).
From a Paypal security POV, weather you use "custom Android OS" or an hugely outdated Android phone, you have:
- a similar risk for the "you" want to mess with Paypal case, in both cases the "you" can technically most likely mess with anything including the "virtual secure module" thingy android uses for NFC
- a lower risk for "others" wanting to mess with Paypal through your phone, at least if "custom Android OS" is GrapheneOS or another up-to-date android fork with decent security handling
so as far as I can tell, this inconsistency is very clearly not about PayPal's security.
IMHO it's about two other things:
1. marketing, if PayPal doesn't work on Android they lose customers, GrapheneOS for now has a tool small customer base for them to care. Outdated Android phone do have a large customer base.
2. compliance/politics BS. including potentially involving insurance. Compliance is mostly about checking of tickmarks(1) on outdated Android they can check them off and blame the user, Goodle or "hackers" for the issue. On GraphemeOS they have a harder time checking it of. Add the smaller user base and end up with PayPal doesn't care. Also iff things go wrong with Paypal on GraphemeOS in a public manner you will have all the "crime os" bad news bs, you won't have that if things go wrong with a even more risky highly outdated Android phone.
-----------------------
I got a bit to much off topic below:
(^1): Technically compliance should be about building robust, secure, law compliant systems and "showing" that by being able to pass a compliance tests consisting about a bunch of requirements. Practically there is way to many ways you can be "fully compliant" (on paper) but not secure and "very secure" but not compliant (wrt. security regulations). In the former case this might still come back and bite you iff you get sued or people suing which should get right don't get it because of ad-absurbum reasoning like "they comply with security regulations, hence can't have acted negligent". It's a shit show I don't know how to fix even if I could just magically change laws as compliance rules need technological flexibility, but if you give them that that will be abused to make insecure things pass. And the whole industry around checking that isn't really one who cares about actual security, sometimes outright corrupt (like groups which have the necessary accredited to check your compliance, are strangely more expensive then other groups, and somehow find less issues in average, with some excuse of why that isn't strange ...) :/
---
Lastly similar to how Teams or Slack could easily support FF (^2) but not only don't but outright refuse to try to even work. PayPal likes to act similar and doesn't care about niches. E.g. at least on some Mobile browsers WebAuthn works, but the PayPal website refuses to _even try_ 2FA with WebAuthn on mobile no matter if the APIs are there or not.
(^2): Yes there are some challenges, AFIK especially in certain edge cases most user might never run into. But Jitsi made it work, other smaller apps also made it work. And Jitsi is open source, so they technically can "look up" all the tricks to make it work (algorithmic ticks, not copy-pasting code) or outright just use their system with an appropriate contract (probably would be even cheaper wrt. maintenance cost then building your own system). At Slack/MS Teams scale that behavior is just messed up.
The cherry on top is that their web site invariably still works so the refusal to work via app is an intentional manipulation tactic to harvest more consumer data for sale.
Sadly, their website now appears to require an app in order to sign in.
Even before that it would often block me with text along the lines of "We don't know who you are, call our support number."
Paypal's security? the same "security" which in 2026 still does no allow a passwords above 32 character (which most likely indicating that they don't hash passwords)?
I think the issue is more that big tech only trusts their own kind and usually has motives to exclude privacy conscious software because they can't datamine it or make backroom exclusivity deals.
The needs of the user don't matter to them at all.
There's no tension between the security of PayPal against bad actors and support for GrapheneOS. GrapheneOS preserves the whole standard security model and greatly improves security. It's far more secure than anything permitted by the Play Integrity API device or strong integrity levels.
Thankfully, PayPal hasn't banned GrapheneOS and their app still works on it. They accidentally broke compatibility with our secure app spawning feature which has a per-app toggle to disable it along with the other exploit protections which can cause compatibility issues.
There's an overall per-app compatibility mode toggle instead of users needing to figure out which protection is an issue but it's best to figure out the minimal workaround after determining that works.
Fine by me. My example illustrates their incompetence if they are willing to let a user with an OS that hasn't received any updates in half a decade, then clearly, they don't give a single crap about security.
Uh, no. Shaming a "take" is just tone policing. Owners should own the hardware along with the software both.
Its only since the smartphone era (2008) with locked down shit devices has this view changed. And people challenging this are somehow defective, tone policed, shamed, or likewise.
GrapheneOS users are treated as 'rooted phones', at the exact same time tools that would attack and prevent corporate surveillance (xprivacy, etc) are withheld cause they would involve root.
It is a common userspace decision to lock things to userspace. It’s good hygiene.
If you want less-secure software, use AOSP or one of its many forks.
You’re not defective: you just have different needs and threat model,
and you’re harassing and degrading the public image of a project that’s opinionated in a very welcome way by folks in the security community - especially those who value stability and usability.
"It is a common userspace decision to lock things to userspace"
Yes, running in userspace for the majority of tasks is good hygiene.
Preventing the user from ever escalating beyond that layer on their own devices, however, is restricting their freedom to control their device. When that happens with tractors, cars or other gadgets that's considered anti-user. The same attitude should extend to phones.
Leave the abusive relationship with those entities. Don’t lay this at the feet of the GrapheneOS Project.
If you read their FAQ, you’ll see how limited the OS actually is in retaining your privacy if you still insist on using these providers that don’t respect you.
Said another way: stop trying to solve human problems with technical means.
and definitely stop trying to get others to do it for you for free.
You shared your opinion, someone else shared there’s that just so happened to be “I disagree with you” and suddenly that’s some type of censorship? Nobody is shaming you, either.
As several others have already said here, GrapheneOS is not necessarily rooted. So that's a lie.
Also, I've seen such audits internally, and they don't care about security at all. They care about the theatrics of security waaaaay more.
For example, I was at Santander in 2024, during its huge data breach. Here is the list of actions which are supposed to prevent the same kind of attacks again in the future:
-
Yeah, it's an empty list.
But of course, they made our life more difficult. In the end, I literally had more permission than before, because they were even sloppier than before. But of course, I had to change my password more frequently, and I had to type it about 5x more.
Audits are primarily about liability and safe harbors in lawsuits. Companies get audits on record so that if something happens they have someone to throw under the bus and pass damages off onto.
With the way today's economy works, they probably wouldn't even care if they lost 1/4 of their customers in just one year. Maybe their share price would jump!
With Silicon Valley "largecorp" the required "security" is to protect the company from (a) the privacy-conscious user who would object to the company's data collection, surveilllance or ads/tracking and (b) from competitors, i.e., other companies that would potentially do data collection, surveillance, advertising services if they had uncontrolled access to largecorp's users
"OS that user compiled herself" can avoid this nonsense
No "smallcorp" is safe from Silicon Valley "largecorp" for long with the amounts of money SV largecorp can, and will, offer smallcorp if smallcorp grows. SillyCon Valley "largecorp" wants data about/from users, not users' money
"Safe way to make sure I'll stop being your customer - also YES!"
This one is pretty interesting. I was ready to cancel my account on the spot when the news popped up but it still works on my phone. And I've updated the app as many times as they've made a release since the announcement. I honestly haven't got a clue what is going on with them.
It's because PayPal shipped an update with incorrect anti-tampering code incompatible with secure app spawning. It can be worked around with the per-app secure app spawning toggle until they fix it.
The first thing to try when an app doesn't work is trying the per-app exploit protection compatibility mode. That sets all the per-app exploit protection toggles to the compatibility mode. If that works which is likely the problem, it can be narrowed down.
Nearly all Android apps are compatible with GrapheneOS. The exception are around 10% of banking and government apps which use the Play Integrity API to ban using a non-Google-approved device or OS. That's visible to users on GrapheneOS via a Play Integrity API usage notification. After the first use by an app, GrapheneOS provides a menu for blocking using the Play Integrity API which sometimes gets apps working because many don't enforce it working. It's not fully reliable and can have downtime so apps often don't enforce providing a result.
The app still works too. PayPal just accidentally broke compatibility with secure spawning which can be toggled off per-app. We didn't used to have a per-app toggle since it wasn't expected to cause compatibility issues and it was non-trivial to add support for it, but we have it now.
Yes, but the app still works on GrapheneOS. They accidentally broke compatibility with the default settings with incorrect anti-tampering code. Disabling the per-app toggle for secure spawning works around it.
We have per-app toggles for exploit protections known to have compatibility issues. Secure spawning wasn't expected to cause any compatibility issues so we didn't have a per-app toggle for it until recently but it's available now.
I'm starting to see these restrictions as a deterrent for using the products in question. My GOS handset is slowly fizzling away into a dumbphone with Firefox, organic maps and k9. And you know what, I am starting like it.
The vast majority of Android apps work on GrapheneOS. App compatibility is not diminishing in any significant way. We've improved app compatibility faster than Play Integrity API adoption has happen, which this isn't.
PayPal's app still works with our per-app secure spawning toggle disabled. It's a bug in their anti-tampering code.
Thankfully, PayPal hasn't banned GrapheneOS and their app still works on it. They accidentally broke compatibility with our secure app spawning feature which has a per-app toggle to disable it along with the other exploit protections which can cause compatibility issues.
There's an overall per-app compatibility mode toggle instead of users needing to figure out which protection is an issue but it's best to figure out the minimal workaround after determining that works.
Why would anyone still use PayPal after so many cases of accounts being banned and funds being frozen for no reason, and all the other terrible stuff they've done?
SEPA uses your IBAN (account number), and one can also enter this account number for payment, implicitly allowing the store to withdraw money from it...
Well yes. But just in case this wasn't clear: this is a crime, and you will get your money back in most cases. It's on the merchant to ensure a Direct Debit Mandate is actually valid.
I do not think it is possible to withdraw money having only an IBAN.
It would need a SEPA direct debit mandate for my bank to accept the transfer request.
IBANs aren't secret, they have the same level of confidentiality as your address or birth date.
One-off SEPA Direct Debit is virtually unheard of, recurring payments are a bit more common but usually involve a €0,01 payment to prove ownership of the account. The transactions are also trivial to undo, and can only be initiated by companies.
So no, "IBAN fraud" isn't a thing in practice. You can safely share your IBAN with your friends for instant free wire transfers.
You must be referring to SEPA Direct Debit, which would be very risky to use to siphon funds. There's an 8 week no-questions-asked refund policy, 13 months for unauthorized transactions, if the payment fails (eg due to insufficient balance), the payee is charged a non-refundable cancelation fee. [0] And that's all separate from any legal troubles for fraudulent charges. I don't know why Germans use PayPal over SEPA, but I'd be surprised if SEPA Direct Debit was the reason.
Sepa is how my kid's daycare debits me each month, or how I transfer money to other accounts (most bills are direct-debit, but sometimes I get a one-off invoice and I have to transfer the money myself).
But for the small person-to-person type thing, paypal is the defacto here (sadly).
I wish. The small inconvenience of putting in an IBAN and a matching name instead of just an email address is already enough for many people to default to paypal. Just happened to me again yesterday, the guy preferred to bring cash next time we see each other instead of just receiving my info via text.
"The guy" probably let you know in a polite way that you were behaving immaturely. You're not supposed to ask your friends for money to split bills etc. The way grown ups do it is "I pay this time, you pay next time".
No, he didn't. He offered to cover a case of beer for after our game at the park, but he didn't have a car, so he asked me to bring it and he'll pay for it. Afterwards he came to me (I never brought up the topic of money) and asked for my Paypal details. How am I in the wrong here?
The whole "I pay this time you pay next time" is already covered by "everybody brings a case once in a while", but if the guys without cars just ask someone else to pay for it when it's their turn it won't add up.
If you're going to make assumptions, perhaps start with those that don't paint me in a bad light.
You weren't in the wrong, he was. He shouldn't have asked somebody to pay for something and bring it if he didn't have the money at hand to cover for it. PayPal isn't real money in this case.
If this was a long time friend, I'd let it slide. It's just a case of beer, and in Germany beer is dirt cheap. If this was a new acquaintance, I'd let it slide and take note that it's not a person to make friends with.
> If you're going to make assumptions, perhaps start with those that don't paint me in a bad light.
Good point. But all of this isn't a problem of payment systems, but of people's behaviour.
As a German that never has encountered PayPal in the wild and doesn't have a Paypal account either, your narration requires elaboration to be believable.
I'm not doubting you but I have a hard time believing that, as I see it all the time. Sometimes restaurants even accept it if they don't take card and then ask you to send to their private PayPal account as a fallback. It's even part of many German memes around the German way of always splitting the bills, even if it's just < 5 euros.
What you are describing sounds like a weird alternative reality. I never heard of always splitting bills, either. But it's not exactly a homogeneous country. To the point everyone jokes that Bavaria isn't even German, for example.
Depending on which state you are in, your experience can be vastly different.
All the states used to be kinda independent two hundred years ago. Including having different currencies. Unification happened 1871. Bismarck and later Hitler kinda brought the nation together, but after losing two world wars national pride got frowned upon and having the iron curtain cut through the country didn't help in fostering a German identity, either. Reunification was only 36 years ago. Though, about a third to maybe half of the German territory remains lost after losing the wars. Instead we got the EU. The more things change, the more they stay the same.
It's always funny to see foreigners make fun of German supposed clichés that I never had any exposure to whatsoever, like Lederhosen, which is only a thing in Southern Germany.
I've had to use it when my bank's purchase limits did not allow for card (virtual or real), but the same purchase was allowed when going through PayPal. It was annoying AF, but was much faster than contacting my bank and getting permission to spend my money.
So both Paypal and Visa/Mastercard get a cut of every transaction. At least with a regular virtual card Paypal isn't getting their cut. Having Paypal as a middleman will make chargeback requests harder as well since they likely need to be negotiated with before the actual card issuing bank.
because global-ish exchange of goods and services for money is a deliberately convoluted experience that only a handful of well-connected entities are allowed to facilitate, which enables each and every one of them to put "we reserve the right to fuck you in the ass for any or no reason" in their ToS.
Easy to say when you are in a country where you have a lot of options.
There's some countries with very bad financial sector where your option is PayPal or Western Union as the local banks don't know how to do international transfers, Remitly doesn't support all countries and Wise also doesn't work. PayPal works, even if they charge fees.
My local banks know how to international transfers but I have to go into a bank office and fill out a paper form. Receiving international transfers they call and ask if I wish to accept it, if I can't answer the phone right then the transfer gets delayed. If the sender does not include my middle name, I have to come into the office and sign an affidavit that this person with this different name is also me. Each time.
We were having a lot of problems with that in Honduras, staff in the branch did not know how to do that, fees are extremely high and sometimes the bank system is just offline and you get sent home. There's a reason all these alternatives like Western Union etc. exist for this remittance use case.
It was a big reality check for me usually living in Germany and having access to a lot of banks and modern neo-banks.
Oftentimes it's not necessarily that they don't know, but unless two international banks have a direct relationship, they have to use intermediary banks. Even my parent's large bank in Australia, when wiring me a gift towards my home purchase, had to go via an intermediary bank who could then forward-on to my bank.
You're a banking app. Why do you need to check my phone or my os? The security is not in what phone I use, but in how sane your 2-factor auth is and if even exists.
They have blocked rooted phones based on the error provided. Nothing to do with verification. They treat rooted phones to a level they don't with phones without critical security updates. That's the tension. Non-rooted phones aren't necessarily unsafer.
If they replaced the core of the OS with a rootkit, it wouldn't be GrapheneOS anymore but rather a derivative of it. They didn't do that and people should be clear if they have rather than calling it GrapheneOS.
It is a useful tool, but is largely irrelevant to this issue.
To the end user, this isn't really much of a difference. Whether the cause is malice or simply not choosing to use the smallest effective brush, they are still taking an action that is preventing legitimate users from accessing the service.
The very fact they've managed to convince anyone that checking what OS I decide to run on the devices I own to check my own banking is any of their concern is a problem in and of itself.
"Ironic" means saying the opposite of what you mean in order to be funny or sarcastic. So that would mean you think I was both polite and not an idiot.
PayPal accidentally broke support for GrapheneOS with the default settings for the app by adding incorrect anti-tampering code. It can be worked around using the per-app toggle to disable secure spawning. It shouldn't be necessary and we didn't expect there to be apps incompatible with secure spawning so we didn't originally design it to have a per-app toggle and had to add it.
Several of the more aggressive exploit protections are enabled for the base OS but are opt-in for user-installed apps. Memory tagging should work with all user installed apps but is opt-in because it's so good at detecting invalid memory accesses and uncovers a lot of bugs. Dynamic code loading via storage, dynamic code loading via memory and native debugging are allowed by default since a significant fraction of apps need those and it's not usually a bug. Users can set those as enabled by default for user installed apps which is particularly recommended for memory tagging but then people need to deal with the incompatibilities. The defaults don't cause issues with most apps so not everyone is aware of the per-app toggles.
I still remember when my bank wanted me to run Android 9 instead of my Android 15 rom (without root) on my Samsung S8 because "muh security!!"
Funnily enough, the only way to hide those detections was to Root my phone...
And i still remember when i had an appointment there, they wanted to see something in my Bank app, i opened it (and i assume it had an update since i then last used it) and a big "THIS DEVICE IS NOT SUPPORTED. ROOT IS NOT SUPPORTED" poped up
But was as simple as readding the bank app to my root hiders.
I'm on Debian Testing sometimes on amd64 and sometimes on m1. Paypal also doesn't like me. Than I have two options: I use a Windows VM to do the payment or I use another payment method. Most of the time I use the other payment method.
It's because PayPal shipped an update with incorrect anti-tampering code incompatible with secure app spawning. It can be worked around with the per-app secure app spawning toggle until they fix it.
This is what really makes me question if I want to continue to use GOS, already some UK banks apps (which are app only) don't want to run. I'm considering switching back to stock as I can't be bothered to try to find hacks and workarounds for daily necessities.
Same experience in the UK, but it was the push that got me to switch from Lloyds to Nationwide if you're looking for another option. They're great, they even have offline 2FA methods as they send you a card reader for things like authing purchases or sign-ins. And the app still works :-)
Revolut still works for the vast majority of our users due to our workarounds for their attempted ban on it. We got in contact with Revolut due to our thread and they appear willing to avoid banning it going forward despite their past moves to do it.
PayPal's app still works with our per-app secure spawning toggle disabled. It's a bug in their anti-tampering code.
Have you tried the per-app exploit protection compatibility mode or the finer-grained toggles for those apps? 90% of banking apps work on GrapheneOS but MANY have problematic anti-tampering code requiring the per-app compatibility mode.
Did you try enabling the exploit protection compatibility mode in the app settings? GrapheneOS should have shown you a Play Integrity API detection notification if the app is actively trying to block non-GMS-certified devices using Play Integrity API.
This is a correct answer despite the fact that it was previously hidden by flagging. PayPal's recent updates with incorrect anti-tampering code work fine on GrapheneOS when secure app spawning is disabled. It's best to disable only secure app spawning (exec-based spawning) for it instead of using the whole compatibility mode. Using the whole compatibility mode is the first thing to check before narrowing it down though.
So the OP is just lying out of ignorance and rash judgement, and spreading calumny about PayPal. And PayPal has done nothing to their app to block GrapheneOS. And hundreds, thousands of participants on HN have been misled by another rogue "Tell HN". Good times.
They're not lying but rather likely didn't know about the per-app exploit protection compatibility mode. They narrowed it down to secure app spawning needing to be disabled. Now they know what to do when an app doesn't work on GrapheneOS.
You can help by upvoting the update they posted with the solution:
The app can still be used too but requires the per-app secure spawning toggle with recent app versions. It's due to PayPal shipping buggy anti-tampering code.
It's not specific to contactless payments. It's a bug in the app and still works with the per-app spawning toggle disabled. The per-app exploit protection compatibility mode sets all these toggles to the compatibility mode but it's best to figure out the minimum required.
I had to update exploit protection after their latest update — I think it was enabling dynamic code loading via both memory and storage that did the trick.
Edit: checked now, I have also disabled secure app spawning.
Interesting, just inferring from that it sounds like GrapheneOS's actual-security features might have been tripping up PayPal's root-detection "security" features.
(Rather than something fundamentally incompatible, like them using Play Integrity)
There are valid RASP techniques that involve dynamic code loading, so it actually makes a lot of sense. Source: I worked on RASP a long time ago :)
IMO headline is very misleading, and OP should have tried disabling all exploit protection options before jumping to any conclusions. PayPal isn't actively trying to block GrapheneOS as of now.
In this case, it only reduces the security of the app against exploits rather than the security of the OS. Secure spawning protects the app via unique ASLR bases, random memory tags, etc. Blocking dynamic code loading prevents common accidental vulnerabilities via insecure code loading and hardens against certain exploit techniques.
Based on user reports, there are recent updates to PayPal requiring disabling the per-app secure spawning toggle. It already required not enabling some of the other protections which are opt-in for user installed apps.
Secure spawning doesn't cause compatibility issues with non-buggy apps (unlike blocking dynamic code loading via memory/storage or native debugging) and apps rarely have issues with it (unlike memory tagging, which finds lots of bugs) so it's on by default.
Hopefully these stupid companies that are refusing to allow their apps to run on GrapheneOS will have a change of heart when Motorola begins launching their new phones:
I also ran into the eBay application being blocked just recently. Other than that I've had no issues, but I imagine this is going to become more and more common as time goes on.
Most likely, unless the GrapheneOS user base can be grown quickly. We are at a point in time where the number of apps that block GrapheneOS through Play Integrity Strong is fairly small. So it's still possible to grow the user base since the inconvenience is not too large. Once the majority of banks would require passing Play Integrity Strong, far fewer people would switch.
So, best to grow the user base fast now and let every user send a complaint for every app that gets blocked. A few million users will be harder to ignore.
Motorola partnering is huge and should help this if it comes to fruition. They sell a -ton- of phones in the Americas. Best not to get on their bad side.
With the default settings, the latest versions of PayPal only require disabling secure app spawning.
It may also require dynamic code loading via storage, dynamic code loading via memory and native debugging being permitted but those aren't blocked for user installed apps by default. People can opt-in to those being enabled by default for user installed apps similarly to memory tagging, but memory tagging has the biggest positive impact.
Confirmed on my phone too. I left a 1-star review on the play store saying it crashes on every launch, uninstalled and will use the website from now on. (Luckily, I dont use contactless payments, ai just send and receive money from friends from time to time)
You can solve it with the per-app toggle for disabling secure spawning. PayPal only accidentally broke compatibility with secure spawning. You should still complain to them about it.
The app can still be used too but requires the per-app secure spawning toggle with recent app versions. It's due to PayPal shipping buggy anti-tampering code.
PayPal's app requires disabling the per-app secure spawning toggle for it now due to buggy anti-tampering code. You may have already enabled the per-app compatibility mode which includes that.
You may also not have the update yet. Play Store supports staged rollouts where updates are only available to a set percentage of users.
I've disabled auto-update for PayPal in the Play Store and also Disabled the app locally (so I can re-enable when rarely needed). They'll force people to update soon enough given how banking apps are.
Some features are app specific such as tap-to-pay, which does work on GrapheneOS. PayPal's app still works with the per-app secure spawning toggle disabled. It's a bug in their recent updates causing an incompatibility with secure spawning and they should fix it.
It does still work. It's just a bug in their anti-tampering code breaking it with secure spawning. Using the per-app secure spawning toggle or broader per-app exploit protection compatibility mode resolves it. PayPal should fix their code.
I remember when I had to boot up an old windows machine because TurboTax refused to run on a Linux (might have been something related to flash as well... been too long to recall), then I just ran Windows in a VM, then extensions allowed me to do User-Agent spoofing (honestly should have thought of this sooner), and now they don't seem to care at all. I did my taxes on OpenBSD last year.
PayPal and Curve Pay support tap-to-pay on GrapheneOS in Europe where they have it deployed. Google Pay bans using GrapheneOS for it via the Play Integrity API. Most banks only support using Google Pay rather than having an alternative in their apps. Many European banks have an alternative.
PayPal's app does still work on GrapheneOS, they only accidentally broke it with the default settings due to bugs in their anti-tampering code. Disabling the per-app exploit protection compatibility mode works around it. They should fix it and start testing on GrapheneOS.
This wouldn't be that bad if they had a functional website you could use instead, but their website doesn't even let you do things like pick your monthly rewards category or configure auto-replenish for your debit card.
PayPal's app still works with the per-app secure spawning toggle disabled. It's a bug in their recent updates causing an incompatibility with secure spawning and they should fix it.
Tap-to-pay is unlikely to be provided via their website and does work on GrapheneOS.
Dumb idea, but I wonder if the underlying os can see who is asking questions like do you have root, And if an app has no need to know, it just plays dumb and responds...of course not. It's a bit of a chicken and egg problem, in that if you don't know what apps need to know if you have root, or not, then you can't determine that at the OS level...maybe an option for the user (popup) to tell the program, tell them we are rooted or not? (Or a settings page you can determine what apps can know root or not)
That's exactly how modern Android rooting tools work. You select which apps you want to have root, in a manager app. No other app should be able to notice.
But GrapheneOS isn't root, that's just PayPal's thing being broken.
How does their web site do device attestation? The argument that apps have to be locked behind a validation mechanism controlled by Google to be secure is BS when a cookie is sufficient.
GrapheneOS isn't rooted. The issue is their flawed anti-tampering code shipped a new bug breaking compatibility with secure spawning. We have a per-app toggle for secure spawning due to seeing this with other banking/financial/government apps and it works for PayPal's app as the original poster discovered.
If they want to ban arbitrary operating systems, they can use attestation and it can't be fooled the way you're describing. Apps doing this can explicitly verify GrapheneOS and we've convinced some apps to do that. We've also convinced a smaller number to stop doing that at all.
A lot of NFC related tech is deeply rooted in having "trusted (aka large company)", "attested (aka you can't easily lie)", secure module functionality.
What should have happened is to just not enable the contactless payment functionality for given app, even if the user enabled it in general. And not crash.
Also as others have pointed out, this might be an accidental mishap not an intended outcome.
But it's not like PayPal is known to care about small user-base edge cases (quite the opposite). Which I guess is the actual root problem.
The issue turned out to be PayPal adding incorrect anti-tampering code incompatible with our secure app spawning feature. It's common for anti-tampering code to break real security features. It's a major reason for us having the per-app compatibility mode toggle and the finer-grained toggles for the individual exploit protections known to be incompatible with certain apps,
That's weird because I keep all my apps to the latest version and still that's the version Google serves to me as the latest. Must be a regional thing.
Yes, but PayPal's app still works on GrapheneOS too.
It's because PayPal shipped an update with incorrect anti-tampering code incompatible with secure app spawning. It can be worked around with the per-app secure app spawning toggle until they fix it.
The best approach to combat this is to cause as much headache as possible: bombard them with 1-star reviews, contact news sites, post this on social media sites snd contact Paypal's support.
True. But when the Volkswagen block was publicized a lot, last time I checked the number of stars didn't even decrease by 0.1 (even though there were a bunch of negative reviews). Admittedly, PayPal probably has more GrapheneOS users than VW, but with VW negative reviews could have made a serious dent.
It's because PayPal shipped an update with incorrect anti-tampering code incompatible with secure app spawning. It can be worked around with the per-app secure app spawning toggle until they fix it.
I have never been a crypto currency advocate, but if the banking utility of a mobile phone is going to be dictated by the operating systems that finance apps whitelist, I might want open rails that work with my open phone
Isn't this more about PayPal disliking a rooted device rather than Graphene? I used to have all kinds of issues with financial apps when I was rooted, regardless of OS
Flawed root detection issues are kinda common to see when running Graphene, tbh I suspect this is just an accident - it very much is not the first time, nor the first for PayPal.
GrapheneOS isn't rooted. The issue is their flawed anti-tampering code shipped a new bug breaking compatibility with secure spawning. We have a per-app toggle for secure spawning due to seeing this with other banking/financial/government apps and it works for PayPal's app as the original poster discovered.
Have you explicitly enabled root access? GrapheneOS does not do so by default, in fact their documents explicitly mention that enabling root access weakens the OS's security posture. Many app protection frameworks detect root access and block by default.
PayPal's app requires disabling the per-app secure spawning toggle for it now due to buggy anti-tampering code. You may have already enabled the per-app compatibility mode which includes that.
You may also not have the update yet. Play Store supports staged rollouts where updates are only available to a set percentage of users.
This happened to me with Starling Bank's app years ago. I have since conceded defeat. What is pernicious is how some of these services are unusable without an app, while also bossing the user around about what operating system they can use. Starling left me without any access to any of my bank accounts at the time (2022 or so) so now I use very old school online banking now to avoid this situation ever occurring again.
It's because PayPal shipped an update with incorrect anti-tampering code incompatible with secure app spawning. It can be worked around with the per-app secure app spawning toggle until they fix it.
Starling Bank app still works on GrapheneOS too. See here:
I tried it on my Pixel 10 Pro XL as well. Latest version of GrapheneOS, latest play store version of the app and it works.
Even tried completely nuking app data and logging in again. Login, security check, fingerprint setup, everything worked (I even got the alert that it used the Play Integrity API)
I assume if anything, this is probably the contactless payments.
I do somewhat understand why they are really trying to lock something like this down, but as everyone pointed out, giving the green light to a CVE infested version of Android while prohibiting the use of a version that goes above and beyond when it comes to security is absurd.
GrapheneOS officially passes only the MEETS_BASIC_INTEGRITY tier of the Google Play Integrity API and fails the MEETS_DEVICE_INTEGRITY and MEETS_STRONG_INTEGRITY levels.
Many banking apps I use in my country require this level plus something from the GPI API, which makes them unusable. You need a regular, unmodified smartphone to use them.
I still don't understand why people atill use paypal. It has veena shitty and shady company from the start and never got any better. They are known thieves that use political games to illegally seize money and get to keep it until you "prove" that $100 is yours and not used for random bs like "terrorism".
gib444 | 18 hours ago
[OP] leumon | 18 hours ago
gib444 | 11 hours ago
grapheneos | an hour ago
It's one of the toggles changed by the per-app exploit protection compatibility mode. If an app doesn't work, that's the first thing to try. It can then be narrowed down to a specific setting.
The more aggressive exploit protections uncovering a lot of compatibility issues are only enabled for the base OS and specific user installed apps by default. Those can be set to enabled by default for all user installed apps and then people have to deal with the per-app toggles a lot more. This applies to memory tagging, disallowing dynamic code loading via memory/storage and disallowing native debugging (ptrace).
grapheneos | an hour ago
[OP] leumon | 18 hours ago
zvmaz | 17 hours ago
zem | 11 hours ago
grapheneos | an hour ago
ttouch | 16 hours ago
paperscissors | 16 hours ago
aabdelhafez | 18 hours ago
https://wero-wallet.eu
oniony | 17 hours ago
unpopularopp | 17 hours ago
Carbon1603 | 16 hours ago
therealmarv | 17 hours ago
I've read once that there are paid app testing labs which test if an app has root and custom ROM detection and when they don't have that it's a minus point on the report.
muvlon | 17 hours ago
savwolf | 16 hours ago
doublerabbit | 16 hours ago
jeroenhd | 13 hours ago
UK politics has been quite isolationist, though, so I doubt the banks will see much in interoperating with the rest of Europe.
sunaookami | 16 hours ago
master-lincoln | 16 hours ago
What do you mean "some banks"? I thought the whole value proposition of Wero was instant bank transfers with SEPA but using phone numbers?
jeroenhd | 13 hours ago
On the payment provider technology side, you're right, but the wallet feature uses phone numbers (and I think email addresses) so you can send each other money without sharing your IBAN (which is slightly longer and probably not in your contacts).
Aachen | 9 hours ago
sunaookami | 11 hours ago
Aachen | 9 hours ago
Carbon1603 | 16 hours ago
zerof1l | 18 hours ago
basilikum | 16 hours ago
dvoros | 16 hours ago
dinfinity | 12 hours ago
I'd wager that if it doesn't really hurt their bottom line to not support GrapheneOS, they won't really care.
microtonal | 14 hours ago
Groxx | 13 hours ago
Mistakes happen and ya can't fix what you don't know about. Always report issues.
Also strongly consider just using the website.
lta | 12 hours ago
That would make a great blog post
cromka | 12 hours ago
downrightmike | 12 hours ago
hd4 | 17 hours ago
grapheneos | an hour ago
axegon_ | 17 hours ago
fluidcruft | 16 hours ago
Maybe an analogy could be about using metal detectors as a layer to reduce bank robberies. A gun in a good guy's hands is a good thing to prevent robberies. Guns in a bad guy's hands are a bad thing to prevent robberies. Paypal knows you have a gun but they don't know if you're a good guy or a bad guy so it's easier to just ban guns.
encom | 16 hours ago
biosboiii | 16 hours ago
master-lincoln | 16 hours ago
Grombobulous | 16 hours ago
They allow you to open PayPal.com on any web browser. Running Windows/macOS/Linux is basically identical to a rooted Android phone (you have local admin rights, you can modify and automate the browser, and can run unsigned code).
bayindirh | 16 hours ago
Apparently the world can't adult and be responsible for their actions, or people believe in that.
fylo | 16 hours ago
Grombobulous | 16 hours ago
ruszki | 16 hours ago
Also I highly doubt that there is any real statistics anywhere about whether this is a real threat or not. I guarantee that nobody did such statistics properly. The only known data is from companies which sell root prevention tools, so totally unreliable. And internally I guarantee, that no banks collect such info.
So no, banks lie about this only because they can sell this to judges as safety feature, when they fuck up, which happens continuously.
encom | 15 hours ago
yjftsjthsd-h | 11 hours ago
If you have a nominally unrooted phone on an old Android version and download malware, it can exploit a kernel bug and give itself root access and do whatever it wants.
Protecting against the first case and not the second is at best security theater.
iamnothere | 16 hours ago
fluidcruft | 15 hours ago
grapheneos | an hour ago
goonersallofyou | 15 hours ago
edoceo | 13 hours ago
axegon_ | 16 hours ago
john_strinlai | 14 hours ago
axegon_ | 14 hours ago
On a side note, if you want to be extremely specific, the line between the physical and digital threat does not exist anymore. There are two things people need to be afraid of: incompetent friends and competent enemies. Tech giants are already filled to the brim with incompetent friends, which drastically lowers the bar for the competence of their enemies.
pkulak | 14 hours ago
rc5150 | 10 hours ago
HenriTEL | 13 hours ago
svpk | 12 hours ago
I assume the issue is it failing the deeper play integrity check which is about it not being "Google approved."
grapheneos | an hour ago
ryandrake | 3 hours ago
It's normal to have root (or Administrator) on your devices. After all, they are yours. They don't belong to the device manufacturer. You should have full access to your own devices by default.
Only recently did we somehow normalize the idea that the user should not be the ultimate decider over their own devices.
iugtmkbdfil834 | 13 hours ago
robocat | 3 hours ago
I propose you buy enough ingredients from the supermarket and make a big batch.
The scientific test is: how far do you get, before your door is kicked in?
If that fails, then science #2: have fun lighting it!!
You almost win both ways. (although I admit I wouldn't fund you even via a trustworthy intermediary say a Kickstarter campaign.
brightball | 16 hours ago
It's similar to how people don't like sites blocking entire countries or access from Tor, etc. You might be doing it for privacy...but all the people trying to commit fraud are also using those same channels to hide their identity. The blockades are one piece of a holistic security picture that frustrate the well intentioned users.
axegon_ | 15 hours ago
As for geo fencing or blocking Tor... HAH! As if that's ever stopped anyone with the will. That is the last concern of anyone with a malicious intent. Sure, it stops irritating kids but no one beyond that.
The simple fact is that cybersecurity was in an abysmal state before the slopification began and it's infinitely worse now. Paypal is no different given that much of their support has been outsourced to slop machines. Punishing the users that know what they are doing while rewarding the ones that don't is the most counter-productive and detrimental crap anyone could come up with.
browningstreet | 15 hours ago
No. It's the offensive fraud vector coming from unsecured devices that account for a significant portion of the noise. Requiring device profiling aggravates this vector.
axegon_ | 15 hours ago
Bullshit! Source:
> The reality is that European laws are much harsher when it comes to payments and personal data protection and the security team I was being interviewed for was catastrophic
Sounds like someone who wanted to impress the audience with fluffed up claims.
Zedfragg | 13 hours ago
Just because you argue with vigor and intent, it doesn't make you right.
People are offering their opinions, try not being a dick about it.
GrapheneOS is a privacy orientated OS which is great. But if the vectors to achieve privacy are the same as used by bad actors, I'd block it too.
Get over it, don't like it? Use a different product. Or make a better one.
brightball | 14 hours ago
From what we see above it sounds like the change trips their rootkit detection, which they are probably interpreting as a compromised device.
It sounds like you're expecting them to have a perfect security posture that can correctly identify fraud in call cases and only block the real thing. It's more complicated than that and there's typically some type of scoring system involved with numerous triggers that are higher value indicators of potential fraud. If they think the device is compromised, that's probably a high value indicator.
This is just me speculating.
a2ff6eeb0 | 13 hours ago
It's not about user security.
xelxebar | 5 hours ago
dmichulke | 15 hours ago
They have all the data they need, and they choose not to use it.
fluidcruft | 15 hours ago
I think that's a limitation of the analogy because there is no correspondence with trusted computing. I guess it would be some sort of a magical gun that some other company is endorsing as of limited use during bank robberies? Maybe like some sort of RFID thing that disables the gun when inside a bank?
Anyway it really stretches the analogy to get tied up in technical details (risks missing the forest for the trees type error).
dathinab | 15 hours ago
From a Paypal security POV, weather you use "custom Android OS" or an hugely outdated Android phone, you have:
- a similar risk for the "you" want to mess with Paypal case, in both cases the "you" can technically most likely mess with anything including the "virtual secure module" thingy android uses for NFC
- a lower risk for "others" wanting to mess with Paypal through your phone, at least if "custom Android OS" is GrapheneOS or another up-to-date android fork with decent security handling
so as far as I can tell, this inconsistency is very clearly not about PayPal's security.
IMHO it's about two other things:
1. marketing, if PayPal doesn't work on Android they lose customers, GrapheneOS for now has a tool small customer base for them to care. Outdated Android phone do have a large customer base.
2. compliance/politics BS. including potentially involving insurance. Compliance is mostly about checking of tickmarks(1) on outdated Android they can check them off and blame the user, Goodle or "hackers" for the issue. On GraphemeOS they have a harder time checking it of. Add the smaller user base and end up with PayPal doesn't care. Also iff things go wrong with Paypal on GraphemeOS in a public manner you will have all the "crime os" bad news bs, you won't have that if things go wrong with a even more risky highly outdated Android phone.
-----------------------
I got a bit to much off topic below:
(^1): Technically compliance should be about building robust, secure, law compliant systems and "showing" that by being able to pass a compliance tests consisting about a bunch of requirements. Practically there is way to many ways you can be "fully compliant" (on paper) but not secure and "very secure" but not compliant (wrt. security regulations). In the former case this might still come back and bite you iff you get sued or people suing which should get right don't get it because of ad-absurbum reasoning like "they comply with security regulations, hence can't have acted negligent". It's a shit show I don't know how to fix even if I could just magically change laws as compliance rules need technological flexibility, but if you give them that that will be abused to make insecure things pass. And the whole industry around checking that isn't really one who cares about actual security, sometimes outright corrupt (like groups which have the necessary accredited to check your compliance, are strangely more expensive then other groups, and somehow find less issues in average, with some excuse of why that isn't strange ...) :/
---
Lastly similar to how Teams or Slack could easily support FF (^2) but not only don't but outright refuse to try to even work. PayPal likes to act similar and doesn't care about niches. E.g. at least on some Mobile browsers WebAuthn works, but the PayPal website refuses to _even try_ 2FA with WebAuthn on mobile no matter if the APIs are there or not.
(^2): Yes there are some challenges, AFIK especially in certain edge cases most user might never run into. But Jitsi made it work, other smaller apps also made it work. And Jitsi is open source, so they technically can "look up" all the tricks to make it work (algorithmic ticks, not copy-pasting code) or outright just use their system with an appropriate contract (probably would be even cheaper wrt. maintenance cost then building your own system). At Slack/MS Teams scale that behavior is just messed up.
kevin_thibedeau | 15 hours ago
gvurrdon | 14 hours ago
kevin_thibedeau | 14 hours ago
gvurrdon | 14 hours ago
HeyLaughingBoy | 11 hours ago
fluidcruft | 13 hours ago
RunSet | 14 hours ago
A more apt analogy might be game developers who demand admin rights so they can install a rootkit to detect "cheating".
BobaFloutist | 12 hours ago
Similarly, payment processors lose their appeal if they can't prevent people stealing your money, or spending stolen money on your products.
akimbostrawman | 13 hours ago
DANmode | 12 hours ago
and if GrapheneOS was a root-having OS.
wolvoleo | 10 hours ago
The needs of the user don't matter to them at all.
grapheneos | an hour ago
Thankfully, PayPal hasn't banned GrapheneOS and their app still works on it. They accidentally broke compatibility with our secure app spawning feature which has a per-app toggle to disable it along with the other exploit protections which can cause compatibility issues.
There's an overall per-app compatibility mode toggle instead of users needing to figure out which protection is an issue but it's best to figure out the minimal workaround after determining that works.
tonyhart7 | 16 hours ago
I don't think they care at all about the size of graphene os market share
if its jeopardize entire userbase then its not worth it
axegon_ | 16 hours ago
tonyhart7 | 16 hours ago
A financial security audit is one of the most thorough security audits you can ask for in software.
GrapheneOS gets blocked because it doesn’t follow the secure system requirements (root).
inexcf | 16 hours ago
>(root)
GrapheneOS is not rooted.
nekusar | 13 hours ago
They do their damndest to prevent owners from having full control of their property, over claims of 'insecurity'.
And complaints of this nature get inane drivel responses of "lol just fork Graphene"
DANmode | 12 hours ago
This is a really, really poor-quality take.
> complaints of this nature get inane drivel responses of "lol just fork Graphene"
It’s a fork of AOSP, which you can just…use.
nekusar | 12 hours ago
Its only since the smartphone era (2008) with locked down shit devices has this view changed. And people challenging this are somehow defective, tone policed, shamed, or likewise.
GrapheneOS users are treated as 'rooted phones', at the exact same time tools that would attack and prevent corporate surveillance (xprivacy, etc) are withheld cause they would involve root.
Even this thread is full of a lot of anti-owner hand wavey shit that amounts to 'we don't trust our users, and fork you'. https://discuss.grapheneos.org/d/18953-why-the-stigma-agains...
DANmode | 12 hours ago
It is a common userspace decision to lock things to userspace. It’s good hygiene.
If you want less-secure software, use AOSP or one of its many forks.
You’re not defective: you just have different needs and threat model,
and you’re harassing and degrading the public image of a project that’s opinionated in a very welcome way by folks in the security community - especially those who value stability and usability.
dingaling | 10 hours ago
Yes, running in userspace for the majority of tasks is good hygiene.
Preventing the user from ever escalating beyond that layer on their own devices, however, is restricting their freedom to control their device. When that happens with tractors, cars or other gadgets that's considered anti-user. The same attitude should extend to phones.
DANmode | 9 hours ago
You have complete control of the device.
You choose to lock certain things when using GrapheneOS. That’s their security model.
If you want to argue that, go study it and argue that.
If your threat model is different, if your desired security model is different, then: it’s not for you, use one of many other options.
Like all software projects, it doesn’t necessarily exist for you - or anyone specifically.
It’s not harming you for it to exist.
DANmode | 12 hours ago
Leave the abusive relationship with those entities. Don’t lay this at the feet of the GrapheneOS Project.
If you read their FAQ, you’ll see how limited the OS actually is in retaining your privacy if you still insist on using these providers that don’t respect you.
Said another way: stop trying to solve human problems with technical means.
and definitely stop trying to get others to do it for you for free.
Or, continue: I’m not a cop.
preg_match | 11 hours ago
No, that’s called sharing your opinion.
You shared your opinion, someone else shared there’s that just so happened to be “I disagree with you” and suddenly that’s some type of censorship? Nobody is shaming you, either.
axegon_ | 16 hours ago
ruszki | 16 hours ago
Also, I've seen such audits internally, and they don't care about security at all. They care about the theatrics of security waaaaay more.
For example, I was at Santander in 2024, during its huge data breach. Here is the list of actions which are supposed to prevent the same kind of attacks again in the future:
-
Yeah, it's an empty list.
But of course, they made our life more difficult. In the end, I literally had more permission than before, because they were even sloppier than before. But of course, I had to change my password more frequently, and I had to type it about 5x more.
fluidcruft | 13 hours ago
dylan604 | 16 hours ago
ravenstine | 11 hours ago
matheusmoreira | 15 hours ago
xnx | 13 hours ago
RobotToaster | 13 hours ago
exe34 | 12 hours ago
1vuio0pswjnm7 | 12 hours ago
"OS that user compiled herself" can avoid this nonsense
No "smallcorp" is safe from Silicon Valley "largecorp" for long with the amounts of money SV largecorp can, and will, offer smallcorp if smallcorp grows. SillyCon Valley "largecorp" wants data about/from users, not users' money
"Safe way to make sure I'll stop being your customer - also YES!"
The user is not SV largecorp's customer
fmajid | 11 hours ago
axegon_ | 9 hours ago
grapheneos | an hour ago
It's because PayPal shipped an update with incorrect anti-tampering code incompatible with secure app spawning. It can be worked around with the per-app secure app spawning toggle until they fix it.
The first thing to try when an app doesn't work is trying the per-app exploit protection compatibility mode. That sets all the per-app exploit protection toggles to the compatibility mode. If that works which is likely the problem, it can be narrowed down.
Nearly all Android apps are compatible with GrapheneOS. The exception are around 10% of banking and government apps which use the Play Integrity API to ban using a non-Google-approved device or OS. That's visible to users on GrapheneOS via a Play Integrity API usage notification. After the first use by an app, GrapheneOS provides a menu for blocking using the Play Integrity API which sometimes gets apps working because many don't enforce it working. It's not fully reliable and can have downtime so apps often don't enforce providing a result.
gnoll_of_gozag | 17 hours ago
qingcharles | 13 hours ago
grapheneos | 59 minutes ago
Aachen | 10 hours ago
grapheneos | an hour ago
We have per-app toggles for exploit protections known to have compatibility issues. Secure spawning wasn't expected to cause any compatibility issues so we didn't have a per-app toggle for it until recently but it's available now.
sdcfgy | 17 hours ago
grapheneos | 52 minutes ago
PayPal's app still works with our per-app secure spawning toggle disabled. It's a bug in their anti-tampering code.
bit1993 | 17 hours ago
kissiel | 17 hours ago
WCSTombs | 17 hours ago
pirates | 16 hours ago
kissiel | 14 hours ago
nicman23 | 17 hours ago
grapheneos | 53 minutes ago
There's an overall per-app compatibility mode toggle instead of users needing to figure out which protection is an issue but it's best to figure out the minimal workaround after determining that works.
tombardier | 17 hours ago
grapheneos | 34 minutes ago
Kwpolska | 17 hours ago
rciorba | 17 hours ago
One of the ladies at daycare is leaving? Here's a paypal link to chip in for a good-bye present.
Split a take-out order with a German friend, but he paid? Here's his paypal to send him your share.
It's just assumed that everyone has paypal over here...
iammrpayments | 17 hours ago
netsharc | 17 hours ago
fuzzy2 | 16 hours ago
master-lincoln | 16 hours ago
crote | 16 hours ago
One-off SEPA Direct Debit is virtually unheard of, recurring payments are a bit more common but usually involve a €0,01 payment to prove ownership of the account. The transactions are also trivial to undo, and can only be initiated by companies.
So no, "IBAN fraud" isn't a thing in practice. You can safely share your IBAN with your friends for instant free wire transfers.
c7b | 16 hours ago
[0] https://www.europeanpaymentscouncil.eu/what-we-do/sepa-direc...
skinfaxi | 16 hours ago
rciorba | 16 hours ago
But for the small person-to-person type thing, paypal is the defacto here (sadly).
mr_mitm | 15 hours ago
carlosjobim | 14 hours ago
socksy | 13 hours ago
mr_mitm | 13 hours ago
The whole "I pay this time you pay next time" is already covered by "everybody brings a case once in a while", but if the guys without cars just ask someone else to pay for it when it's their turn it won't add up.
If you're going to make assumptions, perhaps start with those that don't paint me in a bad light.
carlosjobim | 12 hours ago
If this was a long time friend, I'd let it slide. It's just a case of beer, and in Germany beer is dirt cheap. If this was a new acquaintance, I'd let it slide and take note that it's not a person to make friends with.
> If you're going to make assumptions, perhaps start with those that don't paint me in a bad light.
Good point. But all of this isn't a problem of payment systems, but of people's behaviour.
drabbiticus | 13 hours ago
I know many adults who believe that splitting bills is a normal and reasonable thing to do.
carlosjobim | 12 hours ago
drabbiticus | 12 hours ago
cloudie78 | 16 hours ago
OroPla | 15 hours ago
dewey | 12 hours ago
OroPla | 12 hours ago
Depending on which state you are in, your experience can be vastly different.
All the states used to be kinda independent two hundred years ago. Including having different currencies. Unification happened 1871. Bismarck and later Hitler kinda brought the nation together, but after losing two world wars national pride got frowned upon and having the iron curtain cut through the country didn't help in fostering a German identity, either. Reunification was only 36 years ago. Though, about a third to maybe half of the German territory remains lost after losing the wars. Instead we got the EU. The more things change, the more they stay the same.
It's always funny to see foreigners make fun of German supposed clichés that I never had any exposure to whatsoever, like Lederhosen, which is only a thing in Southern Germany.
drdexebtjl | 13 hours ago
DemetriousJones | 17 hours ago
fg137 | 16 hours ago
dylan604 | 16 hours ago
iamnothere | 16 hours ago
k4rli | 12 hours ago
vlyan | 17 hours ago
dewey | 16 hours ago
There's some countries with very bad financial sector where your option is PayPal or Western Union as the local banks don't know how to do international transfers, Remitly doesn't support all countries and Wise also doesn't work. PayPal works, even if they charge fees.
cloudie78 | 16 hours ago
kalleboo | 15 hours ago
cloudie78 | 14 hours ago
dewey | 15 hours ago
It was a big reality check for me usually living in Germany and having access to a lot of banks and modern neo-banks.
FireBeyond | 13 hours ago
dumberquestions | 11 hours ago
qingcharles | 14 hours ago
onion2k | 17 hours ago
Hanlon's Razor is a useful tool. https://en.wikipedia.org/wiki/Hanlon%27s_razor
redleader55 | 16 hours ago
onion2k | 16 hours ago
I've been called worse.
basilikum | 16 hours ago
This is evil in itself.
bossyTeacher | 16 hours ago
fylo | 16 hours ago
glitchc | 13 hours ago
grapheneos | 54 minutes ago
4chandaily | 16 hours ago
folkrav | 16 hours ago
y-curious | 16 hours ago
onion2k | 16 hours ago
Jokes on you though, I'm neither of those things.
skinfaxi | 16 hours ago
grapheneos | 55 minutes ago
Several of the more aggressive exploit protections are enabled for the base OS but are opt-in for user-installed apps. Memory tagging should work with all user installed apps but is opt-in because it's so good at detecting invalid memory accesses and uncovers a lot of bugs. Dynamic code loading via storage, dynamic code loading via memory and native debugging are allowed by default since a significant fraction of apps need those and it's not usually a bug. Users can set those as enabled by default for user installed apps which is particularly recommended for memory tagging but then people need to deal with the incompatibilities. The defaults don't cause issues with most apps so not everyone is aware of the per-app toggles.
Grisu_FTP | 17 hours ago
Funnily enough, the only way to hide those detections was to Root my phone... And i still remember when i had an appointment there, they wanted to see something in my Bank app, i opened it (and i assume it had an update since i then last used it) and a big "THIS DEVICE IS NOT SUPPORTED. ROOT IS NOT SUPPORTED" poped up
But was as simple as readding the bank app to my root hiders.
but still, i hate this security theater
ThomasGlanzmann | 17 hours ago
7r33 | 16 hours ago
grapheneos | an hour ago
savwolf | 16 hours ago
depressedpanda | 16 hours ago
microsoftedging | 12 hours ago
Flere-Imsaho | 12 hours ago
https://grapheneos.social/@GrapheneOS/117045625230764434
grapheneos | 50 minutes ago
grapheneos | 50 minutes ago
Have you tried the per-app exploit protection compatibility mode or the finer-grained toggles for those apps? 90% of banking apps work on GrapheneOS but MANY have problematic anti-tampering code requiring the per-app compatibility mode.
hoshi73 | 16 hours ago
grapheneos | an hour ago
ButlerianJihad | an hour ago
grapheneos | an hour ago
You can help by upvoting the update they posted with the solution:
https://news.ycombinator.com/item?id=49462575
dennemark | 16 hours ago
I use latest Aurora Store PayPal version and it still works. I just dont use contactless payment.
hashworks | 16 hours ago
grapheneos | 39 minutes ago
grapheneos | 38 minutes ago
StrLght | 16 hours ago
I had to update exploit protection after their latest update — I think it was enabling dynamic code loading via both memory and storage that did the trick.
Edit: checked now, I have also disabled secure app spawning.
Retr0id | 16 hours ago
(Rather than something fundamentally incompatible, like them using Play Integrity)
StrLght | 16 hours ago
IMO headline is very misleading, and OP should have tried disabling all exploit protection options before jumping to any conclusions. PayPal isn't actively trying to block GrapheneOS as of now.
skinfaxi | 16 hours ago
iamnothere | 16 hours ago
StrLght | 15 hours ago
It reduces security of the app itself, but doesn't affect security of the phone by much.
grapheneos | an hour ago
codethief | 11 hours ago
grapheneos | an hour ago
Secure spawning doesn't cause compatibility issues with non-buggy apps (unlike blocking dynamic code loading via memory/storage or native debugging) and apps rarely have issues with it (unlike memory tagging, which finds lots of bugs) so it's on by default.
anonymousiam | 16 hours ago
https://arstechnica.com/gadgets/2026/08/motorolas-grapheneos...
master-lincoln | 16 hours ago
grapheneos | 51 minutes ago
bdzr | 16 hours ago
StrLght | 16 hours ago
I also get why they'd be desperate to fight bots. It's a weak excuse for not doing it better, but at least it makes some sense.
microtonal | 13 hours ago
So, best to grow the user base fast now and let every user send a complaint for every app that gets blocked. A few million users will be harder to ignore.
silisili | 9 hours ago
grapheneos | 52 minutes ago
doublerabbit | 16 hours ago
zache6 | 16 hours ago
grapheneos | 43 minutes ago
It may also require dynamic code loading via storage, dynamic code loading via memory and native debugging being permitted but those aren't blocked for user installed apps by default. People can opt-in to those being enabled by default for user installed apps similarly to memory tagging, but memory tagging has the biggest positive impact.
prartichoke | 16 hours ago
grapheneos | 54 minutes ago
schnittbrot | 16 hours ago
aframemodular | 16 hours ago
grapheneos | 46 minutes ago
taegee | 16 hours ago
grapheneos | 41 minutes ago
You may also not have the update yet. Play Store supports staged rollouts where updates are only available to a set percentage of users.
jordand | 16 hours ago
grapheneos | 35 minutes ago
https443 | 15 hours ago
Helmut10001 | 15 hours ago
grapheneos | 37 minutes ago
varispeed | 15 hours ago
grapheneos | 39 minutes ago
goonersallofyou | 15 hours ago
kova12 | 15 hours ago
grapheneos | 33 minutes ago
PayPal's app does still work on GrapheneOS, they only accidentally broke it with the default settings due to bugs in their anti-tampering code. Disabling the per-app exploit protection compatibility mode works around it. They should fix it and start testing on GrapheneOS.
josephcsible | 15 hours ago
grapheneos | 36 minutes ago
Tap-to-pay is unlikely to be provided via their website and does work on GrapheneOS.
bookofjoe | 15 hours ago
grapheneos | an hour ago
onaclov2000 | 15 hours ago
Retr0id | 15 hours ago
But GrapheneOS isn't root, that's just PayPal's thing being broken.
NoidFonsense | 15 hours ago
kevin_thibedeau | 15 hours ago
grapheneos | 46 minutes ago
If they want to ban arbitrary operating systems, they can use attestation and it can't be fooled the way you're describing. Apps doing this can explicitly verify GrapheneOS and we've convinced some apps to do that. We've also convinced a smaller number to stop doing that at all.
shaky-carrousel | 15 hours ago
Play Integrity API: Not blocked
Hardened memory allocator: Enabled
Memory tagging: Enabled
Extended virtual address space: Enabled
Secure app spawning: Enabled
Native code debugging: Allowed
WebView JIT: Disabled
Dynamic code loading via memory: Allowed
Dynamic code loading via storage: Allowed
dathinab | 14 hours ago
I think this is the problem here.
A lot of NFC related tech is deeply rooted in having "trusted (aka large company)", "attested (aka you can't easily lie)", secure module functionality.
What should have happened is to just not enable the contactless payment functionality for given app, even if the user enabled it in general. And not crash.
Also as others have pointed out, this might be an accidental mishap not an intended outcome.
But it's not like PayPal is known to care about small user-base edge cases (quite the opposite). Which I guess is the actual root problem.
grapheneos | an hour ago
microtonal | 14 hours ago
shaky-carrousel | 13 hours ago
Version 8.107.0
com.paypal.android.p2pmobile
microtonal | 13 hours ago
super256 | 12 hours ago
shaky-carrousel | 8 hours ago
Groxx | 13 hours ago
grapheneos | an hour ago
ethagnawl | 15 hours ago
grapheneos | an hour ago
It's because PayPal shipped an update with incorrect anti-tampering code incompatible with secure app spawning. It can be worked around with the per-app secure app spawning toggle until they fix it.
Itoldmyselfso | 14 hours ago
microtonal | 14 hours ago
Itoldmyselfso | 13 hours ago
microtonal | 13 hours ago
grapheneos | 48 minutes ago
1970-01-01 | 14 hours ago
grapheneos | an hour ago
It's because PayPal shipped an update with incorrect anti-tampering code incompatible with secure app spawning. It can be worked around with the per-app secure app spawning toggle until they fix it.
enos_feedler | 14 hours ago
steveharman | 13 hours ago
edoceo | 13 hours ago
Groxx | 13 hours ago
grapheneos | 48 minutes ago
glitchc | 13 hours ago
chmod775 | 13 hours ago
grapheneos | 41 minutes ago
You may also not have the update yet. Play Store supports staged rollouts where updates are only available to a set percentage of users.
hkt | 12 hours ago
grapheneos | an hour ago
It's because PayPal shipped an update with incorrect anti-tampering code incompatible with secure app spawning. It can be worked around with the per-app secure app spawning toggle until they fix it.
Starling Bank app still works on GrapheneOS too. See here:
https://github.com/PrivSec-dev/banking-apps-compat-report/is...
cactusbee | 12 hours ago
grapheneos | 41 minutes ago
thomasmarton | 10 hours ago
Even tried completely nuking app data and logging in again. Login, security check, fingerprint setup, everything worked (I even got the alert that it used the Play Integrity API)
I assume if anything, this is probably the contactless payments. I do somewhat understand why they are really trying to lock something like this down, but as everyone pointed out, giving the green light to a CVE infested version of Android while prohibiting the use of a version that goes above and beyond when it comes to security is absurd.
grapheneos | an hour ago
Eval-Apply | 9 hours ago
GrapheneOS officially passes only the MEETS_BASIC_INTEGRITY tier of the Google Play Integrity API and fails the MEETS_DEVICE_INTEGRITY and MEETS_STRONG_INTEGRITY levels.
Many banking apps I use in my country require this level plus something from the GPI API, which makes them unusable. You need a regular, unmodified smartphone to use them.
AngryData | 6 hours ago