·3 min read·Technical architecture

How to Integrate ProctorSafe in Under One Hour: A Technical Walkthrough

From a single script tag to a live proctored exam session — a practical guide to integrating the ProctorSafe SDK with your LMS in less than 60 minutes.

What this guide covers

This is a practical integration guide for technical teams deploying ProctorSafe with an LMS (Learning Management System). By the end, you'll have:

  • The SDK running in an exam session
  • LTI 1.3 authentication configured
  • Trust score events flowing to the review dashboard

Estimated time: under one hour. No prior experience with proctoring systems required.


Prerequisites

Before you start, you'll need:

  • A ProctorSafe account with an active institution key
  • Access to your LMS as an administrator
  • A development or staging environment for initial testing

Step 1: Add the SDK to your exam page

The ProctorSafe SDK is loaded with a single script tag. Add it to the HTML template your LMS uses for proctored exam pages:

<script
  src="https://sdk.proctorsafe.eu/v2/loader.js"
  data-institution-key="YOUR_INSTITUTION_KEY"
  data-session-mode="lms"
  async
></script>

The SDK initialises automatically when the page loads. It runs entirely client-side — no server-side components to deploy.


Step 2: Configure LTI 1.3 launch

ProctorSafe uses LTI 1.3 (IMS Global) for secure authentication and session context. Your LMS must be configured as an LTI 1.3 Platform.

LMS-side configuration:

  1. In your LMS admin panel, navigate to Integrations → LTI Advantage
  2. Create a new LTI 1.3 registration for ProctorSafe
  3. Set the launch URL to https://sdk.proctorsafe.eu/lti/launch
  4. Set the deep-link URL to https://sdk.proctorsafe.eu/lti/deep-link
  5. Note your Client ID, Platform ID, and Deployment ID

ProctorSafe-side configuration:

  1. In your ProctorSafe admin panel, navigate to Institutions → LTI Settings
  2. Enter your LMS platform details and the required OAuth 2.0 endpoints
  3. Paste your Public JWK from the LMS

The handshake is automated after this point. LTI launch messages will include the candidate's identity, course context, and exam assignment — all scoped to the specific assessment.


Step 3: Define your exam policy

Each exam can have a distinct proctoring policy. Configure it via the ProctorSafe dashboard or the LTI launch parameters:

{
  "exam_id": "CS101-final-2026",
  "trust_threshold": 0.7,
  "flags_enabled": ["focus_loss", "tab_switch", "devtools_open"],
  "log_retention_days": 30,
  "allow_mobile": false
}

Key settings:

  • trust_threshold: The score below which a session is flagged for review (0.0–1.0)
  • flags_enabled: Which event types trigger score deductions
  • log_retention_days: How long event logs are retained — shorter is better for privacy
  • allow_mobile: Whether to permit tablet or mobile browsers (disabled by default)

Step 4: Test in staging

Before deploying to students:

  1. Create a test assignment in your LMS mapped to the proctored exam configuration
  2. Open the exam as a student in a staging account — use a different browser or incognito window
  3. Trigger a few flags deliberately — open a new tab, switch applications — to see how events appear in the dashboard
  4. Check the event log — verify that only event metadata is present, no video or biometric data

The staging dashboard is available at https://dashboard.staging.proctorsafe.eu during development.


Step 5: Deploy to production

When you're satisfied with the staging test:

  1. Promote the exam configuration to production in the ProctorSafe dashboard
  2. Enable proctoring on the live assignment in your LMS
  3. Run a small pilot first — 5–10 students — before a full cohort
  4. Monitor the first session reviews in real time and adjust thresholds if needed

What "under one hour" actually means

The one-hour estimate assumes:

  • You have LTI 1.3 already configured on your LMS (most modern LMS instances do)
  • You're testing in a staging environment with non-production data
  • The LMS team and the ProctorSafe admin are both available to configure their respective sides

The longest step is typically the LMS-side LTI configuration — not the SDK integration itself. If LTI is new to your team, budget an additional 30–60 minutes for the first-time setup.


What's included in the SDK

FeatureDetails
Loading time6–10 seconds on typical broadband
Browser supportChrome 90+, Firefox 88+, Edge 90+, Safari 15+
No plugins requiredWebAssembly, runs natively in browser
Data transmittedSigned event log only
Data NOT transmittedVideo, audio, images, keystrokes, face data
Session encryptionTLS 1.3, E2E HMAC signing

Next steps

Once you've completed the integration, explore:

  • Threshold calibration — adjusting flag sensitivity based on your student population
  • Review workflow setup — configuring who receives flagged session alerts and how
  • Reporting — aggregate integrity analytics across your exam sessions

Questions during integration? The docs at proctorsafe.eu/docs cover each step in detail, or reach out to the integration team.