Feature Request: Option to enforce PIN/Password instead of Biometrics for App-lock
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 55/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
調査の方向性
まず DeviceCredentialUtil.java と既存の App-lock 設定フローを読みます。現在の KeyguardManager プロンプトがどのように呼び出されているかを確認し、続いて要求されている androidx.biometric.BiometricPrompt DEVICE_CREDENTIAL パスを確認します。App-lock 設定で、システムのデフォルト動作、または PIN/パスワード/パターンのみの動作を選択でき、選択した制限モードで生体認証をバイパスできれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Is your feature request related to a problem? Please describe.
Versions
Nextcloud v34.0.2 / Notes server app v6.0.1 / Notes for Android v34.0.0
Currently, when the "App-lock" feature is enabled, the app delegates authentication to the Android system via KeyguardManager (specifically in DeviceCredentialUtil.java). On most devices, if biometrics (fingerprint/face) are enrolled, the system prioritizes them. There is no in-app setting to restrict the authentication method to PIN/password only.
While Notes is not a password manager, users frequently store highly sensitive personal information, credentials, or private thoughts in their notes. From a privacy and security perspective, relying solely on biometrics can be a vulnerability. Biometrics are "something you are", which makes them susceptible to specific threat models, such as physical coercion (forced unlocking) or shared device environments (where a family member might have their fingerprint enrolled on the phone but shouldn't read your private notes).
PIN/Password security relies on "something you know", providing robust protection against these physical threats. Currently, the only workaround to achieve this is to completely delete all fingerprints from the Android system settings, which is highly inconvenient as it cripples the device's overall functionality.
Describe the solution you'd like
Add a setting under the App-lock configuration that allows the user to explicitly enforce the authentication method. For example:
System default (current behavior, allows biometrics)
PIN / Password / Pattern only (enforces device credential, strictly bypasses biometrics)
Note regarding issue #1188: I am aware that a previous request for a "separate locking mechanism" was declined. This proposal does not ask for a custom in-app PIN screen. It simply asks for a configuration flag to be passed to the existing system credential prompt to disable the biometric fallback.
Technical suggestion:
This could be cleanly implemented by migrating from the KeyguardManager to the modern androidx.biometric.BiometricPrompt. By using setAllowedAuthenticators(Authenticators.DEVICE_CREDENTIAL) without including BIOMETRIC_STRONG or BIOMETRIC_WEAK, the app will force the Android system to prompt for the device PIN/password/pattern, completely and intentionally bypassing any enrolled biometric sensors. This requires very minimal code changes in DeviceCredentialUtil.
Describe alternatives you've considered
Deleting all fingerprints/face data from Android system settings. This is unacceptable as a long-term solution because it affects the entire device and disables biometric unlock for all other apps and the system lock screen.
Additional context
Many privacy-focused note-taking apps offer this flexibility, recognizing that sensitive text data requires a higher threat-model defense than a standard phone screen lock. Implementing this will significantly boost the privacy posture of Nextcloud Notes for users who prefer "something you know" over "something you are".
- 主要言語
- Java
- スター
- 1.1k
- フォーク
- 168
- 平均マージ
- 20時間 11分
- マージ済み PR(30日)
- 28
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
nextcloud/notes-android のほかの issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
nextcloud/notes-android#3367 ·
メンテナーはふだん 1 日以内に返信
-
0. Needs triage bug
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
nextcloud/notes-android#3353 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
nextcloud/notes-android#3360 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
0. Needs triage bug
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
nextcloud/notes-android#3358 ·
メンテナーはふだん 1 日以内に返信
-
0. Needs triage bug
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
nextcloud/notes-android#3357 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
nextcloud/notes-android の issue をすべて見る
似ている issue
-
link-check link-check:manual
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
open-telemetry/opentelemetry-java#8870 ·
メンテナーはふだん 1 日以内に返信
-
P2 testing
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
メンテナーはふだん 1 日以内に返信
-
enhancement javascript
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
area/core kind/bug status/triage team/core-shared
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信