Files
keepassgo/docs/android-autofill.md
2026-04-23 21:02:34 -07:00

2.8 KiB

Android Autofill

App Target Matching

User story:

  • When an entry carries an Android-specific target such as androidapp://com.blinknetwork.mobile2, KeePassGO should treat that as a first-class autofill target on Android.
  • If an exact app target exists, Android autofill should resolve that entry directly instead of falling back to a generic chooser for the whole cache.

Expected behavior:

  • AndroidApp* custom fields exported into the autofill cache must match the Android package target used by the autofill and accessibility services.
  • The Android-side matcher must normalize androidapp://... targets the same way the Go cache builder does.
  • The chooser path should still collapse to a single direct result when there is one exact app-target match.

Accessibility Fallback

User story:

  • When Android accessibility fallback is needed, KeePassGO should not be limited to Chrome-only URL bar parsing.
  • Apps with stable package identities should still be fillable when an entry carries a matching AndroidApp* target.

Expected behavior:

  • Accessibility fallback derives its match target from the web domain when one is available.
  • If no web domain is available, accessibility fallback uses the active app package as androidapp://<package>.
  • The fallback path can therefore fill supported apps that never expose a browser-style URL bar.

Share-Driven Lookup

User story:

  • When Android shares a login URL or a text snippet containing a login URL into KeePassGO, the app should open into a credential lookup flow instead of only supporting shared .kdbx imports.
  • If the vault is already open, the shared target should immediately narrow the entries view.
  • If the vault is not open yet, the shared target should survive startup and apply as soon as the vault is unlocked.

Expected behavior:

  • Android share intents can queue a pending lookup target in addition to shared vault file imports.
  • KeePassGO normalizes the shared value into a search query that users can immediately act on.
  • The pending lookup is consumed once and does not keep reappearing on later launches.

Chooser Relevance

User story:

  • When Android autofill cannot resolve a single direct match, KeePassGO should still keep the chooser focused on entries that are relevant to the current site or app.
  • The picker should not fall back to an alphabetized dump of unrelated vault entries when KeePassGO already knows the current host or package target.

Expected behavior:

  • If multiple entries exactly match the current web host or Android app target, the chooser shows only those relevant entries.
  • If there are no exact matches but there are parent-host matches, the chooser shows only those related entries.
  • KeePassGO falls back to the full chooser list only when it has no related host or app-target candidates at all.