Published formulas, no black boxes

Every score is explained in-product — with the caveats that keep it fair.

Opaque scores create grievances and churn. So every number here is published, explainable, and visible to the person it describes. And each one carries the same honest warning: it measures interaction, not value.

Activity level

A 0–100 score measuring input density in a rolling 10-minute window.

Published formula

raw = 0.6 × min(keys / 600, 1) + 0.4 × min(mouse / 400, 1) · activity_level = round(100 × raw)
  • 0No input — idle or away
  • 1–29Low — reading, watching, thinking, on a call
  • 30–59Moderate — mixed reading and writing
  • 60–100High — sustained typing or heavy mouse work

The mandatory caveat, shown wherever this score appears

It measures interaction, not value. A designer, a developer reading code, and a person on a video call all legitimately produce low activity levels — so it must never be the sole basis for a performance decision, and the product says so on the report.

Productivity score

The share of active time spent in apps and sites categorized productive for that role.

Published formula

productivity = 100 × productive_seconds / (productive + unproductive)

The mandatory caveat, shown wherever this score appears

Neutral is excluded from the denominator, never counted as unproductive — counting Slack or email as unproductive is the classic mistake that makes these tools distrusted. Below 60% coverage the score renders greyed as 'insufficient classification' rather than presented as fact. Categories resolve per role, not globally.

Screen productivity

The score-only alternative: productive foreground seconds over total foreground seconds — with no image captured.

Published formula

screen_productivity = 100 × productive_foreground_seconds / total_foreground_seconds

The mandatory caveat, shown wherever this score appears

The reason we can deploy where every screenshot vendor is banned. Reported with an hourly breakdown and top productive / unproductive apps — but no image is ever captured, so there is nothing to blur, redact, subpoena or leak. Ships on every plan, including Free.

Signals, not verdicts

“Worth a look” — never “violation detected”.

Data-quality flags surface a pattern for a human to look at. The product makes the conversation easy, not the accusation — it never silently trusts a signal, and never silently discounts one.

Automation tooling

Perfectly periodic mouse events, zero keyboard, static screenshots.

Ghost hours

Tracked with near-zero activity for over two hours.

Time anomaly

Wall-clock and monotonic clock diverge on a device.

Attribution gap

A high unassigned ratio for a member over several days.

Capture failure

Screenshots or app sampling failing on a device.

Self-report spike

A sudden rise in manual offline entries — usually a broken agent.

What we deliberately do not ship:

a single ranked “employee score”, activity level as a payment gate, silent scores the member can't see, named-individual job-search alerts, or screenshot OCR. Each one is statistically meaningless, unfair, or an invasion of privacy — so it stays out.

And every report a manager can run about a member, that member can run about themselves.