[PR #6114] [PM-27736] Add FIDO privileged allowlist entry for vivo FIDO client (com.fido.client) #6326

Open
opened 2025-11-27 00:22:22 -06:00 by GiteaMirror · 0 comments
Owner

Original Pull Request: https://github.com/bitwarden/android/pull/6114

State: open
Merged: No


🎟️ Tracking

Community contribution to improve passkey support on vivo devices.

com.fido.client is the preinstalled vivo FIDO / passkey client on recent OriginOS builds.
This PR adds it to the community FIDO privileged allowlist so that Bitwarden can be used as a passkey provider when the system FIDO UI is involved.

📔 Objective

On recent vivo devices (e.g., OriginOS on Android 14), passkey flows that are routed through the system FIDO UI (com.fido.client) fail with:

The calling app 'com.fido.client' is not on the privileged list and cannot request authentication on behalf of the other app.

The objective of this PR is to treat the vivo system FIDO client as a trusted FIDO caller, similar to IronFox Nightly in PR #6046, by adding an entry for com.fido.client (with its SHA-256 certificate fingerprint) to app/src/main/assets/fido2_privileged_community.json.

This allows Bitwarden to successfully complete passkey registration and authentication when com.fido.client mediates the request.

📸 Screenshots

image image

Not applicable – no UI changes.
Verification was performed by:

  • Setting Bitwarden as the default passkey provider on a vivo device with com.fido.client.
  • Using https://passkeys.io and https://webauthn.io with QR / cross-device sign-in.
  • Confirming that, after this change, passkey registration and authentication succeed via com.fido.client without the “not on the privileged list” error.

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
**Original Pull Request:** https://github.com/bitwarden/android/pull/6114 **State:** open **Merged:** No --- ## 🎟️ Tracking Community contribution to improve passkey support on vivo devices. `com.fido.client` is the preinstalled vivo FIDO / passkey client on recent OriginOS builds. This PR adds it to the community FIDO privileged allowlist so that Bitwarden can be used as a passkey provider when the system FIDO UI is involved. ## 📔 Objective On recent vivo devices (e.g., OriginOS on Android 14), passkey flows that are routed through the system FIDO UI (`com.fido.client`) fail with: > The calling app 'com.fido.client' is not on the privileged list and cannot request authentication on behalf of the other app. The objective of this PR is to treat the vivo system FIDO client as a trusted FIDO caller, similar to IronFox Nightly in PR #6046, by adding an entry for `com.fido.client` (with its SHA-256 certificate fingerprint) to `app/src/main/assets/fido2_privileged_community.json`. This allows Bitwarden to successfully complete passkey registration and authentication when `com.fido.client` mediates the request. ## 📸 Screenshots <img width="1260" height="2800" alt="image" src="https://github.com/user-attachments/assets/eeb801da-4d77-42c7-bf59-a6ee78322e1e" /> <img width="1260" height="2800" alt="image" src="https://github.com/user-attachments/assets/52078dea-6788-4d87-b69b-678ae520acf5" /> Not applicable – no UI changes. Verification was performed by: - Setting Bitwarden as the default passkey provider on a vivo device with `com.fido.client`. - Using https://passkeys.io and https://webauthn.io with QR / cross-device sign-in. - Confirming that, after this change, passkey registration and authentication succeed via `com.fido.client` without the “not on the privileged list” error. ## ⏰ 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
GiteaMirror added the pull-request label 2025-11-27 00:22:22 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#6326