Passkeys in Passwall
Passwall supports passkeys as first-class vault items. Store, organize, and share your WebAuthn/FIDO2 credentials with the same zero-knowledge encryption that protects all your vault data.
New to passkeys? Read our guide on what passkeys are and why they matter →
What is a passkey vault item?
A passkey vault item stores your WebAuthn credential securely inside Passwall. It contains the cryptographic key pair (public and encrypted private key), the relying party information (website domain), and your user identity—all encrypted at rest with your vault key.
Unlike platform passkeys (stored by Apple, Google, or Microsoft), passkeys in Passwall sync across all your devices regardless of operating system. You can access them from the web vault, browser extension, or mobile app.
Creating a passkey
Follow these steps to create a passkey in your vault:
- Navigate to Passkeys in the sidebar (or open an organization and select the Passkeys section).
- Click New Passkey to open the creation dialog.
- Fill in the required fields:
- Name — A display name for the passkey (e.g., "Google Account").
- Relying Party ID — The domain of the website (e.g., "google.com"). This must match exactly for authentication to work.
- Credential ID — The unique identifier assigned by the authenticator (base64url-encoded).
- Optionally fill in additional fields: username, display name, public key, private key, key algorithm, and notes.
- Assign the passkey to a collection and optionally a folder for organization.
- Click Create to save. Your passkey is encrypted and stored.
Passkey fields explained
| Field | Description |
|---|---|
| Name | Display name for easy identification |
| Relying Party ID | Website domain the passkey is bound to (e.g., "github.com") |
| Relying Party Name | Human-readable name of the service (e.g., "GitHub") |
| Username | Your username on the service |
| Credential ID | Unique identifier for this credential (base64url) |
| Public Key | COSE-encoded public key (base64url) — shared with the server |
| Private Key | Encrypted private key material — never leaves your vault |
| Key Algorithm | COSE algorithm: ES256 (most common), RS256, EdDSA, ES384, or ES512 |
| Discoverable | Whether the credential supports passwordless login (resident key) |
| Sign Count | Signature counter for clone detection |
| AAGUID | Authenticator model identifier (32-character hex) |
| Transports | Supported connection types: USB, NFC, BLE, internal, hybrid |
| Backup Status | Whether the credential is eligible for and currently backed up (multi-device) |
Organizing passkeys
Passkeys follow the same organizational model as passwords and other vault items:
- Collections — Group passkeys by project, team, or purpose. Share entire collections with team members using role-based permissions.
- Folders — Personal folders within collections for fine-grained organization.
- Search — The passkeys table supports searching by name, relying party ID, relying party name, username, and display name.
- All Items view — Use the "All Items" page to see passkeys alongside all other vault item types with type-based filtering.
Sharing passkeys with teams
Passkeys in organization vaults can be shared through the collection sharing system:
- Add passkeys to a shared collection to grant team members access.
- Permission levels (view only, can edit, admin) control who can view, modify, or delete passkey items.
- The "Hide passwords" policy also applies to passkey private keys—team members with this restriction cannot view or copy private key material.
- When a team member is removed from a collection, they immediately lose access to all passkeys in that collection.
Security model
Passkeys in Passwall follow the same zero-knowledge encryption model as all other vault items:
- The private key material is encrypted with your organization key before being stored on the server. Passwall never has access to your decrypted private keys.
- Metadata (name, relying party ID) is stored encrypted as part of the item data.
- Validation is enforced at the schema level: credential IDs and public keys must be valid base64url strings, relying party IDs must be valid hostnames, AAGUIDs must be 32-character hex strings, and key algorithms are restricted to known COSE identifiers.
- The sign counter is tracked to detect potential credential cloning.
Working with passkeys across platforms
Passwall passkeys are available across all supported platforms:
- Web Vault — Full passkey management: create, edit, view, delete, organize, and share.
- Browser Extension — Quick access to passkey credentials during authentication flows.
- Mobile App — View and manage passkeys from iOS and Android with the same encrypted sync.
All platforms use the same data schema and encryption, ensuring your passkeys are consistent and up-to-date everywhere.
Ready to start using passkeys?
Passkeys are available for all Passwall plans. Start by creating your first passkey in the vault.