yashsingh1/xdaforums huggingface dataset:
[Nexus 5 Q&A, Help & Troubleshooting] uudruid74:
I haven't read the whole thread here, but there is some concern about secure datastore?? Please enlighten me as to what exactly is being stored on the device? And exactly how is the bank taking any risk? I think storing my card on my rooted phone is more secure than being stored in my physical wallet.

I mean, we've read the fluff about security, but it seems more like 'official' wording from Google execs rather than the technical discussion we would hope from a fellow developer.

---------- Post added at 10:24 PM ---------- Previous post was at 10:04 PM ----------

Good point on backups, but I also think removal of useless 'system' apps should also be on that list. How many people have useless and/or obsolete apps taking up space and running background services ? This is obviously a security issue! A particular one that was replaced by Google Wallet comes to mind, but it can't be replaced. Forcing people to have useless crap on their phone makes no sense unless that crap is downloading ads or spying on the user. Having root doesn't make my phone insecure, it allows me to manage my own security rather than the cellular providers, who have no interest in respecting my privacy or reducing my bandwidth usage.

---------- Post added at 10:34 PM ---------- Previous post was at 10:24 PM ----------

Because the door is made of paper, you look like a fool putting a lock on it.

I think there is some other reason for the no-root rule. This smells like the DVD-CCA implementation of CSS. Supposedly to prevent counterfitting, but it didn't stop that. It was about forcing people to watch commercials. I hate advertising and I'm tired of it being shoved down my throat everywhere I turn. If marketing didn't spend billions on ads, they could lower prices.

Watch, we'll find out soon what the real reason is.
[Nexus 5 Q&A, Help & Troubleshooting] socali:
Sensitive data off the device?

Jason, thank you for coming here to explain what is going on!

Since I'm extremely disappointed that Pay is not working on rooted devices by design and since you've asked for constructive ideas to resolve this issue, I am trying to understand the reason for this restriction.

If I understand correctly from your replies quoted above, Pay is designed to store the actual card numbers in a datastore on the device and is exchanging them for a token on demand. Unlike Wallet that was storing a virtual card number, which seemed to work fine from security point of view for rooted devices

I'm not sure about the risk model differences between storing virtual card numbers and actual card numbers in a datastore on the device, and why would one need much greater security model than the other? The end result of stealing either card# (virtual or actual) from the datastore by root access would be unauthorized transaction. Granted, google has better control of the virtual card and could block suspicious transactions.

When Wallet was processing a transaction, I assume it gave the terminal the virtual card# and then went to google's servers and charged the actual card based on the actual info stored there. Undoubtedly, google's payment servers are more secure and better monitored than any end-user device. In that case, why wouldn't Pay app do similar thing -- keep the actual card info on google's servers like today and ask for a tokenized# from the server to provide to the terminal? At this point, both Pay and the server can do risk analysis on the specific transaction and decide whether to approve the request for a token or not. This way no sensitive data is stored on the device.

By removing the sensitive data from the user's device to a controlled and monitored environment, I assume you can relax the security model and go back to similar logic the Wallet app had with app-level authentication.

Looking forward to using Pay on my rooted devices knowing my actual card info is secured by you on google's servers! :)
[Nexus 5 Q&A, Help & Troubleshooting] anthrem:
Perhaps Google ought to use the power of the internet and develop a way to use the app itself as a linchpin on which the transaction turns: the authentication and processing takes place on a server, like the web browsing optimization, and then the internet transmits a payment token to the app, that transmits the information to the NFC reader to pay for my damned Diet Coke. Avoid doing all this on the phone, period, and whether I root or not, simply doesn't matter.

Without being able to use root, I won't use NFC payments anymore. There is evidently no one who will do things the way the old Wallet worked. I am disappointed. I liked using NFC but I won't give up root. I have to have root because I need to flash a kernel that doesn't heat up the Nexus 6 and allows for some kind of power management since unrooted I cannot reach all the data that will help me to know what is going on. I need root so I am able to use the notification light on the Nexus 6 that Google didn't tell us about, or so that I can change the heartbeat to receive messages from Hangouts easier, or everything else that makes it worth the root. I feel like Google doesn't really bother to talk to people and communicate or ask for anything, they don't have to any more. I am still a little sore about Glass so this doesn't help. Plus who thought it was a good idea to use Snapdragon 810 in the Nexus 6P? Probably will skip the next Nexus because they wouldn't choose to wait for the 820....

Thanks for asking, if nothing else. Nice to actually see someone at Google actually try to communicate with users, on any level.
[Nexus 5 Q&A, Help & Troubleshooting] Stryke_the_Orc:
I don't understand all the feelings of betrayal here, honestly. What Google is doing by securing their payments is for your benefit.

Sure, you could rootcloak the app, but how many other apps are on your device, and do you know what permissions each of them is granted? What specifically they are asking to access? The explanation of permissions is far too vague IMO. (Mr. Security Engineer, you wanted am idea, here you go. Elaborate on the permissions. Like why the Subway app wants access to take photos and video (there's not a need for this), or what contents exactly is it reading, writing or deleting from my SD Card?)

Add to that the fact that rooting your devices has become a fad now so everyone "can haz kewl fones". We have people rooting that don't even understand what it is, what it does, or how it works. Taking that into consideration and add in allowing Android Pay to function on a rooted device is a recipe for disaster.

You want a disclaimer? How about the one that is in almost every OP on this site?

[COLOR="Red"][B][I][U]WARNING: Flashing anything on your device is done at your own risk. There is no way myself or any other developer can guarantee that flashing this ROM or any other file will not brick your device or otherwise cause some other type of damage. This is just a standard warning. I am not responsible for anything that you do to your device.[/U][/I][/B][/COLOR]

You have accepted the terms of use from Google when you activated your device, those terms only offer any protection while using OEM firmware, by flashing any modification you have given up any rights/claims to Google services and products. While it's great that Google pays attention to this community and user base, we need to be mindful that we are a miniscule percentage of the overall and that the bottom line is that Android is a business with

millions of users data

in the mix.

The great thing about this platform is that you have choices. So what if Google is protecting themselves by not allowing rooted devices to use this API? There are other apps that will, or maybe, you could just use a damn card. I mean really, how much harder is it to pull out a card and swipe it?

Guess what I'm driving at here is that Google, as a company, is taking steps to protect you, sometimes even from yourselves. Could be worse, so if you're even able to root your device, count yourselves lucky because others aren't so fortunate.

JM2C anyway...
[Nexus 5 Q&A, Help & Troubleshooting] Gungrave223:
I can understand Google wanting to protect the users....but Android without root is simply not a world I want to live in currently...

I love vanilla android..but at the same time there is a lot of simple things that are extremely useful that have existed in the community for years now that simply does not exist in vanilla android. Hell if google gave native support for even RRO I would be a lot happier.

I wish google would start looking at the community more and find out what the most popular custom features the users are using and implement them natively in android.

The first being getting of that unbearable white background everywhere.

Ultimately if I have to choose between android pay and root....I don't see a future where I would choose android pay...
[Nexus 5 Q&A, Help & Troubleshooting] In_:
It's been awfully confusing since the split to New Wallet and Android Pay on a rooted Nexus 6. Still works fine at McDonalds, but gags at Walgreens and Blue Bottle (Square). If Android Pay won't accept rooted phones, then why should it install quietly and successfully? Why should it still work at some venues and stop working with others. I used old Wallet just long enough to really like it.

Bottom line for me: if I can't do all this cool stuff with a rooted Android phone, then the difference between vanilla Android and iOS starts to shrink for me. A lot.
[Nexus 5 Q&A, Help & Troubleshooting] blunden:
So in other words, if someone was to pull down AOSP, generate their own signing keys and build a "user" build for, say, the Nexus 5 (and bunde all the necessary proprietary blobs) and then flash that on the device, it would still not be "good enough" according to SafetyNet (even if the bootloader was locked afterwards)? In that case, saying that the only blocker is the need to pass CTS would be incorrect, wouldn't it? As far as I know, such a build would pass all the actual CTS tests.
[Nexus 5 Q&A, Help & Troubleshooting] pyler:
Maybe a Googler can sum up what a user can do and (s)he would be able to use Android Pay.

So far we know we can root device, remove bloatware and unroot device and Android Pay will work.

What about Xposed framework? We can use it without root. Is it blacklisted? Because there are many very useful mods which fix Android bugs, improves Android experience, solves most "WontFix" Android problems

Can we edit build.prop file? People should know what things trigger "uncompatible Android Pay".

If somebody builds AOSP build e.g. for Nexus 6, Android Pay will not work on such build, yes? Or just Build constants must match stock " Google Anddoid constants?

Can we backup OEM Keystore and place it to our AOSP build to pass check?
[Nexus 5 Q&A, Help & Troubleshooting] niteh@wk:
Thank you Jason for taking the time and explain the reason behind the security model in Android Pay. Now that I know I cannot add a card while running a custom ROM with root, how do I remove the card that I scanned in from Android Pay? It's not on my Wallet account but shown in Android Pay on my device when I click the add button.
[Nexus 5 Q&A, Help & Troubleshooting] WhosAsking:
I think part of it, like I said before, has to do with new PCI rules going into effect in October. The reason this is important is because Google could be held financially liable for stolen card information under these new rules unless Google demonstrates a high degree of attestation to ensure the payment instrument (in this case, the phone) is secure from end to end. That's one reason for the push to Chip cards. The way Android Pay is supposed to work is closer to how a Chip card works using tokenization.

If Google wants to satisfy BOTH the power users AND the PCI, someone needs to come up with a way to ensure a secure program within an insecure (meaning rooted or custom) environment. Last I checked, this is a hard problem in security being seriously examined by some of the biggest minds in the industry as a similar situation occurs on the Internet today (trying to ensure secure communications on an insecure medium, especially during the critical "first contact" phase where the two parties don't know each other yet).

How about a proposal? Today's Android has the capability to store security certificates. Now, most of us don't use this ability; it's usually for high-security enterprise environments, but perhaps something of the sort could be developed as an identity certificate that's unique between the Google user, the phone, and Google itself. Let's say if you want to secure one's identity on an Android phone, Google may send you (out of band) some kind of one-time token that can be input into the phone (how about a small NFC tag mailed to you), then you input some ways to verify your account to Google, then everything's put together into a certificate unique to the phone that says, "OK, we vouch for this phone and this user." And then Android Pay can secure itself against this certificate. This would not preclude a device with multiple users (since the certificate is unique per user) or multiple devices (though each one would have to be vouched separately). It should also be possible to perform backups of our system, so long as we don't change it (which would require a new authentication); this is one reason I prefer rooting: to install custom recoveries that allow me to back up. I can speak from experience that it's saved me several times from very strange crashes and reboots.

Now, I may be missing a trick or some issue here. If I am, spell it out and we can discuss the matter further. But what do you think? Some form of remote authentication predicated on a single user and system configuration that can be checked at both ends before establishing trust?
[Nexus 5 Q&A, Help & Troubleshooting] bobby janow:
With chips on every card in the world now who in their right mind would bother with either Android Pay or Apple Pay? It's a silly gimmick that only power users might even attempt yet power users are locked out. Package it up and throw it away, it has become a bad joke. And an insecure one at that. There is going to be a way to get it to work via some kind of scheme (read root cloaker) and then everything will be compromised and the stock price will drop because of liability issues. Save yourselves the trouble and ditch this awful idea. Besides the fact that when you try to use it and it doesn't work 80% of the time and people behind you on line think you're a jerk because you had to pull out your wallet anyway... well I rest my case.
[Nexus 5 Q&A, Help & Troubleshooting] Citizen_Snips:
Wasn't that the idea behind that movie iRobot? There's already enough Google/Skynet jokes floating around. :p

I wouldn't say I feel betrayed by Google on this matter. Maybe if they ceased to make their phones unlockable or rootable at all- that would be a huge betrayal.

This is just a huge inconvenience. Like I said earlier, I was tapping to pay in 2012 and a loss of functionality seems like a step backwards (regardless of the reason). Is it hard to pull out a wallet, open it and swipe my card? NO. However, the technology exists and it would be nice to use it.

I was so excited for Android Pay when I read somewhere it will be Wear compatible so I could use a smartwatch (with NFC tech) to pay at a terminal without ever having to pull out my wallet or phone. That was a major factor when deciding what watch to replace my Moto 360 with - now it will be none. The benefits from root are way too great. Android Pay just doesn't bring enough to the table after its functionality was stripped and put in "New Wallet" to go back to a bare stock device.

As it stands now, I will never use Android Pay. Without that I won't upgrade to a new Wear device. I still think the Moto 360 is the best looking watch so far. I'll probably even skip out on this years TBA nexus device because as previously stated, they probably didn't wait for the 820. Sorry I kind of went off track, but yikes

Hugely disappointed from Google this year. I don't want to come off like "Hey, I can't tap and pay? OK then I'm boycotting your products" because that isn't my intent. However as a consumer my #1 (and really only) reason for wanting to buy a new smartwatch was to use it for Android pay, but if that's not going to happen then I do not need a new watch.

I think it's awesome that a Google engineer actually took the time to reply to so many people (and thank for you that, we as a community really appreciate it so much!!) I also think that we should still be able to use tap and pay, even if it is the old method. Maybe they could reemerge the 2 apps back into AP and make the New Wallet the Old Wallet and rooted users can do that. Or just bake features from custom ROMs into stock. :p Thanks for coming to enlighten us on the matter.

Oh and I also agree on an updated disclaimer. The whole time I was able to install AP from apkmirror (before Googles rollout) I was waiting for it to suddenly start working one day. Same with each update it got from the store. "Android Pay will never work with a device that has been unlocked, rooted or flashed with custom firmware" would be nice.
[Nexus 5 Q&A, Help & Troubleshooting] Stryke_the_Orc:
Fuuny, half the people crying about Google being Skynet, also took the Windows 10 upgrade...

See where I'm going here? :silly:
[Nexus 5 Q&A, Help & Troubleshooting] Citizen_Snips:
Kind of, not really. I wasn't really making that reference myself, just acknowledged its existence.

I'll just say that I am one of those people who believes that people should NOT have their freedoms and liberties stripped away from them in the name of security. That goes for my rights as an American citizen as well as for tap and pay. Big or small, it's a matter of principal.

I mean why not have Android Pay and the old Wallet? You can name it Wallet(Root), or maybe "Pay With Root". If Google is so open and grateful to the community, why not put out some root apps for us, huh?

I appreciate Google's attempt to protect me, but in the roughly 3 years of using Wallet on literally a daily basis, I have never had a single issue. Not 1 NSF dispute, no fraudulent activity, etc. If it isn't broken don't fix it. It was working fine.

Then, as you put it, Google decided to protect my from myself? Because I had so many problems before? Gee, thanks for that Google. I am sure that when I am on my death bed and I never had any fraudulent AP actions, I will thank you for that with my last breath. I understand some banks just WILL NOT sign on without these measures in place, and that's fine, but what about the old option for us? Why phase it out of it is a solution for root users?
[Nexus 5 Q&A, Help & Troubleshooting] b0neyard:
I agree with consensus opinion here, that if I have to choose, having root will win every time.
[Nexus 5 Q&A, Help & Troubleshooting] dragonboydbboy:
1) thank you to the Google engineer for taking the time to reply to this thread! That's awesome

2) my favorite functionality and use for Google wallet was storing gift and loyalty programs. Since Android pay dropped, I cannot even use that.

Yes, its a bummer to not be able to tap and pay, its always fun to impress people in the checkout line with "the future."

But as I mentioned, it would be nice to still use Android pay to store my loyalty programs, even if I cannot use tap to pay.

Just my 2 cents and wishes for the future of the app.

Cheers!
[Nexus 5 Q&A, Help & Troubleshooting] Stryke_the_Orc:
The sad reality of it is this: They are operating a business, rooted users are a very,very small portion of their consumers. Businesses rely on partnerships and contracts to survive, they would have neither without enforcing security measures for something as sensitive as payment details and consumer information.

This has nothing to do with freedoms and liberties, you know why?

You are not guaranteed under any form of civil liberty, congressional act or constitutional right, the right to pay with NFC

. This is simply a company protecting their assets and interests by reducing the attack vectors and likelihood that a breach of consumer data will occur. Rooted users are more susceptible to malicious applications because we bypass the security measures in place. Ever heard of Dendroid? Look it up. Applications built with this "tool" actually made it past Bouncer and on to the Play Store, now think about downloading an app from these forums or any others. Do you know what the vague permissions you grant an app truly are giving access to? Look at Stagefright, if that exploit can access your system without you being rooted, and do so without alerting you, imagine what a malicious application can do with a rooted device!

Meanwhile, Google and other large companies continue to snatch up your information, strip away your actual protected right to privacy, and sell it to the highest bidder. I don't see anyone protesting online shopping or the internet in general, no, because the ability to pay with a freaking smart watch is a higher priority for rooted users! When will people wake up? Stop being distracted by the new shiny things or the small things that you can no longer do, and start taking back

your information, your privacy

!

People need to realize that everything you've done on every device you own, everywhere you've gone (online and across the globe), every keystroke or swipe of a screen for the last X amount of years, has been collected, catalogued, stored and sold to anyone with the desire to own it. In comparison, I'd rather be stripped of "rights and liberties" to pay with Android Pay.
[Nexus 5 Q&A, Help & Troubleshooting] jimbobalu:
How to Remove?

Since Android Pay appears to be useless for rooted users how do we or can we remove it? I've searched and cannot find an answer.

Thanks
[Nexus 5 Q&A, Help & Troubleshooting] russjr08:
Umm, not to be a debbie downer or such, but you do not have any guaranteed "rights" to use Tap and Pay, that's preposterous. Tap and Pay is a product developed by Google (Well, in it's usable form of Android Pay / Google Wallet), and they can decide at will whether you, or someone else gets to use it or not use it.

A lot of mod/ROM developers here on XDA allow you to use their work personally, but they explicitly state that you are not able to redistribute it yourself. This is not a breach of your "rights", it doesn't impede any of your basic freedoms, and since the work isn't yours, you don't have 100% control of it.
[Nexus 5 Q&A, Help & Troubleshooting] lollyjay:
If it doesn't work on rooted phones then you should block it from downloading!
[Nexus 5 Q&A, Help & Troubleshooting] WhosAsking:
One reason for the change to Android Pay is to change the contactless payment system to a tokenized system similar to how Chip cards work. That's why your bank has to be involved in the process now. This tokenization system also works by nonces, so it prevents a replay attack. Basically, this raises the security of contactless making it closer to Chip, with the added benefit that you don't have to keep something out and in a reader during the transaction. For small-ticket items, this would be preferable to keeping a wallet and card out that can be snatched during a larger window of opportunity. I know I keep my phone within very easy reach: easier than my wallet, so I prefer using it for casual purchases.
[Nexus 5 Q&A, Help & Troubleshooting] DAVe3283:
...you're rooted. There are a million ways. The most noob friendly way is probably with Titanium Backup.

As for the security of being rooted, I don't see how it makes you less secure. Yeah, you can install malware to steal your info, but that's why you should be very careful granting root requests. Any malware that exploits an existing bug (e.g. stagefright) can get root through the exploit, so being unrooted doesn't protect you at all.

My main complaint is that I, and many others, use root to secure our phones (limit what apps run when, revoke permissions, spoof API calls to return safe/generic data, etc). It would be a huge step backwards to lose that for the sake of Android pay. Even Marshmallow's permission model doesn't help, as legacy apps use the legacy permissions, and new apps get a horrifying amount of permissions w/o user interaction.