time trackingactivity monitorprivacyautomatic time trackingfreelancing

File changes vs. activity monitors: a more honest way to track time

Activity monitors track time by watching every app and window you touch — sometimes your screen. Tracking file changes watches only the folders and URLs you choose. It turns out to be more private, it keeps the per-project context an app log throws away, and it lands as an invoice with no manual cleanup. Here's the difference, point by point.

One code editor fanning out to three client projects — track time from file changes, not activity

"Automatic time tracker" splits into two very different designs. One watches
your machine — which application is in the foreground, which window has the
title bar, how long since you moved the mouse, and in some products a screenshot
every few minutes. The other watches your work — the files you save in the
folders you nominated, and the URLs you visit that match patterns you set.

Both can fill a timesheet without you starting a timer. But they record
different things, and that difference decides how private the tool is, how much
context survives, and how much manual work stands between you and an invoice.

One app, many projects — the context an app log can't keep

Here's the problem an activity monitor can't solve: you do most of your work in
the same few tools. The same code editor, the same browser, the same terminal,
all day, across every client. So an app-level log tells you "code editor: 6h
12m" — a number you cannot bill, because it doesn't know whether those hours
were Acme, Beta, or Gamma. The context you actually need for an invoice is
exactly the context that app-level monitoring throws away.

A file change carries that context for free. ~/code/acme/api.py is Acme;
~/code/beta/checkout.tsx is Beta. The path is the project. Map each watched
folder (and each URL pattern) to a project once, and every edit routes itself to
the right client with no app in the world able to confuse them.

Side-by-side comparison. Left: an activity monitor showing hours per application — code editor 6h 12m, browser 2h 40m, terminal 1h 05m, chat 48m — with the unanswered question "Which of this was Acme? Beta? Gamma?". Right: file-change rows where each path routes to a project (acme, beta, gamma), splitting automatically into per-client totals of 3h 10m, 2h 05m, and 57m.

This is the whole game for anyone who bills more than one client with the same
toolkit. App-level time forces you to reconstruct which client each block
belonged to from memory — the exact guesswork automatic tracking was supposed to
remove. Path-level time never loses the thread.

It only sees what you point it at — the privacy difference

To know which app is in the foreground, a monitor has to watch every app in
the foreground — including your password manager, your bank, the message to your
partner, the job-search tab at 14:30, and whatever's on screen when it takes its
periodic screenshot. Accuracy and surveillance got bundled together, but they
were never the same feature.

File-change tracking inverts the default. It watches the folders and URL
patterns you explicitly listed, and nothing else exists to it. Point it at
~/code/acme and github.com/acme-co/*; everything outside that is never seen,
because there was never a reason to look.

Side-by-side comparison. Left: an activity monitor "sees everything you do" — a struck-through eye over a list including a password manager, banking site, personal messages, a job-search tab, and a screenshot every 10 minutes, captioned "all of it leaves your machine." Right: file tracking "sees only what you list" — watch ~/code/acme, watch ~/code/beta, match github.com/acme-co/*, match notion.so/acme/* — with checkmarks: paths and URLs only (no file contents), no screenshots or keystrokes or scores, stored locally first then synced as sessions.

The record is also readable. What gets captured is a file path and a URL — no
keystroke log, no "productivity score", no file contents, no screen. In
Temporal.ist that activity is written to a local SQLite database first, and only
the resulting sessions sync to the backend so teams and invoicing work. If you
can't read exactly what a tracker recorded about you, you can't trust it; this
is the opposite default.

No cleanup before the invoice — the automation difference

"Automatic" should mean the work is done, not that the capture is done and the
sorting is still yours. With an activity-monitor log, the timesheet is raw: every
weekend you filter out what wasn't billable, decide which client each block
belonged to (from memory, again), then export it somewhere that can actually
make an invoice. The capture was automatic; the part that takes your Sunday
wasn't.

Because file changes arrive already attached to a project — and projects link to
clients and rates — there's nothing to sort. The sessions are the line items.

Two flows compared. Top, "with an activity monitor": raw activity log, then a manual "filter billable" step, then a manual "match a client" step, then export and invoice — two steps flagged manual. Bottom, "with file changes": file edits and URLs captured automatically, sessions already per client and project, then invoice with line items and an auto number — labelled auto and "2 clicks".

In Temporal.ist that means tracked sessions become invoice line items in the
same tool, with auto-numbered invoices (ORG-YYYYMM-XXXX) and export to
PDF, CSV or JSON. Idle time — no in-scope file activity for a configurable
window, 15 minutes by default — auto-closes a session, so breaks aren't billed
and you didn't have to trim them by hand.

When an activity monitor is the right tool

To be fair: if your job is to prove activity to a client or employer —
screenshots as evidence, per-window breakdowns, idle-as-proof — then dedicated
monitoring tools like Hubstaff, Time Doctor, or Insightful are built for exactly
that and do it well. File-change capture deliberately can't produce that
evidence. It's the wrong tool for a surveillance mandate, on purpose. It's built
for people who want an accurate, billable timesheet, not a watched one.

The takeaway

An activity monitor answers "which apps did this person have open?" A
file-change tracker answers "what did I work on, for which client, and for how
long?" — which is the question a timesheet exists to answer. You get the
per-project context an app log can't keep, a record that only ever saw the
folders you chose, and a timesheet that becomes an invoice without a cleanup
step. Track from the work, not the window.

Frequently asked questions

What's the difference between an activity monitor and file-change time tracking?

An activity monitor records which applications and windows you use (and sometimes takes screenshots or counts keystrokes). File-change tracking records edits to files in folders you choose and visits to URL patterns you set. The first measures app usage; the second measures the work itself, already attached to a project.

Why can't an activity monitor split time by client?

Because most projects use the same software. An app-level log says "code editor: 6h 12m" without knowing which client those hours were for. A file path like ~/code/acme/api.py carries the project, so file-change tracking can split the same six hours across clients automatically.

Is tracking file changes more private than an activity monitor?

Yes. It only watches the folders and URL patterns you list — never every window, never your screen. It records file paths and URLs, not file contents, with no keystroke logging or productivity scores, and stores activity locally first before syncing sessions.

Why is it less work at invoicing time?

An activity-monitor log has to be filtered for what's billable and matched to a client before it can become an invoice. File-change sessions are already tagged by project, and projects link to clients and rates, so the sessions become invoice line items directly — no manual sorting.

When is an activity monitor the better choice?

When you need to prove activity to a client or employer — screenshots as evidence, per-window breakdowns, idle-as-proof. Dedicated monitoring tools are built for that. File-change capture deliberately avoids it and is meant for accurate billing, not surveillance.