The offline time tracker
for air-gap and compliance-restricted environments

Defence. Healthcare. Legal. Government. Anyone who needs to log billable hours on a machine where SaaS is blocked, restricted, or simply not allowed. Zero outbound calls required to function. Windows + macOS.

Zero outbound calls required Local cryptographic licence Portable .exe, no installer needed

Network footprint: the app makes exactly one optional outbound call.

That call is to https://workforcetimetracker.com/version.json to check whether a newer release exists. It can be disabled in Settings, in which case the app makes zero outbound calls and is fully air-gap friendly. The licence file is RSA-PSS-signed and validated locally - no server is ever contacted for licence enforcement.

What "fully offline" means in practice

No network

Time tracking

Start and stop timers, log idle time, switch between customers, edit entries, week calendar - all local. Zero network required.

No network

Licence validation

The licence is a small JSON payload signed with RSA-PSS. The app verifies the signature against a public key built into the binary. No server contact, no activation flow.

No network

Exports + invoicing

Excel, CSV and PDF invoice generation are all local. Paste your logo in Settings; the PDF generator runs in-process.

No network

Multi-device sync

Use an internal SMB / NFS share, a NAS, or peer-to-peer SyncThing. The app writes JSON files into the folder; your existing replication does the rest.

No network

Auto-detection

The Salesforce / Dynamics / Standalone editions read your active window title locally. They never call any CRM API. Works the same on a disconnected machine.

Optional

Version check

One HTTPS request per 4 hours to workforcetimetracker.com/version.json. Disable it in Settings if your environment forbids egress; the app continues to work indefinitely.

Why this works in environments that block SaaS

No vendor account exists

You never sign up to anything. There is no "Workforce Time Tracker user" in any database we own. We literally cannot have a data breach involving your data because we don't have your data.

No DPA or vendor-risk review needed

Because we don't process your personal data, there is no Data Processing Agreement to negotiate, no GDPR Article 28 review, no vendor risk assessment for procurement. You buy a licence, you install software. End of process.

Source-of-truth files you can audit

Your time entries, customers, settings and licence live in human-readable JSON in a folder you control. Diff them, grep them, back them up to your NAS, archive them in 30 years. You own the format.

Portable .exe (Windows)

Single-file self-contained binary. Unzip and run. No installer, no Registry writes (other than optional auto-start), no admin rights. Suitable for VDI / Citrix environments and locked-down workstations.

Ad-hoc-signed .app (macOS)

Signed but not yet notarised - one-time Gatekeeper click on first launch, then runs normally. Apple Silicon native. Standard macOS quarantine flag, removed after first approval.

One licence, all your devices

Per-user named licence works on any number of your own machines. No per-machine activation lock. Move between desktop, laptop, VM, Citrix - same licence file copied along.

Common questions about offline / air-gap operation

Will the app work on a machine with no internet at all?

Yes. The app makes exactly one optional outbound call - a version check to workforcetimetracker.com/version.json - and that can be disabled in Settings. Time tracking, idle detection, exports, PDF invoicing, multi-device sync (via a local network share or USB stick) and licence validation all work with zero outbound connectivity.

How is the licence validated if there is no internet?

Locally. The licence is a small JSON file with an RSA-PSS digital signature. The app verifies the signature against a public key embedded in the binary. No server contact ever. There is no per-machine activation lock - copy the licence file to as many of your own machines as you want.

Can it be installed on a locked-down corporate VM with no admin rights?

Yes. The Windows build is a portable single-file .exe that can be unzipped to any folder you can write to (Desktop, OneDrive, USB stick) and run without administrator privileges or installer. The macOS build is an .app bundle that runs from anywhere your user account can write to.

How do I get updates if the machine is air-gapped?

Manually. Download the new version zip on a connected machine, transfer it via the channel your organisation already uses (USB stick, secure file share, controlled removable media), and replace the .exe. The licence file and data folder remain untouched between versions.

Is multi-device sync possible without a cloud account?

Yes. Point the app at a folder on your internal SMB / NFS share, NAS, or even a SyncThing peer-to-peer cluster. The app writes JSON data files into that folder; the share replicates between your devices. No external cloud sync provider is required.

Does it phone home with telemetry?

No. There is no telemetry, no analytics SDK, no crash reporter calling out, no usage tracking. The only optional outbound call is the version check (workforcetimetracker.com/version.json) which can be disabled in Settings.

What happens to my data if my subscription lapses mid-contract?

You get a 14-day grace period after the expiry date during which the app keeps working normally. After that, the app shows renewal reminders but does not lock, encrypt or hide your data. Your time entries, customer list, exports, settings and backups remain in plain JSON files you can read with any text editor, archive, or migrate to any other tool. This is written into the EULA at section 8.5 - it is a contractual commitment, not a marketing line.

Try it for 14 days, no account, no credit card

Same product on Windows and macOS. One licence covers both.

Download the trial
Also relevant: GDPR-compliant time tracker Salesforce time tracker Dynamics 365 time tracker Jira time tracker