The desktop work tracker

Know what shipped. Not who's at the keyboard.

A first-class desktop app that captures real work across projects — so reports reflect what happened, not what got typed into a Friday status update. Privacy isn't a setting here. It's the design.

macOS · Windows · Linux — capture off until you turn it on

SpiralDeck SpiralDeck — Desktop

SPD-241 · In progress

Encrypted blob upload pipeline

01:48:22

this session

Activity last 60 min · counts only
VS Code — pipeline.py
52m
Chrome — docs.aws.amazon.com
14m
Idle 09:12 – 09:21 — auto-paused not counted

Observability, not surveillance

Real work, captured honestly

Self-reported status is guesswork. Keystroke loggers are spyware. SpiralDeck takes a third path — anonymized signals that attribute time to work, with the worker in control of what's seen.

What it captures

Task-level work log

Start, end, hours and status transitions — the timeline of what was worked on.

Activity counts

Aggregated keyboard / mouse activity — a number, never the keystrokes behind it.

Active app & window title

Which app is in focus and its window title, to attribute time to the right work.

Browser tab title & domain

Tab title and the domain — never URL paths, query strings or form data.

Opt-in screenshots

Frames only when explicitly enabled for that user or project. Off by default.

What it never collects

Not configurable. Not behind an enterprise flag. The capture engine has no code path to read any of this:

Raw keystrokes Clipboard contents File contents URL paths & query strings DOM / page scraping Network traffic Microphone Camera Location

Screenshots, done right

Visible, randomized, and opt-in

When a project needs visual proof of work, screenshots are captured at randomized 5–10 minute intervals — never on a predictable clock, never silently. Off by default, configured per-project or per-user by the manager, and always paired with a clear on-screen indicator.

  • Off by default — explicitly enabled per user or project
  • Randomized 5–10 min intervals, not a fixed timer
  • Tray indicator whenever a frame may be taken
  • Encrypted at rest with per-tenant envelope keys
Capture settings · Project Atlas admin

Screenshot capture

Randomized · 5–10 min

Activity signals

Anonymized counts + titles

Review before manager sees

User approves their own captures

note ·Enabling capture applies going forward only — historical sessions can't be captured retroactively.

Consent and transparency

The worker is in control

Workforce monitoring earns trust or it fails. Every default here favors the person being measured — because a tracker people resent is a tracker people circumvent.

Off by default

Capture is opt-in. Screenshots are configured per-project, or per-user by the project manager — never on silently.

Always visible

A tray indicator and in-app banner show capture state at all times. No hidden recording, ever.

You see it first

Users can review their own captured data before a manager can — configurable per workspace.

No retroactive capture

Admins cannot reach back and enable capture on historical sessions. The past stays untouched.

Idle means paused

No input, no capture. The engine pauses on idle so breaks never count as monitored time.

Online-only by design

No offline cache of sensitive data on the device. Nothing sensitive sits on a stolen laptop.

Secure by architecture

The app is untrusted — on purpose

We assume the desktop app can be tampered with or its device stolen. The server, not the client, is the authority on every byte that flows in.

01

Untrusted client

The desktop app holds no long-lived secrets. The server validates and rate-limits every upload.

02

mTLS + signed tokens

The capture engine ↔ server channel uses mTLS with per-install certs and short-lived, workspace-scoped upload tokens.

03

Encrypted at rest

Screenshots and activity blobs are encrypted with per-tenant envelope keys, stored apart from their metadata.

04

Audited toggles

Every capture toggle and data export is written to an immutable audit log — who, what, when.

Native on every desk

One app, three platforms

A Flutter shell with native OS hooks, built for the machines your team actually uses.

macOSWindowsLinux

See the real picture of your work.

Capture is off until you turn it on — and even then, the worker sees everything first. Start free, no per-seat pricing, no surveillance theatre.