mirror of
https://github.com/bitwarden/android.git
synced 2026-05-07 11:29:37 -05:00
[GH-ISSUE #4962] Biometrics fail to enable when installed inside Android Work Profile #28094
Open
opened 2026-04-18 11:56:34 -05:00 by GiteaMirror
·
8 comments
No Branch/Tag Specified
main
pm-34038/card-scanner-qa-fixes
new-item-types/PM-32810_bank-account-discovery
beta-for-qa
new-item-types/PM-32810_bank-account
target-sdk-37
PM-33982/build-device-screen
new-item-types/PM-34123_new-item-menu
new-item-types/PM-32806_passport
new-item-types/PM-32808_drivers-license
BWA-99/show-next-totp
BWA-99/add-preview-next-totp-code-setting
renovate/glidecompose
sync-min-sdk
release/2026.4-rc51
fix/security-sast-22741894-bvwj
related-origin-passkey-creation
release/2026.4-rc50
platform/android-breaking-change-detection
innovation-sprint-2026-send-folder
release/2026.3-rc49
PM-34193-vault-lockout
android-collections
llm/add-resolving-sdk-updates-skill
QA-1523/sanity-test-saucelabs
release/2026.3-rc48
PM-26577-app-links-support
PM-26896-autofill-fix
release/2026.2-rc47
pr-6572
release/2026.2-rc46
release/2026.1-rc45
PM-30644/added-logs-for-debug
PM-30644/quicktile-nav-not-showing-migration
minor-gradle-updates
release/2026.1-rc42
release/2026.1-rc44
release/2026.1-rc43
PM-28834/set-landscape-on-horizonos-devices
PM-28468/validate-and-navigate-to-vault-migration
PM-20026/force-ltr-passwords-and-codes
release/2025.12-rc41
cmcg/testCoverage
PM-29014/talkback-support-for-passwords
release/2025.12-rc40
BRE-1305/publish_test
accept-user-certs
autofill-permissions
release/2025.11-rc39
PM-22479/check-all-certificates-validate-asset-links
release/2025.10-rc38
agalles/android-latest
retro-agent
PM-27001/skip-account-selection-only-one-exists-cxp
release/2025.10-rc37
agalles/test-1118
release/2025.10-rc36
PM-20593-token-refresh
QA-1126b/adding-native-sanity-test
release/2025.9-rc35
pm-25933/sdk-update-password
release/2025.9-rc34
release/2025.8-rc33
agalles/20250821-release
debug-release-issues
pm-24249-allow-automated-prs-for-sdk-updates
release/2025.8-rc32
release/WORKFLOW-TEST-2025.8-rc28
agalles/20250807release
release/2025.07-rc25
release/hotfix-v2025.7.0-bwa
pm-23311/export-vault-policy-bypass
release/2025.07-rc24
authenticator-pm-sync-flags-issue
release/hotfix-v2025.6.0-bwpm
release/2025.06-rc21
agalles/automate-android-fastlane-patch
release/2025.05-rc20
release/2025.04-rc19
languages/basque
release/2025.03-rc19
update-readme
qrcode/feature
innovation/archive/pm-19153-archive-items
qrcode/2-ui-fields
qrcode/1-page
hold-on-biometric-prompt-alternative
release-notes-process
release/2025.02-rc16
bwa-monorepo
PM-8223/new-device-verification-ux-improvements
pm-18451/exempt-from-policies
test-bwa
release/2025.01-rc15
release/2025.01-rc14
release/2024.12-rc13
pm-16670/sync-leave-notice
821
PM-16695/backport-lean-more-new-device-verification
release/hotfix-v2024.11.7
release/2024.11-rc1
pm-11304/collection-add-item-button
PM-14241/disabling-logs-app-crash
poc/offline-editing
new-version-calc
pm-11649/expired-link-services
pm-6702/add-feature-flag
pm-6702/email-verification-feature
pm-9933/marketing-copy-update
pm-6702/registration-flows
update-templates
pm-6701/email-verification-selfhost-registration
v2026.4.0-bwa
v2026.4.0-bwpm
v2026.3.1-bwa
v2026.3.1-bwpm
v2026.3.0-bwpm
v2026.3.0-bwa
v2026.2.1-bwpm
v2026.2.1-bwa
v2026.2.0-bwpm
v2026.2.0-bwa
v2026.1.1-bwa
v2026.1.1-bwpm
temp-test
v2026.1.0-bwpm
v2026.1.0-bwa
v2025.12.1-bwa
v2025.12.1-bwpm
v2025.12.0-bwa
v2025.12.0-bwpm
v2025.11.1-bwpm
v2025.11.1-bwa
v2025.11.0-bwpm
v2025.11.0-bwa
v2025.10.1-bwa
v2025.10.1-bwpm
v2025.10.0-bwa
v2025.10.0-bwpm
v2025.9.1-bwa
v2025.9.1-bwpm
v2025.9.0-bwa
v2025.9.0-bwpm
v2025.8.1-bwa
v2025.8.1-bwpm
v2025.8.0-bwa
v2025.8.0-bwpm
v2025.7.2-bwa
v2025.7.2-bwpm
v2025.7.1-bwa
v2025.7.1-bwpm
v2025.7.0-bwa
v2025.7.0-bwpm
v2025.6.1-bwpm
v2025.6.0-bwa
v2025.6.0-bwpm
v2025.1.0-bwa
v2025.5.0-bwa
v2025.5.0-bwpm
v2025.5.999
2025.4.0
v2025.4.0
untagged-4731eaadac73f3dfbbb8
v2025.3.0
v2025.2.0
untagged-815a165c5d70ffe75bc7
v2025.1.2
v2025.1.1
v2025.1.0
v2024.12.0
untagged-5a76b6392a4c8998c63a
v2024.11.7
v2024.11.6
v2024.11.5
v2024.11.4
v2024.11.3
v2024.11.2
v2024.11.1
v2024.11.0
v2024.10.2
v2024.10.1
v2024.10.0
v2024.9.0
v2024.8.1
v2024.8.0
v2024.7.3
v2024.7.2
v2024.7.1
v2024.7.0
v2024.6.1
v2024.6.0
v2024.5.1
v2024.4.1
v2024.4.2
v2024.4.0
v2024.3.3
v2024.3.1
v2024.3.0
v2024.2.1
v2024.2.0
v2024.1.1
v2024.1.0
v2023.12.0
v2023.10.0
v2023.9.2
maui-single-project-android
v2023.9.1
v2023.9.0
v2023.8.0
v2023.7.0
v2023.5.0
v2023.4.0
v2023.3.2
v2023.3.1
v2023.3.0
v2023.2.0
v2023.1.0
v2022.11.0
v2022.10.0
v2022.9.1
v2022.9.0
v2022.8.0
v2022.6.2
v2022.6.1
v2022.6.0
v2022.05.0
v2.18.0
v2.17.0
v2.16.4
v2.16.3
v2.16.2
v2.16.1
v2.15.0
v2.14.2
v2.14.1
v2.14.0
v2.13.0
v2.12.0
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.0
v2.9.1
v2.9.0
v2.8.2
v2.8.1
v2.8.0
v2.7.2
v2.7.0
v2.6.1
v2.6.0
v2.5.6
v.2.5.5
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.1
v2.3.0
v2.2.8
v2.2.7
v2.2.6
v2.2.2
v2.2.1
v2.2.0
v2.1.2
v2.1.0
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v1.22.1
v1.22.0
v1.21.0
v1.20.0
v1.19.0
v1.18.1
v1.18.0
v1.17.0
v1.16.0
v1.15.2
v1.15.1
v1.15.0
v1.14.4
v1.14.1
v1.14.0
v1.13.0
v1.12.2
v1.12.1
v1.12.0
v1.11.1
v1.11.0
v1.10.0
v1.9.0
v1.8.1
v1.8.0
v1.7.0
v1.6.5
v1.6.1
v1.6.0
v1.5.1
v1.5.0
v1.4.4
v1.4.3
v1.4.0
v1.3.0
v1.2.1
v1.2.0
v1.1.0
v1.0.0
v0.0.6
v0.0.5
v0.0.4
v0.0.3
v0.0.2
v0.0.1
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/android#28094
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jstorrs on GitHub (Apr 2, 2025).
Original GitHub issue: https://github.com/bitwarden/android/issues/4962
Steps To Reproduce
Expected Result
Expected result is that biometrics is enabled.
Actual Result
Biometrics fails to enable with the message: "An error has occurred." "We were unable to process your request. Please try again or contact us."
Screenshots or Videos
No response
Additional Context
This is related to Android's Work Profile feature which is used to isolate work-related apps. With Work Profile the phone essentially has two different users are logged in simultaneously, the Main Profile and the Work Profile, each with separate groups of apps. Apps in both profiles can be used simultaneously they are essentially sandboxed from each other (each has their own instance of Play Store etc).
https://support.google.com/work/android/answer/6191949?hl=en
When Bitwarden is only installed in the Main Profile, then Work Profile does not have access to the Main Profile Bitwarden autofill. To get autofill working in Work Profile you install Bitwarden in Work Profile, also. After this, Bitwarden works as expected for Work Profile apps; however, the Work Profile Bitwarden is not able to enable biometrics for some reason.
Other apps seem able to enable biometrics when installed simultaneously in Main Profile and Work Profile (tested example: Microsoft Authenticator).
To create a Work Profile if your employer/whatever doesn't support the feature, one way to test is to bootstrap the initial Work Profile is using the Shelter app. https://github.com/PeterCxy/Shelter (also available on F-Droid) After the Work Profile is setup then use Work Profile Play Store to log in to a Google Account (requires an account that is not already used in the device's Main Profile) and then install Bitwarden. Note: Shelter is able to copy apps from Main Profile to Work Profile, but I'm not sure whether or how updates to those apps happen. For Work Profile apps generally install from Play Store seems needed to install apps required by your employer (Outlook, etc).
Build Version
2025.2.0 (19883)
What server are you connecting to?
US
Self-host Server Version
No response
Environment Details
Issue Tracking Info
@S-Kakar commented on GitHub (Apr 2, 2025):
Thank you for your report! We've added this to our internal board for review.
ID: PM-19802
@Krychaz commented on GitHub (Apr 3, 2025):
Hello there,
It sounds like your issue could be related to this overall issue with Biometric and Android Work Profile - https://github.com/bitwarden/android/issues/4659
@jstorrs commented on GitHub (Apr 3, 2025):
I read that bug report after submitting this one and it inspired a test on my end.
The bug you referenced is talking about two different Bitwarden accounts used simultaneously in the same Bitwarden app. This is about having two copies of Bitwarden app installed and in use simultaneously using the Android Work Profile feature. One copy is the Main Profile Bitwarden and the other copy is the Work Profile Bitwarden. Android makes sure each of these copies has no idea the other exists. They both show up in the app list, but one has a small briefcase in the bottom right corner to mark it as Work Profile.
Nevertheless after reading that bug it seemed reasonable that it might have something to do with how the secure element is accessed and that something at the lower levels might not be able to tell the difference between accounts/apps/etc. So, I tried disabling biometrics in my Main Profile bitwarden to see if that would allow the Work Profile bitwarden to enable biometrics. But nothing changed. Work Profile still gives the same error and Main Profile us able to re-enable biometrics.
Just to reiterate that bug isn't talking about Android Work Profile at all. When I searched the open/closed issues for other Work Profile bugs I found some that were closed because the users found clumsy workarounds and it didn't seem like the developers understood what Android Work Profile is.
Another difference is that I am actually using the same Bitwarden account both in Main Profile and Work Profile instances of Bitwarden app (which is not possible in a single instance of Bitwarden app)
I'll try to get adb logs in the next few days to see if it's the same code path.
Also, I'm not seeing a crash. Just the error message and failure to enable biometrics.
@jstorrs commented on GitHub (Apr 3, 2025):
After rereading that other bug, another difference is that they are able to enable biometrics and then crashes happen afterwards. I'm not able to actually get to the point of enabling it. The errors happen before.
When you enable biometrics, the next step is Android pops up a fingerprint confirmation. It seems the people in that other bug make it past that step. In my case I get the error message before the fingerprint confirmation ever pops up. So I am not able to enable biometrics in the Work Profile copy of Bitwarden app. I think that probably means it's a different location in the code that's failing for me. It could well be the same core handling of biometrics at play, though.
@ndesgranges commented on GitHub (Apr 25, 2025):
I've been commenting the other issue. There is more to this.
Some have the issue with 2 accounts
Some have issues with work profile
For my part, I do not even need a work profile for this to happens. it just crashes on enabling
So these could all be linked, or, maybe there are mutliple issues here.
@igormcoelho commented on GitHub (Nov 11, 2025):
I experience a similar situation with work profile and bitwarden, since the option "Unlock with Biometrics" doesn't even appear on my work profile bitwarden, only in the main one. Another problem is that auto-fill services toggle does not turn on, even if I click it and gets "Bitwarden" selected from the system, then it continues to be off (maybe similar to this https://github.com/bitwarden/mobile/issues/427). I'm using Android 16 on Samsung Galaxy UI 8.0 with Shelter, did you really manage to make autofill work @jstorrs ? xD In my case, Bitwarden is only useful on the main profile, as nothing works on the work profile (autofill, PIN, biometrics, ...), so I guess it's tricky this work profile technology.
@jstorrs commented on GitHub (Nov 11, 2025):
Yes, it's all working fine. The biometrics ended up being something I hadn't considered--you have to enable biometrics and register fingers and faces separately for the work profile in Android settings... You also have to configure autofill in the work profile separately. It doesn't share preferences or fingers with the main profile. On Android 16 (can't remember how it worked on 15):
Settings > Security and Privacy > "Device unlock" has "Fingerprint", "Fingerprint for work", "Face" and "Face for work"
Settings > "Passwords, passkeys & accounts" has "Personal" and "Work" tabs
I don't think the problem is in bitwarden. Android Work profile just doesn't have great feedback about biometrics and autofill not working and it's easy to trick yourself into thinking it's the app and not android settings for the profile. Anyway it took me embarrassingly long for it to fully sink in that Work and Personal are completely different accounts and isolated from each other.
@igormcoelho commented on GitHub (Nov 11, 2025):
Thanks A LOT @jstorrs ! It worked both configurations! In my case, it's all in portuguese, so it's even harder to find the correct translations xD
My biometrics was not appearing on bitwarden for work profile because I really didn't have one (for work profile)... after creating one, following your instructions, it worked!
Then, the autofill I followed your advice as well... A small fix to your valuable answer, at least in my case: Settings > Security and Privacy -> More security configurations -> "Passwords, passkeys & accounts" has "Personal" and "Work" tabs
And the other one: Settings > Security and Privacy -> More security configurations -> Security for Work Profile -> then add fingerprints and face (for work profile).
Maybe it's the adapted Samsung UI, I don't know, but at least I found them now, and it's all working fine!
So, my only advice here (for bitwarden app) is that when setting Bitwarden on work profile for auto-fill, it will redirect you to the Auto-fill option for Main Profile, not the correct one on the Work Profile... but it could be hard or impossible for the app to know where to point to, unless it knew it was a Work Profile app :) So, that's fine to be done manually, all fixed and working perfectly.
Regards!