live in Mumbai, London, NYC 2FA · Audit log · TLS
Monitoring

Monitoring without surveillance.

Periodic screenshots employees can review. Activity % derived from keyboard and mouse frequency — never keystroke content. App and URL usage classified productive, unproductive, or neutral. One audit trail covering all three. A trend, not a verdict.

No card needed · 14-day full-access trial
app.getfruitful.io/dashboard/monitoring/app-usage
Today · app & URL usage
Anita Desai · Atlas redesign
· ·
3 streams
Screenshots · activity % · app/URL
Independent, never derived
Configurable
Capture interval per company
Within plan limits
AI + rules
App + URL classification
Admin · AI · employee suggestion
Audit-logged
Every capture, every flag
Append-only, exportable
01 · Screenshots

Periodic captures.
Reviewable by the subject. Always.

The agent takes a single still on a configurable interval — every 5, 10, or 15 minutes depending on your plan. Employees see every capture on their own dashboard, and can flag anything they want reviewed. Blur toggles for sensitive teams.

How it works
  • Single still per interval No continuous video. One JPEG every N minutes. Storage scales linearly, not exponentially — and the bandwidth is small enough to run from coffee-shop wifi.
  • Activity % stamped at capture Each screenshot carries the activity % at the moment it was taken, so the still and the meter agree without manual reconciliation.
  • Flag with a reason Managers (or employees) flag a capture with a written reason. The flag, the reason, and the reviewer ID are all audit-logged.
  • Retention = plan limit Each capture is stamped with an expiry date based on plan retention. A daily job deletes from S3 and the database past that date. No manual cleanup.
app.getfruitful.io/dashboard/monitoring/screenshots
Today · 4 captures
interval · 15m
10:15 87%
10:30 82%
Flagged
10:45 14%
11:00 91%
11:15 76%
11:30 88%
Employee dashboard: Anita sees the same six captures — same thumbnails, same flags, same timestamps.
02 · Activity %

A meter, not a microscope. Frequency, not content.

Activity % is the frequency of keyboard and mouse events per minute — never the keys themselves, never mouse coordinates, never window content. The same number shows on the employee's HUD, the manager's dashboard, and the report. No private channels.

Hourly heatmap

The day at a glance.
Same for every viewer.

The hourly heatmap rolls activity % into 24 cells per day. Calm afternoon, busy morning, lunch dip — readable in two seconds. Drill into any hour and you get the underlying minute series. Nothing in the meter touches what was actually typed or clicked.

  • Event frequency only Counts of key + mouse events per minute. Stored as integers. No keystroke content, no clipboard, no input field watching.
  • Same number, every surface The HUD, the dashboard, the daily report, and the AI chat answer all read from the same activity_logs table. No drift, no off-by-one.
  • Idle is honest Five minutes without any event becomes idle. The clock keeps running on screen so the day stays continuous, but idle minutes are excluded from billable totals.
app.getfruitful.io/dashboard/monitoring/activity
Activity heatmap · this week
12 → 18 May · IST
10
11
12
13
14
15
16
17
18
19
Mon
Tue
Wed
Thu
Fri
Sat
Sun
low
high
03 · App + URL classification

Productive, unproductive, neutral.
You set the rule book. AI fills the gaps.

Three classification sources

Admin rules.
AI fallback. Employee voice.

Every app and URL the agent captures gets a productivity status. Admin rules apply first — when you write a rule, it sticks. For anything new, the AI suggests a classification using your own category list. Employees can flag a reclassification — managers approve or reject through the same queue as time entries.

  • Admin rules are deterministic A rule you write always wins. The AI never re-classifies anything you have already declared. Audit log records who set which rule and when.
  • AI uses YOUR category list When something new shows up, the AI picks a category from your existing productive / unproductive / neutral list — never an invented label.
  • Retro-backfill on rule change When you change a rule, every past entry matching that app is reclassified — so reports stay consistent without re-running anything by hand.
app.getfruitful.io/dashboard/monitoring/productivity-rules
Productivity rules
Figma
Figma
rule source · admin
productive
VS Code
VS Code
rule source · admin
productive
Notion
Notion
rule source · AI
productive
Slack
Slack
rule source · admin
neutral
youtube.com
youtube.com
rule source · AI
unproductive
Spotify
Spotify
rule source · employee
neutral
2 employee suggestions pending review retro-backfills 30 days
04 · Transparency

Transparent by default.
Stealth only when you say so. And only with a paper trail.

Three modes
  • Transparent

    Default for every new company. HUD on the employee's screen plus a popup when an admin is actively viewing. We turn this on for you at signup.

  • Subtle

    No popup, but the tray icon stays visible and the employee can always open their own dashboard. For teams that find pop-ups disruptive.

  • Stealth · Ent

    Silent monitoring. Requires Enterprise tier, a written legal acknowledgement, and a record stored on your account. Ships off; you have to opt in.

74% of Fruitful teams keep transparent mode on voluntarily.

employee desktop · transparent mode
Your manager is viewing your screen
Sarah Lim opened Live View at 11:02 AM IST. The view stays open until she closes it. You'll see this notification any time someone watches.
live · 00:02:14 watched
What admins see
  • · Real-time screen stream
  • · Current focused app
  • · Live activity %
What admins don't see
  • · Keystrokes
  • · Microphone or webcam
  • · Past streams (live only)
Also in monitoring

The boring bits done right. So you stop noticing them.

Six things buyers ask for after week one — already shipped.

Employee dashboard

Every employee has the same dashboard their manager has — for their own data. Screenshots, activity %, app usage, all theirs to review.

Two-factor sign-in

TOTP-based 2FA on every account with recovery codes. Org admins can reset a lost authenticator on the employee detail page — every reset writes an audit row.

Configurable retention

Each plan sets the retention window. A daily job deletes from S3 and DB the moment a screenshot crosses its expiry — no manual cleanup.

Blur for sensitive teams

Toggle blur on, every thumbnail (and full view) renders blurred. Managers still see who, when, and activity % — but not the content.

Alerts that earn their place

Per-org toggles for each alert type. Idle exceeded, low productivity, unproductive app, flagged screenshot — opt in only to what matters.

Export every signal

CSV + PDF + REST API for all three streams. Audit log included on PDF exports for legal review.

Who needs monitoring this way

Three buyers, one system.

BPO operations lead
Pain

"Our QA team had to scrub random hours of recordings to catch one issue. By the time we found it, the shift was over."

Fruitful does

Periodic stills with activity % at capture. Flag the still, log the reason, replay never required.

−72% QA review hours / month
Agency owner
Pain

"Clients kept asking 'how do I know they actually worked these hours?' I had nothing to send them."

Fruitful does

Per-invoice timestamp chain: hours → approved entries → activity % at capture → screenshot thumbnails (optional). Disputes dropped to two a year.

9 / yr → 2 client billing disputes
Remote-team CEO
Pain

"Employees got nervous when we shipped any monitoring tool. Engagement dropped."

Fruitful does

Transparent mode + employee-visible dashboards. The fear flipped — they liked seeing their own data and the system stopped being a black box.

74% keep transparent mode on
I was ready to fight my team about screenshots. Then they pointed out they could see them too. The argument disappeared.
M
Marcus Wong
VP Engineering · Linework Studio
The classifier learns. We added six new internal apps last month — every one was tagged productive without us touching a rule.
P
Priya Mehta
Operations Director · Coalpine BPO
Honest questions

The five questions every monitoring buyer asks. Answered without spin.

Do you record video of the screen?
No. We take a single still on a configurable interval (default 10 minutes). One JPEG per interval, not a video stream. Live View streams the screen only while an admin actively watches — and the employee is notified the moment it starts.
Do you capture what employees type?
Never. Activity % counts how often keys are pressed and the mouse moves — counts as integers, never key codes or content. We do not log clipboard, do not watch input fields, and do not capture browser form contents.
Can employees see what we see?
Yes, that's the default. Every employee has their own dashboard with their screenshots, their activity %, their app usage. You can hide screenshots from them with one toggle, but transparency is the policy unless you flip the org into stealth mode (which requires a legal acknowledgement).
How does AI classification work?
When the agent captures a new app or URL the system has not seen before, the AI suggests a category using your productive / unproductive / neutral list. Admin rules always win — the AI never overrides a rule you have set. Employees can flag a re-class through the approval queue.
How long is data retained?
Plan-configurable. Each screenshot is stamped with an expiry date based on your plan's retention. A scheduled job deletes from S3 and the database past that date — no manual purge required. Activity rollups are aggregated; raw rows past the retention window are deleted with them.
Is stealth mode actually possible?
Yes, but with friction. It's gated to Enterprise, requires a written legal acknowledgement, and creates a permanent record on the account. We strongly recommend transparent mode — 74% of our customers stay there voluntarily.

Show your team. Then show your counsel. Same dashboard. For everyone.

14 days, full access, no card. We'll join a privacy-counsel call on day one if you want — no extra cost.

No card needed · Cancel anytime · Onboarding in under 10 minutes