Skip to content

Passkeys

Passkeys in the Guard Dog plugin enable passwordless authentication using biometrics (Face ID, Touch ID, fingerprint) or hardware security keys. This modern authentication method is more secure and convenient than traditional passwords.


Overview

What are Passkeys?

Passkeys are a passwordless authentication technology built on the WebAuthn standard. Instead of typing a password, users authenticate using:

  • Biometrics – Face ID, Touch ID, Windows Hello, fingerprint readers
  • Hardware Keys – YubiKey, Titan Security Key, other FIDO2 devices
  • Device PINs – Fallback when biometrics unavailable

Benefits over passwords:

  • Phishing-resistant – Passkeys are bound to specific websites
  • No password reuse – Each passkey is unique per site
  • No password theft – Nothing to steal from server breaches
  • Easier for users – Just touch fingerprint or look at camera
  • Can bypass 2FA – Single authentication step with strong security

How Passkeys Work

  1. Registration – User creates a passkey on their device
  • Device generates public/private key pair
  • Public key sent to server and stored
  • Private key never leaves the device
  1. Authentication – User logs in with passkey
  • Server sends challenge
  • Device signs challenge with private key
  • User verifies with biometric/PIN
  • Server validates signature with public key

The private key is protected by the device’s secure enclave and never transmitted.


Requirements

Server Requirements

  • HTTPS required – WebAuthn only works over secure connections
  • Modern PHP – PHP 8.1+ (Guard Dog requirement)
  • WordPress 5.9+ – For compatibility

Browser Requirements

Passkeys are supported in all modern browsers:

BrowserMinimum Version
Chrome67+
Firefox60+
Safari13+
Edge79+
Opera54+

Device Requirements

  • macOS – Touch ID or password
  • iOS/iPadOS – Face ID, Touch ID, or passcode
  • Windows – Windows Hello (face, fingerprint, or PIN)
  • Android – Fingerprint or screen lock
  • Hardware Keys – Any FIDO2/WebAuthn compatible key

Configuration

Navigate to Guard Dog → Login Security → Passkeys to configure:

Basic Settings

Enable Passkeys:

  • Default: Disabled
  • Description: Allow users to register and use passkeys
  • Recommendation: Enable for modern, security-conscious sites

Bypass 2FA with Passkeys:

  • Default: Enabled
  • Description: Users with passkeys skip the 2FA step
  • Rationale: Passkeys already provide strong authentication
  • Recommendation: Enable for better user experience

Require User Verification:

  • Default: Enabled
  • Description: Require biometric or PIN for each login
  • Recommendation: Keep enabled for security

User Guide: Setting Up Passkeys

Registering a Passkey

  1. Log in to WordPress with your current method (password + 2FA)
  2. Go to Profile – Navigate to Users → Profile
  3. Find Passkeys Section – Scroll to “Passkeys” area
  4. Enter Friendly Name – Give your passkey a recognizable name
  • Examples: “MacBook Pro”, “iPhone”, “YubiKey”, “Work Laptop”
  1. Click “Register Passkey”
  2. Complete Device Verification
  • Touch fingerprint sensor, or
  • Look at Face ID camera, or
  • Enter Windows Hello PIN, or
  • Touch hardware security key
  1. Success! – Your passkey appears in the list

Logging In with Passkeys

  1. Go to Login Page – Standard WordPress login URL
  2. Click “Sign in with Passkey” – Button below login form
  3. Select Passkey – Browser shows available passkeys
  4. Verify Identity
  • Touch fingerprint, or
  • Face ID scan, or
  • Enter PIN, or
  • Touch security key
  1. Logged In! – Redirected to admin dashboard

Managing Passkeys

View Your Passkeys:

  • Go to Users → Profile → Passkeys
  • See all registered passkeys with:
  • Friendly name
  • Created date
  • Last used date

Rename a Passkey:

  1. Click “Rename” next to the passkey
  2. Enter new name
  3. Save changes

Delete a Passkey:

  1. Click “Delete” next to the passkey
  2. Confirm deletion
  3. Passkey is permanently removed

Important: Keep at least one passkey or ensure you can still log in with password!


Multiple Passkeys

Users can register multiple passkeys for different devices:

Recommended Setup:

  • Primary Device – Main laptop/desktop (e.g., “MacBook Pro”)
  • Mobile Device – Phone for on-the-go (e.g., “iPhone 15”)
  • Backup Device – Secondary device or security key (e.g., “YubiKey”)

Benefits:

  • Access from any registered device
  • Backup if one device is lost
  • Different devices for different locations

Passkeys and 2FA

Default Behavior (Bypass Enabled)

When “Bypass 2FA with Passkeys” is enabled:

Login MethodAuthentication Steps
Password only1. Password → 2. 2FA Code → Logged in
Passkey only1. Biometric → Logged in
Password + Passkey availableUser chooses method

Bypass Disabled

When “Bypass 2FA with Passkeys” is disabled:

Login MethodAuthentication Steps
Password1. Password → 2. 2FA Code → Logged in
Passkey1. Biometric → 2. 2FA Code → Logged in

Most sites should enable bypass since passkeys already provide strong authentication.


Security Considerations

Why Passkeys Are Secure

  1. Cryptographic Keys – Uses public key cryptography, not shared secrets
  2. Device-Bound – Private key never leaves the device’s secure enclave
  3. Phishing-Resistant – Passkeys are bound to specific domain names
  4. No Password Database – Only public keys stored on server
  5. User Verification – Requires biometric or PIN for each use

What’s Stored on Your Server

Guard Dog stores:

  • Credential ID – Unique identifier for the passkey
  • Public Key – Used to verify signatures (safe to store)
  • Metadata – Friendly name, creation date, last used

Not stored:

  • Private key (never leaves device)
  • Biometric data (stays on device)
  • Any sensitive cryptographic material

Account Recovery

Passkeys don’t replace passwords entirely. Users should:

  • Keep password as backup
  • Register multiple passkeys on different devices
  • Have recovery codes for 2FA

If a user loses all passkeys:

  1. Log in with password + 2FA
  2. Register new passkey
  3. Delete old passkeys if lost device

Activity Logging

Passkey events are logged in the Activity Log:

EventDescription
passkey_registeredNew passkey created
passkey_loginUser authenticated with passkey
passkey_login_failedPasskey authentication failed
passkey_deletedPasskey removed from account
passkey_renamedPasskey friendly name changed

View logs in Guard Dog → Activity Log.


Common Use Cases

Security-Conscious Organization

Scenario: Company requiring strong authentication

Configuration:

  • Enable passkeys
  • Require user verification: Enabled
  • Bypass 2FA: Enabled (passkeys are sufficient)
  • Encourage all staff to register passkeys

Developer/Tech Site

Scenario: Users comfortable with modern auth

Configuration:

  • Enable passkeys
  • All settings enabled
  • Prominently feature passkey option on login

Mixed User Base

Scenario: Some users tech-savvy, others not

Configuration:

  • Enable passkeys
  • Don’t require passkeys
  • Keep password + 2FA as default
  • Passkeys as opt-in for advanced users

Troubleshooting

Passkey Registration Fails

Symptoms: Error when trying to register passkey

Check:

  1. HTTPS Required
  • WebAuthn only works over HTTPS
  • Check your site uses https://
  1. Browser Support
  • Try Chrome, Firefox, Safari, or Edge
  • Update to latest version
  1. Device Support
  • Verify device has biometric or PIN capability
  • Check security key is FIDO2 compatible
  1. JavaScript Errors
  • Open browser console (F12)
  • Check for error messages

Passkey Login Button Missing

Symptoms: No “Sign in with Passkey” on login page

Check:

  1. Feature Enabled
  • Go to Guard Dog → Login Security → Passkeys
  • Verify “Enable Passkeys” is checked
  1. User Has Passkeys
  • Button may only show for users with registered passkeys
  1. Browser Support
  • Button hidden if browser doesn’t support WebAuthn

Passkey Login Fails

Symptoms: Biometric works but login fails

Check:

  1. Correct Account
  • Make sure passkey belongs to correct WordPress user
  • Each passkey is tied to specific user account
  1. Passkey Not Disabled
  • Check passkey is still in your profile
  • May have been deleted
  1. Server Time
  • WebAuthn is time-sensitive
  • Check server time is correct

Users Locked Out

Symptoms: User can’t log in with passkey or password

Solutions:

  1. Password Reset
  • Use WordPress password reset
  • Passkeys don’t affect password reset
  1. Admin Creates New Password
  • Admin resets user’s password from dashboard
  • User logs in with new password
  1. Database Direct
  • As last resort, admin can delete passkeys from database
  • Table: wp_guard_dog_passkeys

Best Practices

  1. Encourage but don’t require – Make passkeys optional initially
  2. Recommend multiple passkeys – Register on 2+ devices for backup
  3. Keep password as fallback – Don’t delete password capability
  4. Enable 2FA bypass – Passkeys provide equivalent security
  5. Educate users – Explain benefits and how to set up
  6. Test before rollout – Verify passkeys work in your environment
  7. Monitor adoption – Check Activity Log for passkey usage
  8. Support plan – Have process for users who lose passkeys

FAQ

Q: Are passkeys more secure than passwords?
A: Yes. Passkeys use cryptographic keys that can’t be phished, guessed, or stolen in data breaches.

Q: What if I lose my device?
A: Register passkeys on multiple devices. You can also log in with password and delete the lost device’s passkey.

Q: Can I use a hardware security key?
A: Yes. Any FIDO2/WebAuthn compatible key (YubiKey, Titan, etc.) works.

Q: Do passkeys work on mobile?
A: Yes. iOS, iPadOS, and Android all support passkeys.

Q: Can I require passkeys for all users?
A: Currently, passkeys are opt-in. Passwords remain as fallback.

Q: What data is stored on the server?
A: Only the public key and metadata. Private keys never leave your device.

Q: Do passkeys sync across devices?
A: With iCloud Keychain (Apple) or Google Password Manager, yes. Otherwise, register each device separately.

Q: What if biometrics fail?
A: Most devices allow PIN as fallback. You can also use password login.

Q: Can hackers steal my passkey?
A: The private key is stored in secure hardware (Secure Enclave, TPM) and cannot be extracted.

Q: Should I still use 2FA with passkeys?
A: With “Bypass 2FA” enabled, passkeys provide equivalent security. It’s your choice.


Back to Guard Dog Documentation index →