LMS PLATFORMEXTERNAL TOOL
Verified launch (JWT valid) Rejected launch (signature fail)
⚠ Couldn't load the 3D engineThree.js failed to load from the CDN. Check your connection and reload.

LTI 1.3 Launch Handshake Simulator

Every time a student opens a third-party activity from inside their LMS, an LTI 1.3 launch fires an OpenID-Connect handshake behind the scenes: the LMS Platform signs a JWT describing who the user is and what course they're in, and the external Tool must verify that signature before it trusts the request. This simulator renders that traffic in 3D β€” launch packets fly between a Platform node and a Tool node in concurrent waves, colored green when the signature check passes and red when it fails. A tamper-probability slider corrupts signatures in transit, and a stale-JWKS toggle reproduces the most common real-world integration bug: a Tool that never refreshed its cached copy of the Platform's rotated public key, so every launch is rejected until the cache is refreshed. Live counters track in-flight packets, verified vs rejected totals, success rate and average round-trip latency, and the last packet's actual modular signature arithmetic is shown so the accept/reject logic is never a black box.