Overview
What PCMonitor is and who it's for.
PCMonitor is a desktop productivity & intelligent work-insights platform. It runs as a tiny background agent on each team member's PC and quietly answers three questions:
- How much focused time did the team get done this week?
- Who needs help — anyone burning out, slipping, or stuck?
- Where did the hours actually go (which apps, which projects, which clients)?
No keylogging. No clipboard capture. Screenshots are off by default. Every employee can see the same data their manager sees about them.
The four roles
Anyone running the agent. Sees their own data on /me.
Sees their direct reports on /team. Can open Live View, approve idle reasons, run reports.
Manages the entire organisation. Configures categories, alerts, projects, Slack, holidays, branding.
Platform operator. Manages all organisations, plans, and the org-switcher.
Privacy in one sentence
Getting Started
From signup to first dashboard insight in under 10 minutes.
1. Create your company
- 1Open the signup page.
- 2Enter your company name, your name, your phone number (used for OTP login), and the team size you're starting with. Email is optional.
- 3Verify the OTP we send to your phone. Your free 7-day trial starts immediately — no card.
- 4You'll land on the empty Manage Employees screen as the first
company_admin.
2. Add your employees
- 1Go to /admin → click + Add employee.
- 2Fill in name, work email, phone (the OTP they'll use to log in), department, and optionally a manager.
- 3The dashboard creates an
agent_keyand shows a one-time download link for that employee's setup ZIP. - 4Send the link to the employee — or click Download installer to download it yourself.
3. Install the agent on each PC
- 1The employee runs
PCMonitorSetup.exe. The installer copies the agent to%LOCALAPPDATA%\PCMonitor\PCMonitorAgent.exe, registers it to start on Windows login, and creates a desktop + Start-Menu shortcut. - 2The employee's first launch shows a consent screen. They confirm they understand what's tracked and agree to monitoring during work hours.
- 3The agent immediately appears in the system tray and a floating widget docks to the desktop. Within 60 seconds the dashboard shows them as online.
- 4No reboot needed. The agent stays running across logout/login cycles — no IT intervention required.
4. What to expect on day 1
- Manager (you): /team shows live status updating every 60 seconds.
- Employee: /me shows their own per-app time and a minute-level timeline as it accumulates.
- By 6pm: an AI-written daily summary ("Rahul, you had a focused 6h day, mostly in VS Code…") appears on both /me and the member detail page.
- By Monday morning: the first weekly AI coaching brief lands on /me — comparing this week to last.
The PC Agent
What the lightweight Windows agent does on each employee's machine.
System tray icon
The blue "M" icon in the Windows system tray is your one-stop indicator:
- Bright/blue = agent is active and connected to the server.
- Desaturated = idle (5+ minutes of no input).
- Greyscale = offline (no server connection — data is being queued locally).
Right-click for: Open dashboard, I'm on a break, Pause for an hour, End workday, and Quit.
Floating widget
A small docked card in the corner of the screen showing today's active time and goal progress. After 30 seconds of no hover it shrinks to a tiny pill so it stops blocking work — hover to bring it back. Click anywhere on it to open a fuller stats popup.
The × in the top-right hides the widget without affecting tracking. To bring it back: right-click the tray icon → Show floating widget.
Idle detection & meeting auto-detect
The agent watches for keyboard/mouse input. After 5 minutes of no input it marks the time as idle. Exception: if the foreground app is a meeting app (Zoom, Teams, Meet, Webex, etc.), idle detection is suppressed — you don't get penalised for talking on a call.
Consent on first run
The first time the agent starts on a PC, it shows a clear consent screen listing exactly what is and isn't tracked. The employee must tick I agree before any data is sent. Consent can be withdrawn from the tray menu at any time — the agent will stop sending data immediately and any active live-view session ends.
Auto-update
Every startup the agent checks the server for a newer version. If found, it downloads, shows a quick "PCMonitor is updating to the latest version" toast, and replaces itself. No reinstall ever needed. Versions are listed at /api/v1/public/agent-version.
For Employees
What you'll see and use day-to-day at /me.
/me — your personal dashboard
This is where you see exactly what your manager sees about you. Top of the page:
- Date selector — flick through past days.
- Presence chip — pick Office / WFH / Travel / On leave / Sick.
- 4 stat cards — active, idle, productivity score, focus blocks.
- App breakdown bar — top apps with %, sortable.
- Minute timeline — heatmap of every minute of your workday.
- AI daily summary — written automatically when you wrap up.
- Weekly coaching brief — appears every Monday morning.
- 30-day chart — your activity trend at a glance.
- Mood check-in — optional 5-second daily mood entry.
Setting your daily presence
- 1Click the chip (e.g. In office) at the top of /me.
- 2Pick WFH, Travel, On leave, or Sick.
- 3That's it — your status is now visible in the team overview, and attendance reports skip days marked as leave.
Adding an idle reason
When your idle time exceeds 40% of the workday, /me will show a prompt at the top of the page: "Add a reason for X% idle time on Y." Click it, type a one-line reason (lunch with client / focus block / meeting in conference room), and submit. Your manager sees the reason and can approve or reject it.
Reading your weekly AI coaching brief
On Monday morning a card appears on /me with three parts:
- HEADLINE — one sentence summarising last week.
- BRIEF — what you actually did, week-over-week deltas, any wellbeing flags.
- TIP — one specific suggestion for next week ("try blocking 9–11am for the hardest task").
The brief is generated by Claude Haiku from your own activity data — it never reads keystrokes or anyone else's data.
Streaks (optional gamification)
Multi-day focus-block streaks are shown on /me and on the floating widget. They're a gentle encouragement signal — they're never used by managers for performance review.
Mood check-in
Once a day a tiny Mood prompt appears in the agent tray menu. Click your face emoji (😊 / 😐 / 😔). It takes 2 seconds and is private to you and the wellbeing reports — managers never see individual mood entries, only anonymised team trends.
Live-view consent (off by default)
If your admin turns on the live-view feature, you'll see a banner asking for explicit consent. Until you tick "Allow live screen view," no manager can ever stream your screen, even if they hit the Live View button. You can withdraw consent any time from the agent's tray menu.
For Managers
What direct-report visibility looks like at /team.
/team — live status
See your direct reports in real time. Each card shows: avatar, name, online/idle/offline pill, the app they're currently in, and last-seen timestamp. Refreshes every 60 seconds. Click anyone to drill into their detail page.
Counters at the top: Active / Idle / Offline / Total.
/members/[id] — one person's day
Same layout as /me but for someone you manage. Plus you get extra controls:
- Live view button (top-right, violet) — opens a real-time MJPEG stream of their screen, gated by consent.
- Productivity history — 30-day chart toggle.
- Export CSV — last 30 days of session data.
- Date stepper — flick through history.
Leaderboard widget on /team
Top of /team shows your team's leaderboard — sortable by Score (avg productivity),Active (total work time), or Focus (deep-work blocks). Toggle 7d / 30d window. Top three get gold/silver/bronze badges.
Opening a live screen view
- 1Open the member detail page
/members/[id]. - 2Click the violet Live view button.
- 3If the employee has consented, an MJPEG stream of their screen opens in a modal.
- 4The agent automatically adjusts quality based on the org-wide setting (Low ≈ 3 KB/s, Medium ≈ 18 KB/s, High ≈ 60 KB/s) and skips frames when the screen is unchanged.
- 5Close the modal — the agent stops capturing within 25 seconds (no leftover bandwidth).
Burnout Watch
At /admin/burnout you see all unacknowledged burnout signals across your team. Severities:
- Low — 9h+ in one day, late evening (≥22:00), weekend activity.
- Medium — 11h+ in a day, 3 consecutive 9h+ days, no breaks >4h, >50% in meetings.
- High — 13h+ days, 5 consecutive overworking days, >6h without a break.
- Critical — 15h+ days or 7 consecutive overworking days.
One click on the green check-mark acknowledges a signal (after you've checked in with the person).
Idle Reason Reviews
At /admin/idle-reasons you see every idle-reason an employee submitted. Tabs: Pending / Approved / Rejected / All. One-click Approve or Reject with an optional note that the employee sees on /me.
Period Reports
At /admin/reports pick a period (this week, last week, this month, last month, last 30 days, or custom). For any team member you see daily activity bar chart, top apps for the period, productivity score per day, focus blocks count, burnout signal count, and a one-click CSV download (summary and per-app variants).
For Company Admins
Everything you can configure for your organisation.
/admin — Manage Employees
The home page for the company_admin role. From here you can:
- Add an employee — get their setup ZIP and agent key.
- Edit member — change phone, department, manager, schedule.
- Activate / deactivate — soft-disable an account (data preserved).
- Regenerate agent key — invalidates the old one immediately.
- Schedule shifts — set work_start_hour and work_end_hour.
- Time bank — credit/debit minutes against the schedule.
- Branding — upload your company logo and pick a primary colour.
- Monitoring settings — screenshot interval, break reminder, early-leave grace, live-view quality.
Setting work schedules
- 1Open /admin and find the employee.
- 2Click the schedule cell. Set Start hour and End hour (24-hour clock, employee timezone).
- 3Save. The agent immediately reads the new schedule and pauses tracking outside those hours.
- 4Late arrivals and early leaves now flag against this schedule (with the configurable grace period).
App Categories
At /admin/categories you decide which apps count as productive, communication, meeting, neutral, distracting, or personal. PCMonitor ships with defaults; click Auto-categorize seen apps once after deploy to seed the rest. Each app has a 0.0–1.0 weight that drives the productivity score, plus toggles for Treat as meeting (suppresses idle while on call) and Passive app (counts as work even with low keyboard activity).
Alert Rules
At /admin/alerts you create rules that fire on:
- Idle too long — N minutes of consecutive idle.
- No login by time — past HHMM with no activity.
- Daily active short — total active < X minutes by end of day.
- Productivity drop — % below trailing average.
- Fake activity — mouse jiggler / macro detected.
- Burnout signal — when a signal of severity ≥ rank fires.
Each rule can deliver to in-app, email, Slack, and webhook channels — pick any combination. Use the Test button to fire a one-off and confirm delivery.
Projects & Clients
At /admin/projects create a project, add comma-separated keyword patterns ("ACM-, acme.com, /repos/acme"), and PCMonitor auto-tags any window whose title matches. Optionally set a billing rate per hour to get an invoice-grade CSV.
Slack Integration
- 1Go to api.slack.com/apps → Create new app → from scratch → pick your workspace.
- 2Open Incoming Webhooks → toggle on → Add new webhook to workspace → choose a channel.
- 3Copy the webhook URL.
- 4Paste it at /admin/slack → Save.
- 5Toggle which posts you want: daily team digest, weekly briefs, alerts, burnout summary. Click Send test message to verify.
Holiday Calendar
At /admin/holidays add company holidays so attendance reports skip them. Optional holidays (restricted holidays) are flagged separately — employees can take them without it counting against attendance.
Downloads & Installs
At /admin/downloads you see every installer download with timestamp, IP, country, source (public Windows / public macOS / per-employee ZIP) and version. The conversion % is the share of downloads that resulted in an actual install (the agent came online for the first time). Useful for measuring rollout health.
Custom branding
Upload your company logo (PNG, <500 KB) and pick a primary colour at the top of /admin. The logo and colours show up on the dashboard, the agent's setup wizard, and the floating widget. Employees never see the PCMonitor name once branding is set.
Monitoring Settings
The Monitoring Settings card on /admin controls org-wide behaviour:
- Screenshot interval — Disabled / 10s / 15s / 30s / 1m / 2m / 5m / 10m. Off by default.
- Focus break reminder — nudge employees after this much uninterrupted focus (0 disables).
- Early-leave grace — minutes before scheduled end-time that don't trigger the early-leave prompt.
- Live-view quality — Low (~3 KB/s) / Medium (~18 KB/s) / High (~60 KB/s).
Agents pick up settings changes within 60 seconds.
Audit Log
Every admin action (creating an employee, regenerating an agent key, banning a user, opening a live-view stream, deleting a project) is logged with timestamp, actor, target, and IP. Reachable from the superadmin Activity Log.
For Superadmins
Platform-level controls across all organisations.
The org switcher
Top of the sidebar, only visible to superadmins. Pick "(My own org)" or any other organisation to act as that org. All admin pages (categories, alerts, projects, etc.) then scope to the chosen org via a ?org_id= query parameter on every API call. The setting is stored in localStorage as superadmin_active_org.
Companies tab
List, search, create, edit, deactivate, ban, and unban organisations. The + New company button auto-suggests a slug from the company name (URL-safe, lowercase, dashed) — still editable.
Users tab
Every login identity across the platform. Filter by role, ban/unban, see last-login timestamps and login count. Useful for reacting to suspicious activity.
Agents tab
Live agent health: which orgs have agents online, how many are stale, version drift, version >1 release behind. Click any org to see per-member agent state.
Activity log
Time-sorted feed of every system event: logins, ban events, ingestion failures, AI summary generations, agent updates, admin actions. Filter by event type, severity, org, member. This is your platform's diagnostic feed.
Issues tab
Auto-detected platform health issues: orgs with no recent activity, agents on outdated versions, plans about to expire, billing failures. Each issue has a count and a one-line suggested fix.
Plans tab
Edit billing plans (Starter / Growth / Pro). Set USD + INR pricing, trial days, minimum seats, feature lists, Stripe price ID. Toggle Show on homepage to publish or hide a tier.
Downloads (global)
Same UI as admin downloads, plus a Top organisations leaderboard for the selected window and a list of the most-recent 100 events across the entire platform. Useful for measuring install-funnel performance org-by-org.
AI Features
What we use Claude for, where it runs, and how much it costs you.
Daily summary
Generated automatically when an employee ends their workday (or by a 23:55 fallback). Claude Haiku receives only their own app-usage breakdown and window-title samples, never keystrokes or anyone else's data. Output: a 3–4 sentence personal summary written in second person ("You spent…") — appears on /me and the member detail page.
Weekly coaching brief
Generated every Monday at 08:00 UTC. Claude Haiku gets last week's stats + the previous week's for comparison. Output: HEADLINE, BRIEF, TIP. Stored in weekly_coachings; visible on /me.
AI screenshot captions
When admin generates captions for a day, Claude Haiku Vision receives one screenshot at a time and produces a one-sentence description ("Editing landing page hero in Figma") plus a SENSITIVE flag. Sensitive screenshots are highlighted in the gallery so admins can avoid opening them.
Burnout detection (rule-based, not AI)
The burnout signals are deterministic rules running on raw activity data — no AI involved. That keeps them fast (one nightly sweep takes under a minute for a 200-person org) and predictable. Detectors: long_hours, consecutive_overwork, late_night, weekend_work, no_breaks, high_meeting_load.
Integrations
How PCMonitor talks to the rest of your stack.
Slack
Set up via /admin/slack. Choose what posts to a channel: daily team digest (configurable hour, UTC), weekly AI briefs (Monday morning), alert events, burnout watch summary. One Slack incoming webhook URL is all you need; no full OAuth flow required.
Generic webhooks
Any alert rule can deliver to a generic HTTPS webhook. The body is a clean JSON envelope:
POST https://your-endpoint
{
"rule": "Idle alert",
"kind": "idle_too_long",
"severity": "warning",
"title": "Priya has been idle for 35m",
"message": "...",
"member_id": "uuid",
"member_name": "Priya",
"payload": { "idle_sec": 2100 },
"ts": "2026-05-07T10:30:00Z"
}CSV exports
Available everywhere data is shown: member detail (30-day session export), period reports (summary + per-app), project totals (invoice CSV). Files are pure UTF-8 CSV with no headers beyond the column row, so they import directly into Excel / Google Sheets / accounting software.
WhatsApp summaries
Each employee receives their daily summary on WhatsApp the moment they end the workday — provided their phone number is set. The message is the same plain-text summary that appears on /me. Configurable per-org via the daily-digest opt-in.
Privacy & Security
Exactly what's tracked, what isn't, and how the data is protected.
What IS tracked
- Active foreground app (executable name + window title, truncated to 200 chars).
- Idle time (gap between input events).
- Aggregate keystroke counts and mouse rhythm (no actual keys logged).
- Optional periodic screenshots (off by default).
- Mouse/keyboard scoring used to detect jiggler/macro fraud.
What is NOT tracked
- Keystroke contents — never. Only counts and timing.
- Clipboard. Never read or transmitted.
- Microphone, webcam, or any audio input.
- Anything outside scheduled work hours (the agent pauses during your off-hours).
- Personal accounts (the agent doesn't read browser bookmarks, history, or saved logins).
Consent model
- 1First agent run shows an explicit consent screen — employee must tick "I agree" before any data leaves the PC.
- 2For live screen view, a separate consent toggle must be flipped on (off by default).
- 3Consent can be withdrawn at any time from the agent's tray menu — agent stops sending data immediately.
- 4Withdrawing consent does not delete past data; that requires an admin action and is logged in the audit trail.
Data retention
Raw activity sessions are kept for 90 days by default (configurable per-org). Screenshots are kept for the same window. Summarised data (daily summaries, weekly coaching briefs, burnout signals) is retained longer — these are derived statistics, not raw input. A nightly job at 02:00 UTC purges expired rows.
Encryption
- In transit — all dashboard ↔ server and agent ↔ server traffic is HTTPS/TLS 1.2+.
- At rest — PostgreSQL data on the production server uses encrypted volumes.
- Agent keys — only SHA-256 hashes are stored server-side; the raw key is shown to admins exactly once at creation.
- Session tokens — also stored as SHA-256 hashes; never logged.
- Live-view tokens — short-lived (5 min) HMAC tokens; the full session token is never put in URLs.
Troubleshooting
Common issues and fixes.
Agent shows offline on the dashboard
- Check the system tray icon — if greyscale, the agent has lost its server connection. Activity is being queued locally and will flush automatically when the network returns.
- If the icon is missing entirely, restart the PC. The agent runs at Windows login.
- Run the installer once more — it's idempotent and will repair the registry and shortcuts.
- Worst case: open
%APPDATA%\PCMonitor\and deletecredentials.env; the agent's next launch shows the OTP login again.
Screenshots not appearing
- Check /admin → Monitoring Settings → Screenshot interval. If it's Disabled, no shots are taken.
- Allow up to one minute for the agent to pick up the new interval.
- Verify the user has agreed to monitoring (consent screen on first run).
Times are wrong
- Activity is stored in UTC and rendered in the viewer's browser timezone. Members' "schedule" hours, however, use the timezone field on each TeamMember row — make sure each employee has the right timezone set on /admin.
- If a date is missing entirely, check the agent's local clock. PCs with grossly wrong clocks (e.g. years off) get rejected at ingest.
Live view doesn't connect
- Confirm the employee has consented (they have a banner on /me until they do).
- If the stream is choppy, lower the live-view quality at /admin → Monitoring Settings.
- Frame-diff suppresses uploads when the screen is unchanged — a static screen will look "frozen" but will refresh every 5 seconds as a keep-alive.
Uninstalling the agent
- 1Right-click the tray icon → Quit.
- 2Open Control Panel → Programs → PCMonitor → Uninstall, OR delete
%LOCALAPPDATA%\PCMonitor\manually. - 3Remove the startup registry entry:
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v PCMonitor /f. - 4Delete the desktop and Start Menu shortcuts.
- 5From the dashboard, the admin can deactivate the team member to stop their seat counting toward billing.
FAQ
Quick answers to the most common questions.
Does PCMonitor work for Mac?
Yes — there's a separate macOS DMG installer at /download. Live view and idle detection use Quartz/AppKit instead of Win32 but the dashboard is identical.
Will employees know they're monitored?
Yes, by design. The first agent launch requires explicit consent. The tray icon and floating widget are always visible. Every employee has access to /me where they see exactly the same data their manager sees.
Can a manager see another team's data?
No. Managers see only their direct reports + themselves. Company admins see their org. Superadmins see everything across orgs (and the action is audit-logged).
Does the agent slow down the PC?
It uses ~30 MB of RAM and well under 1% CPU. The screenshot stream uses a tiny background thread that captures, downscales, and uploads in batches.
What happens to data when an employee leaves?
Deactivate them at /admin. Their historical data stays for the org's retention window (default 90 days), then is purged automatically. Or you can request a hard delete via support@imazyn.com.
How is billing calculated?
Per active seat per month. An employee counts as active if they have at least one ingest in the billing month. Deactivated employees never count.
Can I host PCMonitor on my own server?
Yes — there's a self-hosted Docker bundle (server/docker-compose.yml). Contact support@imazyn.com for setup help and on-prem licensing.
What about GDPR / data residency?
Production servers are in EU (Hetzner Frankfurt). Per-org data isolation is enforced at every query. Right-to-erasure requests can be processed via the audit-logged superadmin action.
Last updated: 7 May 2026 · Doc version 1.0
Find an error or missing feature? Email support@imazyn.com.
Back to top