privacyno screenshotstime trackingfreelancing

Time tracking without screenshots: how to log hours without surveillance

Most "automatic" time trackers earn the word by watching your screen — screenshots, keystroke counts, productivity scores. You can track hours accurately without any of that. Here's how capture works when it's based on file edits and URLs instead of surveillance.

An eye crossed out — time tracking without screenshots or surveillance

"Automatic" has come to mean "monitored"

Search for an automatic time tracker and most of what you find watches your
screen: periodic screenshots, keystroke and mouse-movement counts, a
"productivity score" out of 100, time-per-window breakdowns. For a manager
auditing a contractor, that's the point. For a freelancer, a small studio, or
anyone who just wants an accurate timesheet, it's a surveillance system you've
pointed at yourself.

The thing is, you don't need any of it to track hours accurately. Screenshots
are how some products prove work happened to a third party. They are not how
you measure how long the work took.

What you can track instead

Two signals are enough to reconstruct an honest billable day without watching a
single pixel of your screen:

  • File edits. A background desktop client (macOS, Windows, Linux) watches
    the directories you choose. Saving a file in a project's folder starts a
    session for that project. On servers, the Linux CLI does the same over SSH.
  • Visited URLs. Browser extensions (Chrome, Firefox, Edge, Safari) match
    URL patterns to projects, so research, docs, and web-app work get captured
    too.

Both are events you generate by doing the work. Neither requires a camera on
your desktop.

A side-by-side comparison: screenshot trackers with blurred screen captures, a productivity score and keystroke counts on the left, versus a plain auditable list of file paths and visited URLs on the right

"But is it as accurate?"

For billing, it's often more accurate, because it doesn't depend on you
remembering to start anything, and idle time (no in-scope file activity for a
configurable window, default 15 minutes) auto-closes the session so breaks
aren't counted. A screenshot every 10 minutes tells someone you were present;
a session built from your actual edits tells you what you worked on and for
how long.

Auditable by design

The privacy difference isn't just "we don't take screenshots." It's that
everything captured is readable:

A recent-activity feed showing timestamped rows of plain file paths and URLs, each routed to the Acme project, ending with an idle row where the session auto-closed

  • The activity feed shows real file paths and URLs — no AI re-summarising sits
    between you and what was recorded.
  • There is no keystroke log and no productivity score. The record is
    what you built and where you browsed, not a judgement about it.
  • Activity is captured locally first (a local SQLite database) 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.

When you actually do want surveillance

To be fair: if your business genuinely requires proving activity to a client or
employer — screenshots, idle-detection-as-evidence, per-window time — then
monitoring tools like Hubstaff, Time Doctor, or Insightful exist for exactly
that, and they do it well. Capture-from-file-edits is the wrong tool for a
surveillance mandate, on purpose. It's built for people who want an accurate
timesheet, not a watched one.

From private capture to an invoice

Because projects link to clients and rates, the sessions captured this way turn
into invoice line items in the same tool. You get accurate, billable hours and
a clean invoice without ever installing something that watches your screen.

The takeaway

Accuracy and surveillance got bundled together by the time-tracking market, but
they were never the same feature. Track from the work — file edits and visited
URLs — keep the record auditable in plain text, let idle time trim the breaks,
and bill from what was captured. No screenshots required, ever.

Frequently asked questions

Does this kind of time tracking take screenshots?

No — never. Tracking is based on file system events and visited URLs, both of which you can audit in plain text. There are no screenshots, no keystroke logs, and no productivity scores.

Is tracking from file edits accurate enough to bill from?

Yes, often more so than a manual timer, because it doesn't rely on you remembering to start it and idle time auto-closes sessions so breaks aren't billed.

Where is the captured activity stored?

Activity is captured locally first in a local SQLite database. Only the resulting sessions sync to the backend so teams and invoicing work; raw events stay on your machine until a session syncs.

Can I see exactly what was recorded about me?

Yes. The activity feed shows the real file paths and URLs that were captured, with no AI re-summarising in between — you can read precisely what counted.

I need screenshots to prove work to a client. Is this for me?

Probably not — this approach deliberately avoids surveillance. If you need screenshots or activity-as-evidence, dedicated monitoring tools are built for that use case.