Run proctoring API on :3000, then this page on :3001
(pnpm --filter @examly/test-harness dev).
Use the numbered buttons in order. Step 5 shows raw JSON; step 6 opens the visual report with photos and times.
After step 3, tab switch, copy/paste in this page, and (inside the monitor iframe) focus leaving the exam frame are detected automatically. Open Advanced for manual / face violations.
Step 3 loads the monitor below and starts the SDK, then turns on your webcam. One-time build from repo root:
pnpm harness:setup
No request sent yet.
Optional. Build once:
pnpm harness:setup (repo root). Embedded monitor:
/monitor/
Uses ADMIN_SECRET at the top of this page.
Active tenant id: none
Proctoring routes: POST /admin/tenants, POST /admin/tenants/:id/keys
Active raw key: none
Allowed origins used: none
Allowed origins are comma-separated (example: http://localhost:3001,http://127.0.0.1:3001).
Proctoring route: POST /proctor/sessions
Selected Session ID: none
Selected Session Status: unknown
Client token (if created in this page): none
After SDK Start or simple-demo step 3, use the embedded monitor as the single camera preview.
Automatically detected on this page: tab/minimize via Page Visibility (tab_switch),
copy/paste/cut (copy_paste). The embedded monitor iframe also auto-detects those plus
focus_loss when focus leaves the iframe while the tab stays visible.
Severity from the dropdown above. Use for cases not auto-detected.