Proctoring infrastructure for modern test runners.
Embed a 12 KB SDK in your testing platform. Get a timeline you can defend, screen and webcam evidence, and face-presence detection — without rebuilding your exam runner.
We're piloting Proctor with a handful of universities + certification bodies right now. The first published case studies land later this year — subscribe to hello@example.com for early access.
For proctors
See every session the moment it goes live.
A timeline you can defend in an integrity hearing — every focus loss, clipboard event, shortcut and screenshot attempt with millisecond timestamps and idempotent IDs. Fully transparent, never a black box.
Filterable event timeline by category & search
Screen + webcam evidence stitched on demand
Integrity score from first principles, not a vendor heuristic
Export incident packets straight from the dashboard
Session · alex@uniwest.edu
ses_2c4a8b…
Session started
10:02:14
Built for engineering teams
The proctoring layer your stack was missing.
Designed by engineers tired of vendor black boxes. A clean SDK, typed events, and a transparent integrity score.
Timeline you can defend
Every focus loss, clipboard event, shortcut and screenshot attempt is logged with millisecond timestamps and idempotent IDs.
Screen + webcam evidence
Chunked screen recording and continuous webcam capture, stitched on demand. Random snapshots when bandwidth is tight.
SDK
Three lines and you’re proctoring.
The SDK is a single import, framework-agnostic, runs in a dedicated Worker. It owns its own IndexedDB queue so your test runner stays focused on what it does best: serving questions.
If you don't see your question here, drop a line — we usually reply within a day.
Where does my data live?
Sessions, events and media are stored on tenant-isolated infrastructure, with recording chunks in encrypted object storage. You stay the data controller throughout. Contracted residency regions are available only when explicitly included in an Enterprise agreement.
Does the SDK work offline?
Yes. Every observer feeds an IndexedDB-backed byte-budgeted queue (8 MB default). When the network returns the worker flushes in order. Events are idempotent at the server, so retries can't double-count.
Where does face detection run?
By default the preflight face check runs server-side on our hosted detection service for the best accuracy — only the captured frames are sent, never a continuous stream. For privacy-sensitive deployments you can switch to an on-device mode that bundles MediaPipe Tasks in a Worker, so frames never leave the candidate's browser.
How are app keys scoped?
Ship proctoring this week, not this quarter.
Sign up, drop the SDK in your test runner, and watch the first session land in your dashboard before your coffee gets cold.
App keys are public (they appear in candidate browsers) but per-origin-locked. Revoking a key takes effect within seconds across all caches. Events that arrive with a revoked key are accepted, tagged and quarantined — never silently dropped.
Is the SDK CSP-friendly?
Yes. The Worker bundle is self-contained — no remote workers, no eval, no inline scripts. Only the MediaPipe model and WASM are fetched, and you can host them on your own CDN.