# An app usage tracker for Mac, feature by feature

An app usage tracker for Mac is only worth reading if it subtracts the time you were not there, which is why Tally discards idle time, sleep and alt-tab noise before it shows you a single number.

- URL: https://swiftfox.studio/handbook/app-usage-tracker-for-mac
- About: https://swiftfox.studio/apps/tally
- Published: 2026-08-06
- Updated: 2026-09-06
- Publisher: Swiftfox Studio (https://swiftfox.studio)

## In short

- Tally records which apps and sites your day went to with no permissions at all; Accessibility adds the document or window, Automation adds the website, and Firefox needs only Accessibility.
- Idle time, sleep and the lock screen are subtracted, switches under three seconds are discarded, and a segment too long to be true is cut rather than believed.
- Categories sort time by the kind of activity - Coding, Writing, Social and seven more - and a one-click correction applies to your whole history, past weeks included.
- A daily ceiling on a site, an app, a category or the whole day says something once when it fills, warns early at 80% - and never closes, hides or blocks anything.
- It is pay what you want with a suggested price of $3.99, needs macOS 14 or later, takes about 15 MB, and keeps every record on your own Mac.

## Why your Mac cannot answer a simple question

The question is "where did today actually go?", and the machine that watched all
of it happen ought to be able to answer. On a Mac, out of the box, it mostly
cannot. Apple ships no Screen Time API for third-party apps - the frameworks
behind it on iOS never crossed over - and Apple's own Screen Time pane is not
much of an answer either. It is buried in System Settings, it has no timeline,
and it only breaks websites out for Safari. If your day happens in Chrome, it
says "Google Chrome, five hours" and stops there.

[Tally](https://swiftfox.studio/apps/tally) is a menu-bar app that does the measuring itself, from
signals macOS does expose: which app is frontmost, whether anyone is at the
keyboard, when the machine slept or locked. With permissions you choose to
grant, it adds which document and which website. Everything it records stays on
your Mac. Everything below is in the shipping version.

## Useful before you grant anything

Most trackers in this category open with a permissions wall. Tally's first
honest feature is that it works with nothing granted at all: install it, answer
no prompts, and you still get accurate per-app totals - how long in the editor,
how long in Slack, how long in the browser.

Each permission then adds one layer of detail, and the app is explicit about
which buys what. **Accessibility** lets it read the focused window's title,
which is how "Xcode, three hours" becomes the project you were in, and
"Preview" becomes the PDF you were actually reading. **Automation** lets it ask
the browser which site is open, so browser time stops piling up under one icon
and lands on the sites it belongs to - Safari, Chrome, Brave, Edge, Vivaldi,
Opera and Arc are all read this way.

Firefox is the odd one out, in a good way: Gecko browsers expose the page
address through the accessibility tree, so Firefox needs no Automation grant at
all. And if a permission is missing, the popover says so in a banner pinned
above the list, where it cannot be scrolled out of sight.

## The numbers subtract what you were not there for

A usage tracker is only worth reading if you can trust it when it disagrees
with you, and that trust is lost the first time it counts an hour you spent
making coffee. Most of Tally's engineering is in what it refuses to count.

If no input arrives for two minutes - a threshold you can move between one and
fifteen - the current segment is suspended, and it is suspended retroactively,
back to your last keystroke or click rather than to the moment the idleness was
noticed. Sleep and the lock screen end a segment the same way. An app you
alt-tabbed through for under three seconds is discarded as noise. And a segment
claiming to run longer than eight hours is cut rather than believed, on the
theory that a number like that is not a fact, it is a bug.

![The Tally main window's Day view, an hour-by-hour timeline of the day's segments with visible gaps](https://swiftfox.studio/tally/listing/shot-2.jpg "The Day view keeps the gaps. Time you were away is missing from the strip, which is what makes the strip believable.")

The gaps this leaves in the timeline are deliberate. A day at a desk is not a
solid bar, and a tracker that draws one is describing its own bookkeeping, not
your day.

## Ten seconds in the menu bar, a card on the desktop, the window behind both

The badge in the menu bar says how the day is going before you click anything:
the mark, and a tone that shifts as the fullest ceiling you set fills up. What
it does not carry, unless you ask for it, is a number. A counter ticking in the
corner of the screen is a nervous tic rather than a feature, and a number that
appeared up there on an update would be a change made to everybody that nobody
asked for. If you do want one, Settings offers three: today's total, what is in
front of you and how long it has been, or how full your fullest limit is.
Leaving it off costs nothing - no timer, no reading.

Click it and the popover answers the quick version of the question: today's
total, a strip of the categories it went to, and a ranked list of apps with
proportional bars. The list has no arbitrary top ten; anything that got at
least a minute is there, and what falls off is time that rounds to nothing. A
Day / Week toggle widens the frame. There is no Month in the popover, on
purpose - a month squeezed into a popover is a number without a shape.

![The Tally menu-bar badge carrying today's total, with the popover open under it](https://swiftfox.studio/tally/listing/shot-1.jpg "The popover is the ten-second read: the total, the categories, where the big blocks went - and the ceiling that is nearly full.")

The window behind the **Full report** button is where the shape lives. Day is
an hour strip, Week is a stacked bar chart, Month is a contribution grid with
one square per day. The Overview tab adds the numbers worth a tile - longest
unbroken stretch, app switches as a rate, time away, busiest hour - and Trends
tracks what moved against the previous period, with an hourly rhythm chart that
answers "am I actually a morning person" with data. In Breakdown, every app row
expands into what happened inside it: the sites inside the browser, the
projects inside the editor, the tool running inside the terminal.

The third surface is a card on the desktop, in the two sizes macOS gives a Mac
widget. The small one carries today's total and what most of it was; the medium
one adds the apps it went to and the seven days behind today, so a quiet
Wednesday is visible as a quiet Wednesday rather than as a number with nothing
to compare it to. Clicking either opens the full report. The card is read-only
by construction - it never touches the database, only a small file the app
writes for it, at most once a minute and never when the card would look the
same anyway.

![The Tally desktop widget in both sizes, showing today's total, its categories and the week behind it](https://swiftfox.studio/tally/listing/shot-5.jpg "The same day as a card. Small says how much of today is gone and what most of it was; medium adds the apps and the week.")

## Categories you fix once, retroactively

Raw app names are honest but unreadable; nobody plans their week in units of
"Terminal". So Tally sorts time into ten categories - Coding, Writing, Design,
Communication, Social, Entertainment, Reading, AI, Utilities, Other - on one
deliberate axis: the kind of activity, never its purpose. A taxonomy with
"Work" in it undercounts work systematically, because an hour of work Slack
files under communication and an hour of work reading files under reading. Kind
is a question software can answer. Purpose is not.

![The Tally Week view as a stacked bar chart, each day's bar split by category](https://swiftfox.studio/tally/listing/shot-3.jpg "The week, stacked by category: what kind of activity the days were actually made of.")

The out-of-the-box mapping covers a few hundred well-known apps and sites, and
it will still be wrong about your tools somewhere. The fix is one click: every
row in the Breakdown tab carries a tag button that reassigns it. Two details
make this better than it sounds. A rule about a site always outranks a rule
about an app, because a browser is a window onto categories, not a category of
its own. And every correction is retroactive - categories are resolved when the
numbers are read, never stamped onto the stored records - so one click also
fixes March.

## A ceiling you set for yourself

A report describes the day after it has gone. A limit is the same app speaking
while there is still something to decide, and it is the one thing in here that
is about the future rather than the past.

A ceiling can be about four things, because the questions people actually ask
are four different sizes: not more than half an hour on youtube.com (a site),
not more than an hour of Social (a category), not more than six hours in the
editor (an app), and not more than eight hours at this machine at all (the
whole day). Site limits match by suffix, so a limit on `youtube.com` also
covers `music.youtube.com` - anything else would be a trap, because you set a
limit on YouTube, not on one of its hostnames. You add one in Settings, or by
right-clicking the row in the report you were already looking at.

![Tally's Settings showing three daily limits - a site, an app and the whole day - each with a bar under it](https://swiftfox.studio/tally/listing/shot-6.jpg "Each ceiling draws where it stands today under the control that sets it, because that is the reason you set one.")

Every ceiling resets with the calendar day, and every one of them shows its
progress under the control that sets it - a list of limits with no numbers
beside them would send you back to the report to find out whether any of them
mattered. The popover shows the fullest one, and only when it is close: a
section that appeared every time you opened it would be one more thing to look
past. There is an early warning at 80% by default, movable or switchable off,
which exists because the useful moment is before the ceiling, not at it.

The open segment counts toward all of this. Segments only close when you switch
away, so a limit reading the stored records alone would notice you had passed
it after you left - the one moment the warning is no use.

**Nothing is ever blocked.** No app is closed, no site is hidden, and there is
no "extend by fifteen minutes" button to negotiate with. That is a different
product with a different set of promises, and a tracker that quietly grew teeth
is a tracker people stop running.

## One notification a week, and one when a ceiling fills

The weekly one is a digest on Monday at 09:00, saying what moved against the
week before. The day and hour are configurable; the restraint is not. A change
has to clear both ten percent and fifteen minutes before it is called a mover,
and if the week had fewer than three active days the digest stays silent,
because a summary built on two sessions is noise wearing a suit. The rule in
the source code is worth quoting: say nothing rather than something wrong.

The other is a limit reaching its ceiling, said once per limit per day and
posted the moment it happens rather than scheduled for later. That distinction
is not pedantry: nothing is ever queued up to fire in the future, so quitting
Tally leaves nothing behind to go off without it. Both kinds can be turned off
without turning off the measuring.

## Where the data goes: nowhere

Everything Tally records is stored on your Mac. There is no account, no server
and no sync - your usage data never touches a network. The desktop card is the
only thing that reads any of it from outside the app, and it reads a small file
in a shared container on the same machine, holding the numbers already on the
card and nothing else. For websites, the release build keeps only the domain,
never the full address. If window titles
feel like more than you want on disk, one switch turns detail capture off and
Tally records app totals only; and Settings deletes everything it has ever
stored in one click. Retention is a choice too: 30, 90 or 365 days, with 90 the
default.

The same design explains where you will not find it. Tally is a direct download
rather than a Mac App Store app, because the sandbox forbids exactly the
accessibility reading the whole product is built on.

## What it deliberately does not do

It does not intervene. Tally has ceilings, but a ceiling only ever says
something - it never closes an app, hides a site, dims a screen or offers you
fifteen more minutes. There is no downtime schedule and no screen that tells
you to stop. If stopping is the problem rather than seeing, that is a blocker's
job.

It does not read anything but the title bar. With Accessibility on it takes the
focused window's title; with Automation on it asks the browser which site is
open. There is no keystroke logging, no screen capture, and nothing anywhere that
looks at what a document actually says.

There is no productivity score. Nothing here calls an app good or bad, sorts your
day into focused and distracted, or hands you a number out of ten. Categories are
yours, and the only judgement in the app is the one you make while looking at the
report.

And it cannot fill in a gap. A day Tally was not running is a day it cannot
account for, which is the whole argument for the Open at login switch.

## What it costs, and what else to look at

Tally needs **macOS 14 or later**, runs on Apple Silicon and Intel, and takes
about 15 MB. It is **pay what you want** with a suggested price of $3.99 - an
amount that genuinely includes zero - and the license you get is permanent
either way. The full specification is on [the Tally page](https://swiftfox.studio/apps/tally).

It also measures only this Mac. Phone time, tablet time and the other laptop
are out of frame, and Tally would rather be complete about one machine than
approximate about four.

If what the numbers tell you is that the afternoons dissolve, two neighbors
point at the follow-up moves. [Anchored](https://swiftfox.studio/apps/anchored) is the deliberate half
of time tracking - one task and its countdown in the menu bar - covered feature
by feature in [a menu bar task timer for Mac](https://swiftfox.studio/handbook/menu-bar-task-timer-for-mac).
And when the biggest row in the report is a site you would rather not be ruled
by, [NoMore](https://swiftfox.studio/apps/nomore) puts a decision in front of it rather than a
timetable, in [how to block websites on a Mac](https://swiftfox.studio/handbook/how-to-block-websites-on-mac).
