1. Home
  2. Guides
  3. Automatic time tracking

Automatic time tracking software for Windows: how it works and how to choose

What a passive tracker actually records on your PC, how that raw activity becomes a timesheet, and the privacy questions to ask before you install one.

Short answer
  • Automatic time tracking records which app and window you were in, minute by minute, so you don't have to remember to start a timer.
  • On Windows this comes down to a few well-known signals: the foreground window, its title and process, the browser tab, idle time, and lock/unlock events.
  • The raw log is not a timesheet. Rules, Jira-key matching and (optionally) AI turn it into entries you review and confirm.
  • Before installing anything, check where data is stored, what leaves your machine, and who else can see it.

Automatic tracking vs. timers

A timer-based tool asks you to press Start when you begin a task and Stop when you switch. It produces clean data on the days you remember, and holes on the days you don't. Anyone who has reconstructed a Friday afternoon from Slack history and commit timestamps knows how that ends.

Automatic (passive) tracking flips the order. The app runs in the background and records what you were doing, without asking. You decide afterwards what that activity was for. Capture is complete by default; the work moves from "remember to click" to "review and label."

That trade matters most for people who switch context a lot: developers bouncing between an IDE, pull requests and Jira, support engineers juggling tickets, consultants billing several clients in one day. For someone who spends four hours straight in one document, a timer is fine.

How passive tracking works on Windows

There is no magic here. Most desktop auto-trackers rely on the same handful of documented Windows mechanisms.

Foreground window and title

Windows exposes the window you are currently using through the Win32 function GetForegroundWindow. A tracker either polls it every second or two, or subscribes to foreground-change events, then reads the window's title. Titles are surprisingly informative. A VS Code window might be titled auth-service · feature/CASE-1423-token-refresh, which already tells you the repository and the branch.

Process name

From the window handle, the tracker can look up the owning process, for example Code.exe, OUTLOOK.EXE or chrome.exe. The process name is the stable "app" label; the title is the volatile detail.

Browser tab: title and domain

For browsers, the window title is the active tab's page title. Getting the address is harder. Trackers typically use one of two routes: Windows UI Automation, which can read the address bar the same way a screen reader does, or a browser extension that reports the active tab. Either way, a good tracker can reduce github.com/acme/billing/pull/412 to just the domain, github.com, if you prefer not to keep full URLs.

Idle detection

GetLastInputInfo returns the time of the last keyboard or mouse input. It does not reveal what you typed, only when. If nothing has happened for, say, five minutes, the tracker marks that stretch as idle so a lunch break doesn't count as forty minutes in Outlook.

Session lock and unlock

Apps can register for session notifications and receive an event when you press Win+L and when you sign back in. That gives clean boundaries for meetings in another room, breaks and the end of the day.

What these signals don't include. None of the mechanisms above require screenshots or keystroke logging. A tracker that does capture those has chosen to, and you should know why.

From raw activity to a timesheet

A day of passive tracking looks like hundreds of small blocks: 4 minutes in Teams, 11 in VS Code, 2 in Chrome on jira.example.com, back to VS Code. Nobody wants to submit that. Three layers turn it into something useful.

  1. Rules. "Anything in Figma.exe goes to Design," "Calendar time in Teams goes to Meetings." Predictable and transparent, but they need maintenance and break when your work changes.
  2. Keyword and Jira-key matching. Issue keys like CASE-1423 show up everywhere: branch names, PR titles, Jira tab titles, commit messages in your git client. A simple pattern match (letters, a dash, digits) can attach a large share of a developer's day to the right issue with no guesswork and no AI at all.
  3. AI classification. For blocks with no key, such as a Slack thread, a design doc or a meeting, a language model can suggest which task they most likely belong to, based on titles and context around them. It is a suggestion, not a verdict; you still confirm.

The last step is always a human review. Our guide on how to fill your timesheet in 10 minutes covers that habit in detail, and how to log time in Jira explains where the confirmed entries end up.

Privacy checklist for choosing a tracker

An auto-tracker sees a lot of your day. Run through this list before installing one, and look for answers in the vendor's documentation rather than the marketing page.

  • Where is data stored? On your device, in the vendor's cloud, or both? Local-first means the activity log stays on your PC unless you choose to send something.
  • What leaves the device, and when? Continuous sync, a daily upload, or only when you click a specific button?
  • Screenshots? Is screen capture on, off, or configurable, and by whom?
  • Keystrokes? Counting input activity for idle detection is different from recording what you typed. Ask which one it is.
  • Full URLs or just domains? Full URLs can contain document names, customer IDs and search terms.
  • Who can see the data? Is there an employer or admin dashboard? Can a manager view individual timelines?
  • Export and delete. Can you export everything and delete it permanently, including from backups in the cloud?
  • Offline mode. Does tracking work without a network connection, and does it work without any account at all?
  • AI processing. If AI is involved, what exactly is sent, to whom, and can you switch it off?

For reference, here is how we answer these for our own app on the Timesheet Tracker privacy page.

Employee monitoring vs. personal time tracking

These two categories use similar technology and very different intentions, and they often show up in the same search results.

Employee monitoring software is installed for the employer. Data flows to a central dashboard, admins configure what is captured, and features like screenshots, productivity scores and activity alerts are common. The person being tracked is the subject, not the user.

Personal time tracking is installed by you, for you. The goal is an accurate timesheet with less effort. You control the data, you decide what gets submitted, and nobody sees your raw timeline unless you share it.

If a tool's pricing page talks about "team visibility," "productivity scores" or "screenshots every N minutes," it is built for monitoring, whatever the homepage says. That isn't wrong in itself, but it is a different product from the one you want for your own timesheet.

Comparison: desktop auto-trackers on Windows

The table below reflects our reading of vendor sites as of October 2026. Plans and features change often, so verify current details before you decide. Where we weren't sure, we wrote "check vendor."

Tool Capture approach Where data lives Jira worklogs Pricing note
Timesheet Tracker Automatic: active app, window title, browser tab domain, idle/lock Locally on your PC Yes: Jira Cloud and Server/Data Center, after you confirm the day Free during early access; Microsoft Store release coming
Memtime Automatic, local-first activity timeline Locally, by vendor's description Via integrations; check vendor Roughly $14–30/mo per user; not in the Microsoft Store
Timely Automatic "Memory" tracking with AI-drafted entries Cloud Check vendor Roughly $11–28/mo per user
Rize Automatic, focused on focus and productivity, AI categorization Cloud; check vendor Check vendor Paid subscription; check vendor
ManicTime Automatic, long-standing Windows timeline tracker Local, with an optional server Check vendor Free and paid editions; check vendor
RescueTime Automatic, productivity analytics Cloud Check vendor Check vendor
Toggl Track Manual timer first; desktop app adds timeline/auto-tracker features Cloud (timeline data; check vendor) Check vendor Free tier and paid plans; check vendor

A rough way to read it: if you want insight into how you spend attention, RescueTime and Rize lean that way. If you bill clients from a shared team workspace, Timely and Toggl Track are built around that. If your end product is Jira worklogs and you want the raw activity to stay on your machine, look at local-first tools such as Memtime, ManicTime or our own automatic time tracker for Jira. If Tempo is part of your setup, see our Tempo Timesheets alternatives roundup too.

Where Timesheet Tracker fits

Timesheet Tracker is a tray app for individuals. It finds Jira keys in titles, URLs and git branch names locally, without AI. For the rest of the day there is a "Sort my day" button: AI assigns remaining blocks to Jira tasks and drafts one worklog text per task. You change a task or mark a block as not work, confirm the day, and worklogs go to Jira without duplicates, or out as CSV. Only when you click that button are masked window titles, app names, domains and durations sent; never full URLs, page content, screenshots, keystrokes or your Jira token. There is also a "No AI" mode. Tempo and Excel export are planned, not shipped.

How to set it up so it's actually useful

Most people who abandon automatic tracking do so in the first week, because the first day's timeline looks messy. A little setup fixes most of that.

  1. Run a one-week trial on real work. Don't judge from day one. You need a few normal days to see which blocks are matched well and which aren't.
  2. Name things by Jira key. Put the key in branch names, such as feature/ABC-123-retry-webhooks, and in PR titles. The tracker then sees ABC-123 in your IDE title, your git client and the pull request tab, and most coding time sorts itself.
  3. Keep Jira tabs open while you work. A tab titled "[ABC-123] Retry failed webhooks" is a strong signal for the minutes around it.
  4. Review daily for one minute in week one. Fix the handful of wrong assignments while the day is still fresh. This is also when you'll notice blocks that should be marked as not work.
  5. Then switch to a weekly review. Once matching is reliable, a single pass on Friday is usually enough.
  6. Decide your privacy defaults up front. Domains instead of URLs, AI on or off, which apps to ignore. Changing them later is fine, but deciding early avoids second-guessing.

If you want to see how far AI can take the labeling step, read AI timesheet: can AI fill your timesheet?

Let your timesheet fill itself

Timesheet Tracker records your day locally, matches Jira keys for you, and sends worklogs only after you confirm. It's free during early access and coming soon to the Microsoft Store.

You're on the list.We'll email you once, when Timesheet Tracker is live in the Microsoft Store.