In retail banking, a common question comes up shortly before a passkey rollout. Many online-banking login pages carry a feature customers have used for years: after a successful login, the bank offers to remember the customer ID in a browser cookie, so the next visit starts with the identifier already in place. For years, nobody questions it. Then passkeys arrive and remove the password step, and the risk and fraud team asks a fair question: if the username is prefilled and the password is gone, does a passkey login become too easy for the wrong person?

Banking Passkeys Report. Practical guidance, rollout patterns and KPIs for passkey programs.
In project calls, the question usually sounds like this:
"On a shared device, if you remember the client ID and you somehow got access to the local biometric, Windows Hello or Touch ID, I can now get into the account without knowing either the username or the password."
The question often has a second root. Many bank security teams run a hard rule against account enumeration: nothing on the login page may reveal that an account or a passkey exists before the customer has typed their identifier. A remembered identifier shows the customer ID before anything has been proven. Two requirements that coexisted peacefully in a password world suddenly look like they contradict each other. The project team then has to either get a "yes, we are fine with this" from risk or document the residual risk and find someone to accept it.
This article provides the analysis for that decision. It answers the questions a risk committee, a fraud team and a product owner will ask when remember me meets passkeys:
Once the data is on the table, the conclusion is straightforward: with passkeys, remembering the identifier is a UX decision. The security decisions live in device binding and step-up.
The cleanest way to isolate the decision is to compare three states a returning customer can be in. Only the third one is new.
| State | Who supplies the identifier | What authenticates |
|---|---|---|
| Current: password and app MFA | Customer types it or the browser autofills | Password, then a push or code in the banking app |
| Option A: passkey, no prefill | Customer types it or the browser autofills | Silent device check, then passkey user verification |
| Option B: passkey and remember me | The bank prefills the opted-in identifier | Silent device check, then passkey user verification |
Option A and option B differ in exactly one respect: who puts the identifier into the field. Everything after that is identical. The device is checked, the passkey ceremony runs, user verification is required and the session is issued. The decision in front of the risk committee is therefore narrow: may the bank prefill an identifier the customer has asked it to remember, or does the customer need to type it or let their password manager autofill it?
In the password world, the username was half of a secret. You needed the username and the password, so remembering the username left one secret standing and it was fair to ask what that cost. With passkeys, the identifier stops being part of the credential at all. Its only job is to tell the server which passkey to ask for. The relying party then verifies a signature that only the private key on that device can produce.
This has a practical consequence for how the feature should be implemented. A remembered identifier must never be treated as proof of identity, as evidence that the browser is trusted or as a completed authentication factor. It is untrusted input the customer could have typed. As long as the design follows this rule, prefilling it does not touch the authentication boundary.
Remember me has a second function that risk discussions often miss. Many banks want a passkey login that starts without the customer typing anything, either automatically on page load or through a one-tap button that shows part of the identifier. Done naively, that leaks account existence: the page behaves differently depending on whether an account with a passkey exists.
The safe pattern ties the identifier-less path to a device the bank has already seen. The following flow shows how the login page decides which path to offer.
If the browser carries the remember-me state or the device-binding handle, the passkey can start immediately. On an unknown device the customer types the identifier first, as today, and the page behaves identically whether or not an account exists. Remove the remembered identifier and you also remove the enumeration-safe way to offer one-tap passkey login. Conditional UI solves the same problem for banks whose security team allows the browser to list passkeys before the identifier is typed, which many banks do not.
One nuance: in business banking, one device often serves several users and services. Remember me has to be opt-in per account and the risk paper should say so explicitly. The analysis below is about the retail case, where the same person logs in to the same account from the same device the vast majority of the time.
When this objection comes up, the working assumption is often that the login page keeps
credentials off the device, because the form sets autocomplete="off" on the identifier
and password fields. That assumption has been wrong since 2014.
"Chrome ignores autocomplete='off' for password fields. This allows the password manager to give more power to users to manage their credentials on websites. It is the security team's view that this is very important for user security."
That is the Chromium team on the chromium-dev mailing list in February 2014. The change
shipped in Chrome 34 and it is still current behavior. Safari, Edge and the third-party
password managers behave the same way in practice: the save prompt appears, the customer
accepts it once and from then on the identifier and the password are released after a
local device unlock. MDN
documents the same behavior: many modern browsers do not support autocomplete="off" for
login fields and still offer to remember the login.
See how many people actually use passkeys.
To verify this, we built a test page that mirrors a typical online-banking login form,
including its autocomplete attributes, and used dummy credentials. The
question for each platform was the same: is the identifier prefilled, is the password
prefilled and does the save prompt appear despite autocomplete="off"?
| Platform | Identifier prefilled | Password prefilled | Save prompt despite autocomplete="off" |
|---|---|---|---|
| macOS · Chrome · Google Password Manager / 1Password | Yes | Yes | Yes |
| macOS · Safari · Apple Passwords | Yes | Yes | Yes |
| iOS · Safari · Apple Passwords | Yes | Yes | Yes |
| Android · Chrome · Google Password Manager | Yes | Yes | Yes |
| Windows · Chrome · Google Password Manager / 1Password | Yes | Yes | Yes |
The test proves browser behavior. How often it happens in practice needs a second data point.
According to aggregate Corbado Credential Intelligence across more than one million logins in August 2026, on user bases comparable to a retail bank, the browser or a password manager supplied the identifier in 15-45% of logins and the password in 35-45% of logins, depending on device class, operating system and browser. Android and Chrome sit at the upper end for identifiers, Apple platforms at the upper end for passwords. More than half of the autofilled passwords were handed over without any password-manager prompt at all, because the device had been unlocked recently enough. If you are interested in the detailed breakdown by platform or by industry, reach out to us.
Both data points contradict the premise of the objection. For a large, measurable share of customers, someone who can unlock the device can already obtain the identifier and the password today, with no passkeys involved. Remember me adds a further copy of the identifier to a device that often holds it already.
A bank login faces three attack classes that matter at scale. Two are credential problems. The third is a device-custody problem, and it is the one the objection is about.
The attacker controls a look-alike page or relays a login through a proxy. Phishing was the most reported scam type in Australia in 2025 according to Scamwatch, and generative AI has lowered the cost of a convincing campaign further.
The attacker runs code on the customer's machine and reads what is stored there. In the first half of 2026 alone, infostealers harvested more than 1.7 billion credentials from over 7.4 million infected devices, according to Flashpoint.
A spouse, a child or a flatmate has the registered device and knows the local unlock. No published frequency data exists for this case, which is part of why it dominates risk discussions: it is easy to imagine and hard to size.
| Attack vector | Password + app MFA | Option A: passkey | Option B: passkey + remember me |
|---|---|---|---|
| Remote phishing | Exposed | Materially reduced | Materially reduced |
| Info-stealer malware | Exposed | Materially reduced | Materially reduced |
| Someone holding the unlocked device | Local unlock may authorize | Local unlock may authorize | Local unlock may authorize |
Both passkey options win outright on the two vectors where the credential is the control. The third vector is a tie across all three columns, and it is the narrowest of the three: it requires physical possession of the device and knowledge of its unlock. Optimizing the design for the tie costs you on the two where passkeys win. The local-access change that does exist comes from relying on device-local verification at all, which is inherent to passkeys and to every banking app already in customers' pockets. It does not come from remembering the identifier.
Igor Gjorgjioski
Senior Product Lead, VicRoads
We hit 80% mobile passkey activation across 5M+ users without replacing our IDP.
See how VicRoads scaled passkeys to 5M+ users, alongside their existing IDP.
Read the case studyThe most useful exercise for a risk committee is to walk the shared-device scenario step by step, once with remember me switched on and once with it switched off.
Remember me on, the feature as it works today:
Remember me off, as risk teams often propose:
The only gate in either path is the device unlock. It is the same gate that already protects the saved passwords on that device, the banking app on that device and, for many customers, the email account that can reset everything else. Switching the feature off removes a typing step and leaves access unchanged. The only person who reliably pays for that extra step is the legitimate customer.
The cost side shows up quickly. If the remember-me cookie stops saving, for example after a login-page release, successful logins can drop and support contacts can rise within days. Few teams have measured how many customers rely on the feature. Removing it costs the customer effort and gains nothing in security.
| Login state | What the customer does | What actually authenticates | What an attacker on an unlocked device faces |
|---|---|---|---|
| Today: password + app MFA | The ID is prefilled, they type the password | The password, a copyable secret, then phishable MFA | The password, which autofill hands over 35-45% of the time |
| No prefill, then passkey | They type the ID, then the passkey starts | The passkey, released by the device unlock | The device unlock |
| Prefill, then passkey | The ID is prefilled, the passkey starts | The passkey, released by the device unlock | The device unlock |
| One-tap passkey button | One click, the passkey starts | The passkey, released by the device unlock | The device unlock |
All three passkey rows land on the same step because the identifier was never the thing being checked.
If remember me is not a control, the natural follow-up from a risk committee is: what is? For a bank subject to APRA CPS 234 or the PSD2 SCA regime, the answer is the same list, and most of it is already in the passkey design. The following overview places each control on the login path, from the untrusted identifier at the front to the step-up on the transaction at the back.
Device binding limits passkey login to devices already linked to the account. It answers the question "what if someone has a device that is not mine?" and narrows the residual case to a device the customer registered and someone in their household who can unlock it. The device-bound versus synced passkey decision belongs in the same paragraph of the risk paper.
User verification must remain required on every
assertion, which WebAuthn enforces through
userVerification: "required".
It is the step that ties the ceremony to a person present at the device. Do
not relax it for remembered devices to speed the flow up, because the remembered
identifier is precisely the thing that must not buy any trust.
Payments to new payees, limit changes, contact-detail changes and passkey enrollment are where a second factor is worth the friction. Front-door MFA spends that friction on every customer at every login, including the majority with nothing at stake in that session. Step-up authentication on the action is also where a household attacker is actually stopped, because the harm is moving money, and that is where the challenge belongs. Securing passkey enrollment is a separate topic, because an attacker who can create a passkey has a persistent, phishing-resistant credential of their own.
New device, new location, unusual velocity, an account that has just changed its recovery details. Challenge the sessions that look different rather than the whole population. Adaptive MFA is what lets the front door stay quiet for the vast majority of logins while still catching the session that needs a closer look.
The enumeration rule from section 2.3 survives intact. The identifier-less passkey path is only offered on a device that carries the remember-me state or the device-binding handle. On an unknown device the page behaves identically for every identifier typed, whether an account exists or not.
For the risk paper, one sentence is enough: the bank never treats a remembered identifier as proof of identity, as browser trust or as a completed authentication factor. It is opt-in, per account, revocable by the customer and it can be cleared by the bank at any time without touching the passkey.
Try passkeys in a live demo.
The argument in sections 3 to 6 is sound, but a regulated entity should not approve a login change on an argument. It should approve it on evidence and keep the evidence flowing after launch. That is where most passkey projects find a gap.
A large bank typically has years of web analytics: hundreds of millions of login-page visits, millions of distinct customers, a clean split by device class, operating system and browser. None of it answers the questions a risk committee asks here. Web analytics explains channel scale and device mix. It does not reveal who supplied the identifier, whether the device-binding check held, which passkey path completed, why a ceremony was abandoned or whether a fraud case followed a particular login.
The rest of the picture sat in five other places: client-side journeys in the front end, device binding and passkey assertions in the authentication backend, sessions in the identity provider, API performance in the SIEM and outcomes in the fraud and support systems. Each system is good at its own job. None of them joins a single login across all of them.
What a risk committee needs is one timeline per login attempt that consumes those existing sources and answers three questions:
This is the same authentication observability need that any passkey rollout has. Remember me just makes it visible earlier, because it is the first feature a risk team asks to see proven.
The controls become measurable once the bank names the numbers and the thresholds that trigger a hold. A workable starting set:
Thresholds are the bank's to set. What matters is that they exist before launch, that someone owns them and that the data can be produced at that granularity. The loop below is the shape the rollout takes once those three things are in place.
For the risk committee, the recommendation fits on one page and can read like this:
Subscribe to our Passkeys Substack for the latest news.
The number that unblocks this decision is the autofill share: how many customers already have the identifier and the password released by a device unlock before passkeys enter the picture. Most banks cannot produce it, because it is a client-side fact that never reaches a server log. Corbado Observe captures that layer on top of the existing login with one script, without touching the authentication itself.
See Login Funnel in Corbado Observe →Corbado Connect is the other half for banks that want the flow itself: the enumeration-safe one-tap passkey login on known devices, with identifier-first on unknown ones, on top of the existing identity stack.
Remember me survived a decade of password logins without anyone asking whether it was a security control, because in a password world it was not: the password stood behind it. Passkeys removed the password and the question finally got asked. The answer, once the autofill baseline is measured and the threat model is written down, is that the identifier was never the thing being checked. The controls that matter are device binding, user verification and step-up on the action and the signal, and all of them are untouched by a prefilled username.
For a regulated entity, the main takeaway is the method. Risk committees block launch features on unmeasured assumptions because nobody brings them a measurement. Bring the baseline, walk the scenario both ways, name KPIs with thresholds and approve with conditions. That decision can be audited, which matters for any change to a bank login.
Corbado is the Passkey Intelligence Platform for large-scale CIAM teams running consumer authentication. We help you see what IDP logs and generic analytics tools can't: where passkeys, passwords, OTP, social login and fallback journeys succeed, stall or fail, which devices and browsers create friction, and when an OS update silently breaks login. Two products: Corbado Observe layers process mining and observability across authentication journeys. Corbado Connect adds managed passkeys with analytics built in alongside your IDP. VicRoads runs passkeys for 5M+ users with Corbado (+80% passkey activation). Talk to a Passkey Expert →
Prefilling the username does not reduce security because the identifier is routing state only. It tells the server which passkey to request, but authentication depends on a device-bound private key. The cryptographic assertion is identical whether the customer types the identifier or the bank prefills it.
The device-custody risk is equal across all three login states: password with app MFA, passkey without prefill and passkey with remember me. Someone who can unlock the device can access the credential manager, which releases the identifier and password after the same unlock. Removing remember me eliminates a typing step but leaves access unchanged.
Device binding prevents any unknown device from completing a passkey ceremony at all. Passkey user verification must remain required on every assertion. Step-up authentication on payments, payee changes and limit changes is where a household attacker is actually stopped, because the harm is moving money and that is where the challenge belongs.
A pre-launch autofill baseline by OS and browser establishes whether the identifier and password are already on the device for the customer base. Post-launch KPIs include passkey reuse rate for remembered versus non-remembered customers, fallback rate to password MFA, support contacts per thousand logins and fraud signals for sessions starting from a remembered identifier.
Related Articles
Table of Contents