Skip to content

Conversation

@iinuwa
Copy link
Contributor

@iinuwa iinuwa commented Oct 29, 2025

⚠️ This is a draft PR for discussing a proof-of-concept. Detailed review should not be done until this work is refined.

🎟️ Tracking

https://bitwarden.atlassian.net/browse/PM-27582
https://bitwarden.atlassian.net/browse/PM-26177

📔 Objective

This adds the ability to use PRF for passkeys and authenticate using key material tied to a device, not the user key. (We're calling this the "device auth key.") This will effectively allow native clients to act as login+unlock passkeys without requiring vault unlock.

  • Incorporates upstream passkey-rs changes
  • Adds separate "vault authenticator" and "device authenticator" to distinguish between device-bound flow
  • Allows encrypting passkey using a provided external key (device binding key)
  • Adds hmacSecret field to FIDO2 credential models

Depends on #494.

⏰ Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Protected functional changes with optionality (feature flags)
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation (Confluence, contributing docs) or informed the documentation
    team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • ❓ (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed
    issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • ❌ (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants