Senior Rust Software Engineer (Passkeys)
Bitwarden promotes better internet security and safety with the leading open source password management solution for individuals, teams, and business organizations. Our philosophy on security is that “we are all in this together” – we continue to offer a full-featured free version of Bitwarden so that everyone can be protected with strong password management. We also provide enterprise-grade solutions to some of the largest companies in the world, and will continue to innovate in the identity and authentication market as the world starts to grow beyond passwords. Read more on the Bitwarden blog.
As a Senior Rust Engineer on the Passkeys team, you will build the technology taking the world beyond passwords. Bitwarden is a credential provider across browser, desktop, and mobile, and the Passkeys team owns our implementation of WebAuthn and FIDO2 — creating and asserting credentials, integrating with each platform's credential provider APIs, and the emerging standards for moving credentials between providers so that users are never locked in.
This is a low-level, cross-platform engineering role. The work is written primarily in Rust, in the shared SDK consumed by every Bitwarden client, where you will implement specifications requiring a robust attention to detail - a subtle misreading of the requirements produces edge-case user login errors in certain use cases. The WebAuthn and passkey space is constantly evolving as well, so you will be responsible for understanding how the specification is changing, how our credentials are being used on client sites, and how to adapt to these changes in our core SDK.
RESPONSIBILITIES
- Design, build, and maintain Bitwarden's implementation of the WebAuthn and FIDO2 standards in Rust, including credential creation, assertion, and storage within an end-to-end encrypted vault
- Integrate our passkey implementation with each platform's credential provider surface across browser, desktop, and mobile clients
- Participate in the hands-on design, development, and evolution of the shared Rust SDK, including language bindings and FFI, consumed across all Bitwarden clients
- Implement and help shape emerging standards for credential portability and secure import and export between providers
- Build the interoperability testing that keeps our implementation correct against the long tail of relying parties, browsers, and platforms our users encounter in the real world
- Become an expert on the Bitwarden APIs and the cryptographic and architectural constraints of a zero-knowledge product
- Participate in code reviews, learning, and spreading technical knowledge
- Independently plan, estimate, and deliver new feature work and bug fixes
- Occasionally review & approve bug fixes submitted by the user community
WHAT YOU BRING TO BITWARDEN
- Expertise in developing and maintaining production Rust components, including the design and application of libraries, language bindings, and FFI
- Experience implementing a standard or protocol from its specification, and the discipline that requires — reading the spec closely, handling the edge cases, and testing against real-world implementations rather than assuming conformance
- Working knowledge of applied cryptography — you can reason about public key cryptography, signatures, and key handling, and you know where the sharp edges are
- A rigorous approach to correctness — you write readable, testable code, and you think carefully about failure modes in software that handles sensitive data
- Experience using AI tooling in your development and testing workflow (Anthropic Claude preferred)
- Experience with Electron, TypeScript, and other web tech for cross-platf