Skip to content

[FEATURE] Configurable root/category prefix for Autofill-saved entries #127

Description

@AuthenticSm1les

When a new credential is saved via the Autofill framework (the system "Save to Password Store?" prompt shown after submitting a login form in another app/browser, i.e. while APS itself isn't open), the save path is computed entirely in AutofillSaveActivity.makeSaveIntentSender():

https://github.com/pando85/Android-Password-Store/blob/main/app/src/main/java/app/passwordstore/ui/autofill/AutofillSaveActivity.kt

val identifier = formOrigin.getPrettyIdentifier(context, untrusted = false)
val directoryStructure = AutofillPreferences.directoryStructure(context)
val folderName = directoryStructure.getSaveFolderName(sanitizedIdentifier, username = credentials?.username)
...
putString(BasePGPActivity.EXTRA_FILE_PATH, repo.resolve(folderName).absolutePath)

folderName is resolved directly against the store root (repo.resolve(...)), using only the DirectoryStructure convention selected in "Password file organisation" (file / directory / encrypted_username). There's no concept of a persistent category/root prefix here — credentials saved this way always land at the top level of the store (e.g. example.com/username.gpg), never inside a user-chosen subfolder.

This matters for anyone who organizes their store into top-level categories (e.g. www/ for website logins, separate from misc/, OTP-only entries, etc. — mirroring how pass/browserpass/PassFF users commonly structure things on desktop). Right now the only way to get autofill-saved entries into such a category is to move them manually after the fact.

Request: Add a setting (e.g. "Autofill save root directory") specifying a subfolder that Autofill-originated saves are placed under, so the resolved path becomes <root>/<folderName> instead of always <store root>/<folderName>. Ideally the in-app "+" creation flow (PasswordStore.kt, which currently defaults to whatever folder is being browsed) would respect the same setting as a starting point when not already inside a subfolder, so both save paths stay consistent.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions