Live Dashboard
Workforce status live · share of tracked employees
Time utilization — today where work hours went · top apps & sites · % of tracked time
Live productivity — all employees today · working vs present time · click Reports for the full range
| Code | Employee | Dept | Present | Working | Idle | Breaks | Violations | Productivity |
|---|
Employees — live auto-refreshes every 15s · click a KPI card to filter · click a row for detail
| Employee | Team | Status | Active | Idle | Last seen |
|---|
Device health agent heartbeat · sync queue · compliance
| Device | Employee | Agent ver | Agent | Compliance | Sync queue | Last heartbeat |
|---|
Attendance sheet corrections require a reason and are audit-logged — they feed payroll
| Employee | Status | Check-in | Check-out | Late (min) | Source | Notes |
|---|
Holiday calendar no late/absent marking on these days · HD in the register
| Date | Name | Type |
|---|
Screenshot timeline
All employees — usage & compliance click any row to open that person · click a column to sort
| Code | Employee | Department | Team | App time | Website time | Violations |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Compliance violations
| Time | Employee | Category | Type | Severity | Detected | Action taken | Evidence |
|---|
All employees
| Code | Name | Department | Team | Shift | Status | Devices |
|---|
Attendance source how this organisation records attendance
Company time zone local day boundary for dashboards & reports · individual branches can override below
Break time limits permitted minutes per break — the agent asks the employee for a reason when a break runs over
Privacy — raw-IP & local websites for pages opened by a bare IP address (routers, NAS, internal tools, localhost)
Branches
Login accounts console & self-service logins — separate from the employee directory
| Name | Role | Linked employee | Status | Last login |
|---|
🔒 Agent exit & uninstall lock stop employees quitting or removing the SmartEPT agent
Registered devices & agent health
| Device | Employee | OS | Agent ver | Agent health | Compliance | Status | Sync queue | Last heartbeat |
|---|
Policies editing bumps the version — agents pick it up on next heartbeat
| Name | Version | Updated |
|---|
- Keystrokes, passwords, clipboard contents
- Personal files, documents, emails content
- Banking / UPI / payment apps & sites (auto-excluded from screenshots and usage)
- Anything outside duty hours — tracking hard-stops at Duty End / shift end
- Webcam video or audio recording — presence is a yes/no signal only
Create policy
Assign a policy precedence: device › employee › team › dept › branch › company
Apps & Websites Rules what the agent tracks, allows, blocks or flags as a violation \u00b7 applies company-wide
| Item | Type | Status |
|---|
Meetings
| Title | Date | Time | Participants | Status |
|---|
🚪 Gate-to-PC the SmartEPT USP — the PC agent only starts after a real door punch
Biometric Device Setup connect a cloud attendance API — punches sync continuously (every 5 minutes) into Attendance, payroll and the Biometric Gate
| Provider | API | Auto sync | Status | Last sync | Last result | Punches |
|---|
Punch log from cloud sync, device middleware push or CSV import
| Time | Employee | Bio ID | Punch | Mode |
|---|
Biometric vs system login — mismatch report
| Employee | Biometric IN | Agent login | Gap (min) | Status |
|---|
Import punches (CSV)
Map biometric ID → employee unmapped punches feed no one until the device ID is linked to a person
Current mappings
| Biometric ID | Employee |
|---|
Live productivity — all employees day-wise · today updates live · click a column to sort
| Date | Code | Employee | Dept | Logged in | Logged out | Present | Working | Idle | Breaks | Break time | Meeting | Time-outs | Non-prod. | Violations | Prod. % |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Pick a range and press Show. | |||||||||||||||
Break report permitted vs actual, excess & the employee's reason · Meeting is never a break
| Date | Employee | Type | Start | End | Permitted | Actual | Excess | Reason | Review |
|---|---|---|---|---|---|---|---|---|---|
| Pick a range and press Show. | |||||||||
Meeting report scheduled vs actual attendance · meeting time is productive
| Meeting | Date | Status | Participants | Attended | Scheduled | Actual total |
|---|---|---|---|---|---|---|
| Pick a range and press Show. | ||||||
Punch in/out, agent login, late marks, source — day-wise per employee. CSV opens directly in Excel.
Active vs idle vs break hours per employee over a date range — the raw material for productivity %.
Violations by employee & type, severity, detected value and the action the agent took.
Nightly per-employee rollup over a date range: hours, violations, productivity & compliance scores (0–100).
The classic month matrix — one row per employee, one letter per day (P/A/H/L, WO weekly off, HD holiday) with payable-day totals.
Per-employee month rollup: working days, P/A/H/L counts, payable days and average productivity — rendered right here.
Licence status this server validates with SmartEPT Central once a day — licence metadata only, never monitoring data
Licence key
Offline licence file no internet needed — a signed file locked to this PC
Send this machine's fingerprint to Ametecs. They return a license.lic file locked to this PC — import it below to activate. Works fully offline (no SMARTEPT_LICENSE_URL, no SSL).
API keys for external devices/apps to push in & read out
| Name | Key | Scopes | Last used | Status | |
|---|---|---|---|---|---|
| Loading… | |||||
Outbound targets SmartEPT pushes attendance here (SmartPRS etc.)
| Name | URL | Last push | Status | |
|---|---|---|---|---|
| Loading… | ||||
Integration guide base URL, auth, formats — copy-paste ready
Screenshot & webcam evidence on disk, per company — watch this before it surprises you.
Nightly at 01:30, newest 14 kept in storage/app/backups. You can also run one right now.
Automatic cleanup schedule runs nightly at 02:00 — frees disk by deleting data past each window
Local / On-premise storage keep screenshots & evidence on this server, a LAN share or NAS — client data stays with the client
D:\\SmartEPT\\evidence). Local network: a UNC share the server can reach (e.g. \\\\NAS\\smartept) — the Windows service account needs write access. Blank = the app default storage. Used automatically whenever Cloud Storage below is off.Cloud Storage (Google Cloud) keep screenshots & evidence in your own GCS bucket — no server setup
Audit trail every admin action, export and screenshot view — accountable and searchable
| When | User | Action | Subject | Details | IP |
|---|
System Health one click checks the database, storage, agents, email & more — green is good, amber needs attention, red needs a fix now
Known Issues — how to fix common problems plain-language steps, no technical background needed
Data & agents Agent data or screenshots stopped reaching the console
What you see: The agent looks fine on the PC, but new screenshots, attendance or activity stop appearing in the console.
Likely cause: The web app lost its database settings and quietly fell back to an empty local database, so the agent’s login can no longer be verified and every upload is rejected.
How to check: Run System Health above — the “Database connection” row will be red and say it connected to SQLite instead of MySQL.
How to fix:
- Open the
.envfile in the app folder and confirmDB_CONNECTION=mysqlandDB_DATABASE=smartept. - Run
migrate.batin the app folder to make sure all tables exist. - In Laragon, do a full Stop All then Start All (not just reload).
- Re-open the agent on one PC and sign in again; new data should appear within a minute.
When to call Ametecs: If the Database row is still red after these steps, contact support on WhatsApp 90000 98877 with a copy of the log (below).
Updates not applying My changes or fixes don’t take effect no matter what I do
What you see: You edit a file or change a setting, clear the cache, even restart — and the app still behaves the old way.
Likely cause: PHP’s code cache (OPcache) is set to never re-read files, so it keeps serving a frozen copy of the code.
How to check: Run System Health — the “PHP code cache (OPcache)” row will be amber.
How to fix:
- Open
php.ini(Laragon → Menu → PHP → php.ini) and setopcache.validate_timestamps=1. - Save, then in Laragon do a full Stop All then Start All — a full stop, not a reload.
- Re-run System Health; the OPcache row should turn green.
When to call Ametecs: If you can’t find php.ini or the row stays amber after a full restart, contact WhatsApp 90000 98877.
A screen errors A page shows “500” / “Internal Server Error”
What you see: A whole screen fails to load and shows a 500 error or “Internal Server Error”.
Likely cause: Either a code/template error on that page, or the database problem described in the first card.
How to check: Open the Application log below and load the last 100 lines — the newest ERROR line names the file and line number.
How to fix: If the log points at the database, follow the first card. Otherwise use “Copy for developer” below and send the log to Ametecs — the file and line number let us fix it quickly.
When to call Ametecs: Any 500 that isn’t the database — send the copied log to WhatsApp 90000 98877.
Storage Screenshots aren’t being saved / disk is full
What you see: Screenshots or webcam photos stop being saved even though agents are online.
Likely cause: The evidence folder is not writable, missing, or the disk is out of space.
How to check: Run System Health — the “Evidence storage folder” row shows the exact folder and whether it’s writable or nearly full.
How to fix:
- Free up disk space, or point storage at a bigger drive/NAS in Audit & Ops → Local / On-premise storage.
- Make sure the Windows service account can write to that folder.
- Consider turning on automatic cleanup (Audit & Ops) to keep the folder from filling up again.
When to call Ametecs: If the folder is writable and has space but screenshots still don’t save, contact WhatsApp 90000 98877.
Licence Recording is paused / “evaluation ended”
What you see: Monitoring or screenshot storage is paused, or a banner says the evaluation has ended.
Likely cause: The licence key hasn’t been entered or validated, so recording is held until it is.
How to check: Run System Health — the “Evidence recording” row will be amber and say storage is paused.
How to fix: Open Licence in the menu, enter your key and press validate. Recording resumes immediately. Get a key from the client portal or WhatsApp 90000 98877.
When to call Ametecs: If your key won’t validate, contact WhatsApp 90000 98877.
After an update A new feature is missing, or a screen errors after an update
What you see: After receiving an updated build, a new feature isn’t there, or a screen throws an error mentioning a missing column or table.
Likely cause: The database updates that come with the new build haven’t been applied yet.
How to check: Run System Health — the “Database updates” row will be amber with the number of pending updates.
How to fix: Run migrate.bat in the app folder (or in Laragon Terminal: cd /d C:\laragon\www\smartept then php artisan migrate). Re-run System Health to confirm it turns green.
When to call Ametecs: If migrate reports an error, copy it and send to WhatsApp 90000 98877.
Agents An agent stopped checking in
What you see: A monitored PC shows offline, or System Health says no agent has checked in recently.
Likely cause: The PC is switched off, sleeping, off the network, or the agent was stopped.
How to check: Open Devices to see each PC’s last check-in time.
How to fix: Confirm the PC is on and online. If it’s in use but still silent, ask IT to reopen the SmartEPT agent from the Start Menu. Data recorded while offline syncs automatically once it returns.
When to call Ametecs: If the agent is running and online but never checks in, contact WhatsApp 90000 98877.
Agents The agent “isn’t responding” right after installing
What you see: Just after installing the agent on a PC, it seems frozen or “not responding”.
Likely cause: Windows Defender / SmartScreen scans a new app the first time it runs, which briefly holds it.
How to fix: Wait about 30 seconds, then reopen the agent from the Start Menu — it settles on its own. This is a one-time, first-run delay.
When to call Ametecs: If it’s still unresponsive after a couple of minutes and a reopen, contact WhatsApp 90000 98877.
Good to know Updating an agent keeps the PC paired
What to expect: Installing a newer agent over an existing one does not wipe its pairing or settings — the PC stays paired and keeps its identity.
So: It’s safe to push agent updates to a fleet without re-pairing every machine.
Note: Only a full uninstall clears pairing. Questions? WhatsApp 90000 98877.
Email Credential or alert emails aren’t being delivered
What you see: New users don’t receive their sign-in email, or offline/violation alert emails never arrive.
Likely cause: Email isn’t configured to actually send — it’s only being written to the log.
How to check: Run System Health — the “Email sending” row will be amber.
How to fix: Set real SMTP details in the .env file (MAIL_MAILER=smtp, MAIL_HOST, MAIL_USERNAME, MAIL_PASSWORD, MAIL_PORT), then do a full Laragon Stop All → Start All.
When to call Ametecs: Ask WhatsApp 90000 98877 for the recommended SMTP settings for your setup.
Cloud storage Cloud Storage says “libraries not installed”
What you see: Turning on Google Cloud Storage in Audit & Ops reports that the required libraries aren’t installed.
Likely cause: The Google Cloud packages haven’t been added to this server yet.
How to fix: Run deployment\installers\ENABLE-CLOUD-STORAGE.bat, or in Laragon Terminal: cd /d C:\laragon\www\smartept then composer require google/cloud-storage league/flysystem-google-cloud-storage (one command per line).
When to call Ametecs: If composer errors, copy the message and send to WhatsApp 90000 98877.
Setup Composer fails with “does not contain valid JSON”
What you see: Running a composer command errors with “composer.json does not contain valid JSON”.
Likely cause: A batch variable was named COMPOSER (a reserved name), or a cd and a command were typed on the same line.
How to fix: In Laragon Terminal, type one command per line, and never use a variable called COMPOSER. For example: cd /d C:\laragon\www\smartept on its own line, then the composer require … line.
When to call Ametecs: Still stuck? WhatsApp 90000 98877.
Application log the most recent messages — copy them for the developer if you need help
Press “Load log” to read the most recent messages.

