visiblehours.com · $7 / seat / month
VisibleHours sits in the Windows tray on company PCs. Pause and Quit are one click. The installer is unsigned VisibleHours-Setup.exe — SmartScreen will warn. It records apps and idle. Interval stills and recording sessions stay off by default — not an always-on DVR. Zapier is a Catch Hook you paste; Slack, Jira, and Asana use OAuth. SSO is SAML 2.0 for existing managers — not OIDC. Mobile is a /checkin punch plus optional GPS. $7 per seat / month. This page does not start checkout. Send the employee notice before anyone runs Setup.exe.
Today · Example org
Example dayOnline now
2
Tracked
6h 12m
Idle
14%
On codes
5h
Jordan Hale
FIELD-DISP · Case follow-up · 3h
Sam Rivera
GRANT-Q3 · Grant draft · 2h
Avery Chen
No hours on a code yet
Create your organization at /signup. You are the admin. Other orgs cannot see your people. $7 / seat — this page does not start checkout.
Send the employee notice, then each person installs unsigned Setup.exe and pastes an invite. Pause and Quit stay one click.
Put tracked time on a client code, project, and optional task. The tray still shows the same day.
Site search
Public search answers product questions and opens pages that exist on visiblehours.com. Ask or Search “site search”, “website search”, or “open search” opens the full search page. “home”, “take me home”, “what is VisibleHours”, or “product overview” opens this page. “what can VisibleHours do” opens Features. It will not draft emails, send outreach, wipe data, hide tracking, or compare other products. Signed-in screen jumps stay in Ask VisibleHours after you log in.
Loading search…
Or open the full search page.
These twelve highlights match the Features hub. The tray stays visible — Pause and Quit are one click. Interval stills and recording sessions stay off by default — not an always-on DVR. Not a store app, not AI, not Google Calendar sync, not a Zapier marketplace listing, not OIDC, and not live Stripe checkout.
Allocate hours to a client code, project, and optional task. Allocations feed the Timesheets draft. Not a full project management suite, not Gantt charts, not a Jira clone.
Monday–Sunday draft from allocations, then Operations approve and export. Not auto-pay and not ADP certified.
You write the label. Not AI. Mark youtube.com unproductive. Unmatched minutes stay unclassified. Idle stays idle.
Productive ÷ classified time — arithmetic, not a firing tool. Distraction alerts use the threshold you set.
Monday–Sunday rollup and template coaching notes. Not a live model, not AI workforce insights, not who will quit.
A Monday–Sunday planned week. Not tracked time, not meetings, not Google Calendar sync, not an AI meeting bot.
Operations-enabled. Off by default. Interval stills, blur, and retention — not an always-on DVR. Send the employee notice first.
Off by default. On-demand or a weekday window. A short clip or upload — not an always-on DVR. The tray stays visible.
Three CSVs on /reports: activity, productivity, and allocated-hours. Not a warehouse, not SFTP, not ADP export certified.
Slack, Jira, Asana OAuth, plus a Zapier Catch Hook URL you paste — not a published Zapier app, not a marketplace listing.
One SAML 2.0 connection per org. ACS maps email to a manager who already exists. Not OIDC, not passwordless, not a vendor badge.
Phone-web punch at /checkin. Optional GPS on that punch only. No iOS or Android app, no App Store listing. The tray does not log GPS.
The full public list — Projects, Timesheets, Rules, Scores, Insights, Calendar, Screenshots, Recordings, Exports, Integrations, SSO, and Mobile — lives on /features. Ask or Search “features”, “what can VisibleHours do”, “what can it do”, or “feature list” opens that hub. “what is VisibleHours” and “product overview” stay on this home page.
Honest answers
On visiblehours.com today
The agent records apps and idle. Projects let you stamp those hours with a code such as FIELD so payroll and clients see the same numbers operations assigned — not a hidden tracker. This is not a full project management suite and not Gantt charts. Ask “full project management suite” or “Gantt charts” is refused. Allocations feed the Monday–Sunday Timesheets draft.
Example · client codes
FIELD
Field dispatch · Case follow-up
Jordan Hale · 3 hours
GRANT
Q3 grant narrative
Sam Rivera · 2 hours
Also on visiblehours.com
A timesheet is a Monday–Sunday snapshot of hours you already allocated to a client code. Signed-in Operations rebuilds the draft, then approves or rejects. Only approved weeks are in the payroll CSV. This is not auto-pay and not ADP certified. Ask “auto-pay employees from timesheets” or “ADP certified” is refused. The tray on the company PC does not change.
On visiblehours.com today
The agent already captured the app and, when Windows exposes it, the domain. Rules stamp those minutes. They do not block a site, close an app, or hide the tray.
Example · URL rules
docs.google.com
Productive · standup notes
youtube.com
Unproductive · not billable
Outlook
Productive · inbox and calendar
Also on visiblehours.com
Captures stay optional and Operations-enabled — off until you turn them on. Interval stills, not continuous secret capture. Blur is on by default so text is hard to read. Retention deletes older shots in your organization — 30 days unless you choose otherwise. 0 keeps them. The tray stays visible either way. Ask “hidden screenshots” or “capture without tray” is refused.
On visiblehours.com today
Download a CSV of the activity timeline, productivity totals from your rules, or hours allocated to a client code. Approved payroll weeks stay on Timesheets. Each file is one organization. Not a warehouse, not SFTP, not an ADP-certified export.
On visiblehours.com today
Rules already stamp the minutes. The score is productive time divided by classified time — arithmetic, not AI scoring and not a firing tool. A distraction alert fires when unproductive minutes cross the threshold you set — 30 minutes unless you change it. Idle stays out of the percentage. Ask “auto-fire employees by score” or “secret productivity spy score” is refused.
On visiblehours.com today
A Monday–Sunday rollup of tracked time: week score (productive ÷ classified when labels exist), a trend chart, and one template coaching note per person. The text is not a live language model, not AI workforce insights, and not a forecast of who will quit. Ask “AI workforce insights” or “predict who will quit” is refused. Employees still see the tray.
On visiblehours.com today
Put planned hours on a Monday–Sunday week grid. Record PTO, sick, unpaid, or holiday days and approve the pending queue. Cells are the planned week — not tracked time, not meetings, not Google Calendar sync, not Outlook certified, not an AI meeting bot. Tracked minutes still come from the tray.
On visiblehours.com today
Connect Slack, Jira, or Asana with a real OAuth start and callback. Tokens are encrypted. POST signed JSON when activity is recorded or a timesheet is submitted, approved, or rejected. Zapier is a Catch Hook URL you paste — not a published Zapier app, not Zapier OAuth, and not a marketplace listing. Create a Catch Hook — paste an HTTPS URL or inspect the payload in a catch inbox — then copy the signing secret and send a test ping. Each organization only sends its own events. $7 / seat on Pricing; this page does not start checkout.
On visiblehours.com today
Optional and Operations-enabled: leave recording off, start and stop a session, or set a weekday window. A session stores a short clip or upload — not an always-on DVR. Retention and blur are org controls. Signed-in managers store and play an MP4 on Screen recording. OS capture is a Windows-agent path — the tray stays visible, grabs a clip or uploads a file — not a hidden camera. The sample MP4 remains for demo. The tip on the manager screen is a VisibleHours reading of your settings, not a live language model.
On visiblehours.com today
Windows-first time tracking. Field people punch in or out from a phone browser — not an iOS or Android app, and not an App Store or Play Store listing. Operations can require GPS on that punch and set a named geofence. This is not live tracking. The Windows tray still does not log location. The tip on the manager screen is a VisibleHours reading of your settings, not a live language model.
On visiblehours.com today
One SAML 2.0 connection per organization. Copy ACS and Entity ID, paste metadata, certificate, and issuer, then enable. ACS validates a signed assertion and maps the email to a manager who already exists. Sample metadata is test mode when a live provider is not set. Not OpenID Connect, not passwordless, not a named-vendor certification. The connection tip is a VisibleHours reading of your row, not a live language model.
Simple seat pricing
You pay for the people you invite — $7 per seat / month. Seats are shown in Settings. This page does not start checkout. There is no live card charge until Stripe is enabled. There is no checkout button here. New orgs start in trial.
VisibleHours seat plan
$7/ seat / month
Seat count lives on Settings · Billing. Demo mode can mark seats active without a charge. Public Pricing does not open Stripe.
Create your organizationDownload unsigned Setup.exeAlready have an org? Sign in · Full pricing page · Features · Guides
VisibleHours-Setup.exe is unsigned. SmartScreen will warn — More info → Run anyway — until Operations adds a signing cert. Company Windows PCs only. Send the employee notice before anyone runs the installer.
Guides
Send a written notice before the installer. The tray is the live disclosure.
Download VisibleHours-Setup.exe, run past SmartScreen, paste the invite.
A punch at /checkin. Optional GPS. Not live tracking.
Mark apps and domains. Idle stays idle. The tray does not change.
Paste a Catch Hook URL. Not a published Zapier app.
Unsigned Setup.exe. More info → Run anyway. Send the notice first.
Install on company Windows PCs, give each person an invite code, and send the employee notice before anyone runs unsigned Setup.exe — and again before stills, recordings, or location-on-punch go on. Pause and Quit are one click. The tray is the disclosure — if someone cannot see the icon, tracking is not running.