Frequently Asked Questions

Every question about
FocusFlow answered

Answers are written to be clear and complete — these are the exact questions people ask before deciding whether FocusFlow is right for them.

Getting started
Does FocusFlow require root?
No. FocusFlow works entirely within the standard Android permission system — Accessibility Service, VPN, and Device Administrator. No rooting or system modification is required. It runs on stock Android 8.0+ on 30+ OEM brands without any root access.
Which Android versions and devices does FocusFlow support?
FocusFlow supports Android 8.0 and above on 30+ OEM brands: Samsung (OneUI), Xiaomi (MIUI/HyperOS), Oppo (ColorOS), Realme, Vivo (Funtouch/OriginOS), OnePlus (OxygenOS), Huawei (EMUI/HarmonyOS), Honor, Motorola, Asus (ZenUI/ROG), Nothing OS, Nokia/HMD, Sony Xperia, Meizu (Flyme), Black Shark, Infinix, Tecno, itel, ZTE, Lenovo, TCL, Alcatel, and Wiko.
Is FocusFlow free?
Yes, completely free. No subscription, no in-app purchase, no premium tier. Every feature — Accessibility Service enforcement, VPN blocking, Device Admin, Temptation Log, Weekly Report, Scheduled Greyout Windows, scheduling engine — is available at no cost.
What two permissions does FocusFlow need?
The two critical permissions are: Accessibility Service (to detect and block apps at the window level) and Usage Stats access (to identify foreground apps). Optional additional permissions include VPN, Device Administrator, notification access, and vibration — each gates the corresponding feature.
Unique features
What is the Temptation Log?
The Temptation Log is a native record of every blocked-app attempt — app name, package name, and timestamp — stored via TemptationLogManager in Android SharedPreferences, capped at 500 entries. Every Sunday at 08:00, FocusFlow delivers a Weekly Temptation Report push notification showing your 7-day blocked-attempt totals by app (e.g. "Instagram: 18 attempts, TikTok: 14 attempts this week"). No other screen time app offers a temptation log or weekly behavioral report.
What is Scheduled Greyout?
Scheduled Greyout Windows let you define calendar-based blocking schedules per app — for example, block Instagram Monday through Friday 09:00 to 18:00 — that enforce independently of any focus session. This is separate from the three timed blocking modes and uses a native JSON schedule read directly by the Accessibility Service. No active session required.
What is aversive feedback?
When a blocked app is detected, FocusFlow's AversiveActionsManager fires three simultaneous deterrents:
  • Screen Dimmer — sets hardware brightness to 2% via WindowManager AND adds a 70% black overlay
  • Vibration — pulses the motor in a 120 ms on / 220 ms off repeating loop
  • Sound Alert — plays the system notification tone once
Each layer is independently configurable. The goal is to condition the reflex, not just create a barrier.
Enforcement & bypass prevention
How does FocusFlow prevent me from uninstalling it?
Three independent layers:
  • Device Administrator mode (FocusDayDeviceAdminReceiver) — blocks the Settings → Apps → Uninstall path
  • System Guard — intercepts navigation to Accessibility Settings, Clear Data, and Uninstall screens during active sessions
  • SHA-256 native session PIN — gates all stop-session operations at the native layer; even a compromised JavaScript bridge cannot end a session without the correct PIN
What happens if I install a new app during a session to bypass blocking?
FocusFlow's PackageInstallReceiver monitors for ACTION_PACKAGE_ADDED broadcasts. Any newly installed app during an active session is immediately added to the block list and triggers aversive vibration feedback. The common "install a competing browser mid-session" loophole is closed.
Does FocusFlow work after a phone reboot?
Yes. BootReceiver automatically restarts the Accessibility Service and VPN tunnel after any device reboot during an active session. Sessions survive reboots. Clock tamper detection also validates session timestamps at boot — changing the system clock does not expire the session timer.
What is FocusFlow's Global VPN mode?
FocusFlow's NetworkBlockerVpnService operates in two modes: PER_APP routes only the blocked app's traffic through a local null-routing VPN — other apps keep full internet. GLOBAL routes all device traffic through the VPN, cutting both WiFi and mobile data for every app except phone and emergency calls. No traffic ever leaves the device to any external server — the VPN is entirely local.
Content-specific blocking
Can FocusFlow block YouTube Shorts without blocking all of YouTube?
Yes. FocusFlow's YouTube Shorts Blocker closes the Shorts player within YouTube while leaving the main feed, search, subscriptions, channel pages, and standard video playback fully accessible. Only the short-form vertical video loop is blocked.
Can FocusFlow block Instagram Reels without blocking all of Instagram?
Yes. The Instagram Reels Blocker blocks the Reels feed tab within Instagram. Feed, DMs, Stories, profile, and search remain fully accessible. Only the infinite-scroll Reels loop is blocked.
Can FocusFlow block specific websites or keywords in a browser?
Yes. FocusFlow's browser keyword and URL blocker works across Chrome, Firefox, Samsung Internet, and other major Android browsers. It intercepts window-title and URL-bar content via the Accessibility Service to block specific URLs or keywords mid-browsing.
Data & privacy
Does FocusFlow collect or share my data?
No. The local VPN never forwards packets to any external server. The Temptation Log, task data, and all blocking state are stored on-device in Android SharedPreferences and SQLite. FocusFlow transmits zero telemetry, analytics, or personal data to any server. Sensitive screens set FLAG_SECURE to prevent screenshots.
Can I delete all my FocusFlow data?
Yes. Clearing app data via Android Settings → Apps → FocusFlow → Clear Data removes all locally stored data. Uninstalling FocusFlow also removes all data. Note: if Device Administrator mode is active during a session, you must end the session or use the session PIN before uninstalling.
Switching from another app
Can I import my block list from AppBlock, StayFree, or Digital Wellbeing?
Yes. FocusFlow auto-detects TXT (one package name per line), CSV, and JSON block list exports from AppBlock, StayFree, ActionDash, and Digital Wellbeing Takeout. Import the file and FocusFlow matches package names automatically.
What if the app I'm switching from doesn't have an export feature?
Use name-based import — paste app display names like "Instagram", "TikTok" and FocusFlow fuzzy-matches them against your installed apps. Review the matched list, confirm, and tap "Add to Block List." Works for Stay Focused, Lock Me Out (free tier), and any other app without export functionality.

Still have questions?

Open an issue on GitHub — the source code is fully available and the community is active.

⬇ Download APK Ask on GitHub →