Skip to main content
EngagedLab
Security & Governance

Enterprise-grade security built into every layer

MFA, SSO (SAML 2.0 & OIDC), AES-256-GCM encryption, Row Level Security, and automated security audits — designed for institutional procurement and IT governance reviews.

Full security documentation packs are available for procurement teams, including Jisc checklist alignment, sub-processor listings, GDPR/FERPA compliance notes, and architecture diagrams.

Multi-factor authentication

TOTP-based MFA with AES-256-GCM encrypted secrets, 10 single-use recovery codes, and middleware-enforced MFA-pending guards across all protected routes.

Enterprise SSO integration

SP-initiated SAML 2.0 with SHA-256/SHA-512 signature validation and OIDC Authorization Code flow with PKCE — configurable per institution.

Row Level Security isolation

PostgreSQL Row Level Security enforced on all public tables with institution-scoped tenant boundaries and automated RLS verification scripts.

Security and compliance coverage

Six pillars of security — from authentication and encryption to observability and compliance — built for higher and further education institutions.

Architecture & isolation

Multi-tenant architecture with RLS-backed data isolation, institution-scoped workspaces, and role-based middleware guards protecting dashboard, labs, courses, generate, profile, and admin segments.

Authentication & identity

Five authentication methods: email/password (bcrypt), Google OAuth, phone OTP (Supabase SMS), TOTP MFA (30-second period, ±1 window), and enterprise SSO via SAML 2.0 or OIDC with PKCE. Per-institution SSO routing.

Session governance

JWT sessions with 4-hour maximum age. MFA-pending tokens are blocked from protected routes at the middleware layer. Admin routes require both ADMIN role and a verified session cookie.

Encryption controls

AES-256-GCM encryption for MFA secrets at rest (12-byte IV, 128-bit auth tag). TLS in transit across all services. HSTS enforced at 2 years with includeSubDomains and preload.

Observability & audit trail

Sentry error tracking (client, server, edge), OpenTelemetry distributed tracing, Pino structured logging to database, per-job cost tracking, quality signal pipeline, and admin monitoring dashboard.

Compliance & governance

GDPR and FERPA compliance documentation, Jisc security checklist alignment, ICO registration, automated Pa11y / axe WCAG 2.1 AA accessibility audits, and content governance with generation history tracking.

Authentication methods

MethodImplementation detail
Email & passwordBcrypt-hashed credentials with email verification and password reset flows
Google OAuth 2.0Automatic local account provisioning on first sign-in
Phone OTPSupabase-backed SMS one-time passwords supporting both signup and signin
TOTP MFASHA-1, 6 digits, 30-second period with 10 single-use recovery codes (8 characters each)
SAML 2.0 SSOSP-initiated flow with SHA-256/SHA-512 signatures, assertion signing, and 5-minute clock skew tolerance
OIDC + PKCE SSODiscovery-based Authorization Code flow with S256 code challenge, nonce + state validation

Security headers

Strict-Transport-Security

max-age=63072000; includeSubDomains; preload

Content-Security-Policy

Strict script-src, style-src, and connect-src directives

X-Content-Type-Options

nosniff

Referrer-Policy

strict-origin-when-cross-origin

Permissions-Policy

camera=(), microphone=(), geolocation=() disabled

X-Frame-Options

DENY (app), SAMEORIGIN (SCORM preview), ALLOWALL (LTI)

X-Powered-By

Disabled to reduce server fingerprinting

X-Robots-Tag

noindex, nofollow on all protected segments

Runtime protections

  • PostgreSQL RLS enforced on all public tables with automated verification scripts.
  • JWT sessions capped at 4 hours with MFA-pending tokens blocked at middleware.
  • Redis-backed presence heartbeat with 10-minute cleanup window and DB fallback.
  • Circuit breaker on Gemini API calls to prevent cascade failures.
  • DB connection pool hardening with idle timeout (10s serverless / 30s traditional).
  • Zod schema validation on all API inputs with email/phone normalization.
  • Quality gating blocks export of labs scoring below 60/100 on 7-dimension scorecard.

Sub-processors overview

ProviderPurposeLocation
SupabasePostgreSQL database with RLS + Realtime WebSocketEU region
VercelApplication hosting and edge deliveryGlobal edge network
Google Cloud Vertex AIGemini model inference (9 AI workloads)Configured cloud regions
StripeSubscription billing and payment processingRegional PCI-DSS processing
ResendTransactional email (verification, reset, alerts)Global delivery infrastructure
Cloudflare R2S3-compatible storage for SCORM packagesGlobal object storage
Redis (BullMQ)Job queue, presence tracking, session cachingConfigured region
SentryError tracking and performance monitoringEU data residency available

IT review checklist

  • SAML 2.0 and OIDC SSO integration with per-institution configuration
  • LTI 1.3 deep integration with Assignment & Grade Services (AGS)
  • SCORM 1.2 and 2004 (3rd/4th Edition) export with quality gating (60/100 minimum)
  • RLS-enforced multi-tenant data isolation with automated verification
  • MFA enforcement with AES-256-GCM encrypted TOTP secrets
  • JWT session governance (4-hour max age) with middleware-level route protection
  • Automated security audit scripts and WCAG 2.1 AA accessibility audits
  • GDPR, FERPA, and ICO registration documentation available

Request security documentation pack

Comprehensive pack for institutional due diligence: architecture diagrams, authentication flow documentation, encryption specifications, sub-processor DPIAs, and Jisc checklist alignment.