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 Lead Engineer for our Passkeys team, you will be responsible for leading the technical direction and supporting the engineering effort of a team focused on building and maintaining Bitwarden’s WebAuthn credential provider implementation across browser, desktop, and mobile. 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.
You will be expected to own and understand the entirety of the team’s domain, and be able to support the other engineers on the team as well as engage in well-reasoned discussions with other technical leaders in the organization.
WHAT YOU WILL DO
- 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
- Work closely with your manager to maintain the technical roadmap for the team, ensuring that core platform dependencies are up to date and emerging technologies are considered for potential adoption.
- Unblock and support other engineers on the team.
- Collaborate with other Tech Leads to ensure that cross-team technical direction is aligned when initiatives span team boundaries.
- Serve as a representative of the team in technical discussions and be able to speak authoritatively about your domain.
- Set the example for thorough code reviews, using them to spread knowledge on the team and ensure high standards for code quality.
- Occasionally review & approve bug fixes submitted by the user community
WHAT YOU BRING
- 8+ years of experience as lead or team lead. Experience designing and implementing complex user interaction flows in Angular applications and native OS (Windows, MacOS, Linux), including developing against native OS APIs.
- 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 re