AI Overlay for IQB ProView Secure Assessment on Mac

· 3 min read
IQB ProView · question-bank lockdown

IQB ProView is a niche secure-assessment platform delivered as a downloadable Mac client rather than a browser extension. Institutions that license it use it to gate question-bank-driven certification and licensure tests where a full lockdown app is mandated.

Public documentation on IQB ProView is sparse because it is sold through channel partners rather than direct, but the macOS client follows the same architecture as every other kiosk exam app: a notarized native binary, an embedded Chromium engine, TCC prompts for Screen Recording and Camera, AVFoundation for webcam, and ScreenCaptureKit (or its CGDisplayStream predecessor) for screen capture.

Key points

How it works

┌── macOS host ─────────────────────────────────┐
│  ┌── proctor desktop app ───────┐             │
│  │  Calls ScreenCaptureKit /    │  ← misses   │
│  │  CGWindowListCreateImage     │    flagged  │
│  └──────────────────────────────┘    windows  │
│                                               │
│  ┌── LDBypass overlay window ───┐             │
│  │  sharingType = .none         │ ← invisible │
│  └──────────────────────────────┘   to capture│
└───────────────────────────────────────────────┘

Compatibility on Mac

macOS 14 Sonoma+Yes (required for window-privacy API)
Apple Silicon (M1/M2/M3/M4)Native arm64 build
Intel Macs (2019+)Universal binary supported
IQB ProView (Mac client)macOS 12+ kiosk app, user-space
ProView live proctoringWebRTC stream uses same filtered frames

Common questions

Does ProView do anything unusual on macOS that other kiosk apps do not?

Public docs do not indicate any non-standard capture path.

Will ProView block LDBypass from launching?

ProView blocks app launches initiated after the exam starts. Launch LDBypass first, then ProView.

Can ProView see the overlay through its process enumeration?

Process enumeration sees a process name, not a window.

Is the overlay invisible to a live proctor on ProView?

Yes. The proctor receives frames the app captured.