Skip to main content

Log in with a passkey instead of a code

A passkey logs you in with your fingerprint, your face or your device's screen lock instead of a one-time code. You stop waiting for an email, and there is nothing to type.

This is still not a password. Zooza has never had passwords and still does not. A passkey is a key your device keeps and unlocks with your fingerprint or face; the secret part never leaves the device and is never sent to Zooza. It also only works on the exact website it was made for, so it cannot be handed to a fake login page.

One-time codes keep working everywhere, for everyone, always. A passkey is a shortcut, never a requirement. Nobody can be locked out by it.

Both you and your clients get this: you in the Zooza app, they in the booking form and their client profile.

Set up your own passkey​

After a login code. The next time you log in with a code, Zooza shows a full-screen offer — Sign in faster with a passkey. Press Set up passkey, confirm with your fingerprint, face or device PIN, and it is done.

The other two buttons do different things, and the difference matters:

ButtonWhat happens
Set up passkeyCreates the passkey and takes you into the app
Not nowTakes you in and asks again at your next code login
Keep using codesTakes you in and stops asking

Any time, from your profile. Go to your name (top right) → My profile and find the Passkeys card.

The Passkeys card on My profile, with the Add passkey button

Press Add passkey and confirm. If you pressed Keep using codes earlier, this is how you set one up anyway — the offer screen does not come back on its own.

The offer only appears if you have no passkey for that address yet. One is enough — your password manager carries it to your other devices.

Log in with it​

On the login screen, two things change once you have a passkey:

The Zooza login screen with the email field and a Log in with passkey button

  • Click into the email field and your browser offers the saved passkey straight away. Pick it and you are in.
  • Or press Log in with passkey and skip the email entirely.

You land exactly where a code login lands. Your role, your company and your permissions are unchanged — the passkey only replaces the code.

Your clients get the same thing​

Where they are offered one. After a client logs in with a code, a small card appears in their profile. It never blocks a booking.

The client profile card reading Log in faster next time, with Create a passkey and Not now

Careful — Not now means something different here. In the client profile, Not now stops the offer for good. In your admin app, Not now means "ask me again" and Keep using codes is the one that stops it. If a client says they dismissed it by accident, they can still add one from their profile.

Where they can use one. Everywhere they log in today:

  • the log-in step of the booking form, where they enter an email or phone number — they stay on the page and keep everything they already picked;
  • the client profile login.

In both places the browser offers the saved passkey as they click into the field, and there is a Log in with a passkey link as well.

Where they manage them. In their client profile, press More and pick Passkeys.

The client profile Passkeys page listing two passkeys with Rename and Delete, and an Add a passkey button

They can Add a passkey, Rename or Delete, exactly as you can. Two details are worth knowing before a client asks:

  • Passkeys name themselves after the day they were made — Passkey 14/11/2026. That is a placeholder, not a device name, so a client with two is looking at two dates and nothing else. Tell them to Rename them to Phone and Laptop.
  • A fresh one reads Last used: Not used yet. That is correct and not a fault — it changes the first time they actually log in with it.

Nothing changes for guests. Continue as guest works as before, and so does every code and magic link.

What a passkey is tied to​

A passkey only works on the web address it was created on. This is what makes it unphishable, and it is behind almost every question you will get.

For you and your team, that address is your region's app:

Your regionYour passkeys live on
Europezooza.app
United Kingdomuk.zooza.app
Middle East and Asiaasia.zooza.app

A passkey made on one does not work on another — they are separate systems, not just separate addresses. If you work across regions, make one on each.

For your clients, it is the website address saved with your widget, in Team & Settings → Publish. Two consequences worth knowing before someone reports a fault:

  • If you change that address, their passkeys stop working. They are not deleted — they simply are not offered any more. Clients fall back to a code and are offered a new passkey on the new address. Change the address back and the old ones work again.
  • If your widget's address is not a real website address, passkeys are quietly off for your clients and codes work as before. Nothing breaks, but nobody is offered one.

Running a network? Companies whose widgets sit on one shared address share the passkey. A client who creates a passkey on the central website is signed in by the same passkey on a branch's widget, once they are that branch's client too. They never need a second one.

Across devices​

Zooza does not sync passkeys — your password manager does. iCloud Keychain, Google Password Manager, 1Password and the rest carry the passkey to the other devices signed into the same account.

If you mix ecosystems — say Google Password Manager on a Windows laptop and Safari on an iPhone — the passkey may not travel. Log in with a code once on the new device and create a second passkey there. There is no limit on how many you have.

When the passkey option does not appear at all​

This is normal in several situations, and in all of them codes work as usual:

  • An old browser, or any browser without passkey support.
  • A page that is not secure (http:// rather than https://).
  • The widget sitting inside a frame. Some website builders wrap an embedded widget in an iframe. Zooza detects it and shows code login only.
  • While you are viewing Zooza as somebody else during a support session. You can see their passkeys but cannot add, rename or delete one — only the account holder can.

The email everyone gets​

Every new passkey triggers a security email — A new passkey was added to your account — naming the passkey, the date and the IP address, with a link to manage them.

  • You and your team get it from Zooza.
  • Your clients get it from you — your sender address and your branding.

It is a security notification, so it is always sent and cannot be switched off. If someone receives one they did not expect, they should delete that passkey immediately and tell you.

Removing a passkey​

In My profile → Passkeys (or, for a client, their profile), each one shows its name, when it was created and when it was last used. Rename relabels it; Delete passkey removes it.

Deleting never locks anybody out. The one-time code is still there. Delete a passkey when a device is lost, sold or handed on.

What a client is telling you when they quote an error​

These come straight from the login screen, so the wording will match what they send you.

What they seeWhat it meansWhat to tell them
Passkey login isn't available here.Passkeys cannot run on this page — an old browser, a frame, or a widget address that cannot carry themLog in with a code; nothing is wrong with their account
This passkey can't be used on this website.The passkey belongs to a different address — usually your widget address changedLog in with a code, then create a new passkey when offered
We don't recognise this passkey.Zooza has no such passkey for this website, or they are not yet a client of this particular companyLog in with a code once; the passkey works afterwards
The passkey request has expired.They left the prompt open too longTry again
We couldn't verify your passkey.The check failedTry again, or log in with a code
This passkey is already saved to your account.They are adding a passkey the device already holdsNothing to do — the existing one works

If someone simply cancels the fingerprint or face prompt, nothing is shown at all and the code login is still sitting there. That is deliberate.