CyberSim-OS · Devlog
Phase 2.5: Runtime Localization, Corporate Branding, and Immersive Login
Enhanced CyberSim OS with full runtime multilingual support (English and Spanish demonstration), deployment-level corporate branding customization, an immersive enterprise login and network selection screen, learner full-name personalization, verifier certificate print rendering, and login verification shortcuts.
Milestone Overview
CyberSim Phase 2.5 prepares the simulation platform for organizational deployment and Phase 3 scenario authoring. This milestone introduces a robust localization layer, configuration-driven enterprise branding, an immersive workstation login experience, learner first- and last-name personalization, standalone certificate rendering and printing, and cross-locale offline credential verification while preserving 100% offline execution and strict security boundaries.
Key Deliverables Implemented
CyberSim OS & Scenario Multilingual Localization (I18n):
- Built a standalone, offline-first localization engine (
i18n.js) with deterministic fallback behavior (Selected Locale -> Deployment Default Locale -> English -> visible[missing: key]indicators). - Embedded full English UI catalogs (
locales/en.json) and Spanish demonstration catalogs (locales/es.json) for instant offline dictionary availability. - Decoupled scenario content localization (
scenarios/[id]/locales/[lang].json), enabling independent translations of emails, documents, web pages, notifications, and pedagogical feedback without altering scenario schemas or scoring logic.
- Built a standalone, offline-first localization engine (
Deployment Configuration & Corporate Branding:
- Implemented
src/config/deployment.jsonand a dynamicBrandingManager(branding.js) to customize organization identity (name, short name, logo, wallpaper, accent color, and service desk contact) via CSS custom property injection. - Built automatic fallbacks to default CyberSim enterprise styling when custom branding properties are omitted.
- Preserved simulation safety indicators to maintain clear simulation boundaries.
- Implemented
Immersive Workstation Login & Dynamic Network Discovery:
- Replaced raw scenario loading with an enterprise lockscreen interface (
login.js) featuring real-time language switching, strict first- and last-name input validation (required, trimmed, max length 50), and dynamic workplace network selection. - Added direct verification shortcut links on the login screen to allow verifying completion certificates without logging into a simulation.
- Avoided any credential or password entry requirements on the simulated OS login screen.
- Extended scenario manifest schemas to support
supportedLocalesdeclarations andloginmetadata (networkName,networkDescription,networkIcon).
- Replaced raw scenario loading with an enterprise lockscreen interface (
Learner Full-Name Personalization & Security Boundaries:
- Exposed
learner.firstName,learner.lastName, and fulllearner.nameto scenario action dispatchers, simulated workplace applications, and certificate generators. - Implemented safe template interpolation with HTML entity escaping to prevent cross-site scripting (XSS) or HTML injection from user-provided names.
- Exposed
Deterministic Cryptographic Verification & Print Rendering:
- Canonicalized SHA-256 fingerprinting (
fingerprint.js) against the base scenario structure, ensuring that completion certificates issued in one language remain 100% machine-verifiable in any language. - Updated the standalone offline certificate verifier (
verify.html) to render the full official Certificate of Competency upon successful validation, with dedicated print styling and export actions.
- Canonicalized SHA-256 fingerprinting (
Comprehensive Automated Verification & Zero External Dependencies:
- Added an automated Node.js test suite (
tests/run_tests.js) covering localization fallback, branding defaults, login validation, template escaping, cross-locale fingerprinting, and offline dependency verification. - Verified 100% offline compatibility with zero external CDN, font, or API requirements.
- Added an automated Node.js test suite (