Skip to content

[Bug]: Gemini misclassifies apps (false positives) #36

Description

@MRAKS05

Problem

The app is falsely identifying normal apps as web browsers, causing unwanted uninstall attempts or user confusion. This is a browser detection false positive issue — the app incorrectly decides that a non-browser app is a browser.

How detection currently works (BrowserDetector.kt, lines 17-68)

  1. New app installedAppInstallReceiver triggers detection
  2. System app check (lines 26-31): System apps (except Chrome when enabled) are skipped
  3. Local cache check (lines 39-46): Checks geminiConfirmedBrowsers / geminiConfirmedNonBrowsers and KNOWN_BROWSERS
  4. Gemini classification (lines 49-63): If Gemini is enabled and quota available, calls isBrowser()
  5. Fallback (lines 64-67): Falls to checkLocalList() using BrowserDatabase.KNOWN_BROWSERS (52 packages)

Possible root causes

  • BrowserDatabase.kt overreach: The known browser list (52 packages) may include apps that are not dedicated browsers but have web-viewing capabilities (e.g., video downloaders, proxy apps)
  • Gemini prompt too aggressive: The system instruction in GeminiClient.kt (lines 113-134) asks Gemini to flag apps that are "video downloader[s]... that explicitly feature an unrestricted built-in browser with address bar" — this may be catching non-browser apps
  • Gemini hallucination: The model returning YES for apps that clearly aren't browsers
  • No human-in-the-loop for auto-remove mode: In auto-remove mode (no overlay), false positives result in immediate silent uninstall

Impact

  • Users lose apps they actually need
  • Trust in the app is damaged
  • Support burden increases

Investigation areas

  1. Audit BrowserDatabase.KNOWN_BROWSERS — are all 52 entries legitimately dedicated browsers?
  2. Review Gemini prompt — is it too loose, especially the "video downloader" clause?
  3. Add a feedback mechanism to mark detections as incorrect
  4. Consider requiring overlay mode (confirmation dialog) for any Gemini-classified app (vs. known browsers which could still auto-remove)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: engineBrowserDetector, GeminiClient, ShizukuUninstaller, BrowserDatabasebugSomething isn't workingpriority: highSignificant impact — should be addressed in current milestone

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions