package com.peachpasswords.autofill /** * Conservative allowlist of apps permitted to request autofill for a *web* origin * (MF-7). When an autofill request carries a webDomain, the providing app must be a * known browser — otherwise a malicious app could claim `bank.com` and harvest the * credentials it does not own. Native-app autofill (no webDomain) is unaffected. * * [NEEDS EXPANSION] — add browsers as needed; an unknown browser simply gets no * web autofill until it is listed (it can still be used via the manual picker). */ object TrustedBrowsers { private val KNOWN_BROWSERS = setOf( "com.android.chrome", "com.chrome.beta", "com.chrome.dev", "org.mozilla.firefox", "org.mozilla.firefox_beta", "com.brave.browser", "com.microsoft.emmx", // Edge "com.opera.browser", "com.opera.mini.native", "com.vivaldi.browser", "com.kiwibrowser.browser", "com.duckduckgo.mobile.android", "com.sec.android.app.sbrowser", // Samsung Internet "com.android.browser", ) fun isTrusted(packageName: String?): Boolean = packageName in KNOWN_BROWSERS }