Client to Authenticator Protocol 2
CTAP2 is a protocol that lets a device such as a laptop or phone communicate with an external or built-in security key or authenticator so the user can prove their identity. It handles the conversation between the client (like a browser) and the authenticator that holds the credential. It is one part of the broader FIDO2 set of specifications used for strong, often passwordless, authentication.
CTAP2 is a component of the FIDO2 specifications that defines the communication between a client platform (for example a browser or operating system acting as a WebAuthn client) and an external or platform authenticator over transports such as USB, NFC, or BLE. It complements WebAuthn: WebAuthn defines the web-facing API between the relying party and the client, while CTAP2 defines the lower-level messaging by which the client instructs the authenticator to perform operations such as credential creation and assertion generation, typically including user presence and, where supported, user verification. As an inherence- or possession-based authentication mechanism, CTAP2 concerns verifying the user or device to produce a signed assertion; it does not by itself define authorization or entitlement decisions. Note that specific version details, supported extensions, and transport behavior depend on the authenticator and client implementation and should be confirmed against the applicable specification.
Why it matters
CTAP2 is a foundational piece of the FIDO2 architecture that makes phishing-resistant, often passwordless authentication practical across devices. Because it defines how a client platform such as a browser or operating system communicates with an external security key or a built-in platform authenticator, it enables users to authenticate with hardware they possess rather than shared secrets that can be intercepted or replayed. For organizations moving away from password-based logins, understanding CTAP2 clarifies where the actual credential operations happen and why the model resists many common credential-theft attacks.
For identity architects and engineers, the distinction between CTAP2 and WebAuthn matters operationally. WebAuthn is the web-facing API between the relying party and the client, while CTAP2 handles the lower-level messaging between the client and the authenticator over transports such as USB, NFC, or BLE. Treating the two as interchangeable can lead to incorrect assumptions about where user presence and user verification are enforced, and about what transports and authenticator types a given deployment can support. Getting this boundary right is important when evaluating authenticator compatibility and planning rollouts.
It is also important to keep CTAP2 scoped correctly: it is concerned with verifying the user or device and producing a signed assertion, not with authorization or entitlement decisions. Specific version details, supported extensions, and transport behavior depend on the authenticator and client implementation, so claims about capabilities should be confirmed against the applicable specification rather than assumed.
Who it's relevant to
Inside CTAP2
Common questions
Answers to the questions practitioners most commonly ask about CTAP2.
