FJ Flow is a resident Windows desktop utility (implemented in AutoHotkey v2) designed to seamlessly display a caret-following status indicator, handle smart ShiftLock, row highlight (F8), zoom window (F9), and focus window borders.
To interact with the OS and monitor input areas in various text editors, browsers, and Office applications, FJ Flow utilizes specific Windows APIs and configurations. In line with accessibility standards and the principle of Least Privilege, FJ Flow is designed to be fully standalone, securing your data by performing all operations locally without any network access.
1. Windows OS Mechanisms & Permissions Used
Used to monitor and hook specific keyboard triggers safely, such as "single tap Shift key (under 300ms)" for ShiftLock, "double-tap Ctrl key" to pause/resume the tool, and hotkeys (F8/F9). Key events are processed strictly in-memory to trigger visual elements and are never saved to disk (no keylogging) or transmitted externally.
FJ Flow leverages the native Windows UI Automation (accessibility) API to obtain the exact, real-time screen coordinates of the active text insertion cursor (caret) inside browsers (Chrome, Edge) and text editors (VSCode, Notepad, etc.).
When Firefox and Canvas-based editors (like Google Docs) are detected, FJ Flow automatically sends a temporary Ctrl+Alt+Z command (which enables Screen Reader Mode) to force the editor to construct an accessibility tree, allowing the coordinates to be retrieved reliably via the IAccessible2 interface.
By default, FJ Flow runs with standard user privileges. However, when active windows belong to processes running with administrative privileges (e.g., Task Manager, elevated terminals, installers), Windows User Account Control (UAC) blocks hook operations from lower-privilege apps. Running FJ Flow "as Administrator" resolves this restriction.
All customization settings (colors, opacity, font size, custom characters) configured in the GUI settings panel are saved in a local configuration file named fjFlow.json in the same folder as the executable. No cloud syncing or telemetry reporting is included.
To prevent alignment issues on multi-monitor setups with mixed DPI settings (e.g., 125%, 150%), FJ Flow calls the Windows API SetThreadDpiAwarenessContext to calculate coordinates dynamically and align elements properly.
2. Complete Offline Privacy Policy
FJ Flow has zero networking capabilities. It does not communicate with external servers, ensuring that your typing data, application list, and settings never leave your local machine. The application is fully open-source, allowing anyone to verify its safety and integrity.