How Active-Window Time Tracking Works (Not Spyware)
Active-window time tracking records which application is in the foreground, the title of that window, and how long it stays there — and nothing else. It's how passive time trackers log your day without a timer, and it's a fundamentally different thing from employee surveillance.
What active-window tracking actually records
At any moment, your operating system has exactly one foreground window — the app you're currently focused on. Active-window tracking samples that focus over time and writes down three things:
- The application —
Figma,VS Code,Chrome,Slack. - The window title — the text in the title bar, e.g. the document name or the browser tab.
- The duration — how long that window stayed in front before you switched.
String those samples together and you get a timeline: 47 minutes in a design file, 12 minutes in email, 90 minutes in a code editor. That timeline is the raw material for passive time tracking — your hours, reconstructed from what you were actually doing, with no start/stop button to forget. It is the capture model behind time tracking for developers, where a day is a stack of context switches rather than one long block.
How the OS exposes the active window
This isn't a hack or a backdoor. Every desktop operating system offers a documented way to ask, "which window has focus right now, and what's its title?"
| OS | Mechanism |
|---|---|
| Windows | GetForegroundWindow + GetWindowText (Win32 API) |
| macOS | NSWorkspace frontmost application + Accessibility API |
| Linux | The active-window property on X11, or the compositor on Wayland |
These are the same APIs that legitimate accessibility tools, window managers, and automation utilities use. The tracker polls them every few seconds, notes any change, and moves on. It reads a label the OS already publishes — it doesn't reach inside the app.
What it does not capture
This is the line that matters, so it's worth stating plainly. Active-window tracking does not record:
- No screenshots. It never captures what's on screen — only the window's title text.
- No keystrokes. It isn't a keylogger; the keys you press are never read or stored.
- No mouse tracking. Cursor position and clicks are invisible to it.
- No screen recording. There's no video, no periodic image, no visual feed of any kind.
- No content. The body of your document, email, or message is never touched — only the title bar.
A keylogger and a screenshot tool answer "what exactly are they typing and seeing?" Active-window tracking answers "which app, for how long?" Those are different questions, and the second one is all you need to track billable hours accurately.
The privacy line: personal tracking vs surveillance
The same raw signal — the foreground window — can serve two opposite purposes. The difference is who holds the data and why.
Personal time tracking is a tool you point at your own work. You see your timeline, you decide what's billable, you categorize it into projects. The data describes your day to you. It's the digital version of jotting hours in a notebook, except accurate.
Employee surveillance points the same signal at someone else, often without meaningful consent — and pairs it with the things active-window tracking deliberately omits: screenshots every few minutes, keystroke counts, idle-shaming, productivity scores. The intent is monitoring, not measurement.
A tool that records only the active window, and shows it only to you, sits firmly on the personal-tracking side of that line. The moment it starts capturing your screen or keystrokes for a manager to review, it has crossed into surveillance — regardless of what it's called.
Why window titles should stay on-device
Window titles are the most sensitive part of the signal, because they can be specific: a file named Acme_Q3_layoffs.xlsx, a private browser tab, a client's name in a document title.
That's why a well-designed tracker lets you keep window titles on-device — used locally to categorize your time, but never required to leave your machine. The categorization can happen on your own computer, so the descriptive label that helps you sort your hours doesn't have to become a line in someone else's database. Good tools also let you exclude specific apps entirely, so anything personal never enters the log in the first place.
When you evaluate a passive tracker, that on-device option is the question worth asking. It's the difference between a tool that respects the data and one that hoovers it up by default — the default BillNotch's automatic time tracker is built on.
A quick mental model
To decide whether any tracker is reasonable, ask three questions:
- What does it record? Active window and duration is modest; screenshots and keystrokes are not.
- Who sees it? You alone is personal; a manager dashboard is monitoring.
- Where does it live? On-device by default is private; uploaded-by-default is a data-collection product.
BillNotch is built on the first answer in each pair — it records the active window to reconstruct your hours, keeps window titles on your device when you want, and takes no screenshots and logs no keystrokes. Active-window tracking, done this way, isn't spyware. It's a measurement tool pointed at your own work, recording the least it can to give you an honest picture of where your time went.