Sandboxed JavaScript Engine for Secure Custom Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems lack flexibility and security, preventing users from writing custom logic or building views that meet their specific needs without compromising the host application's security.

Innovation Solution

A system comprising a user-side framework for rendering views, a user-side JavaScript library, a securely integrated JavaScript engine, and an event bus to allow users to build and configure views and write custom logic securely, using a Canvas architecture that includes layout definitions, component definitions, state information, event handlers, and data sources, while ensuring separation of concerns and secure interaction with the hosting application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If users are allowed to write custom logic and build views, then flexibility and adaptability improve, but security risks increase

Engineering Contradiction:
Improveuser flexibilityVSAvoidsecurity risk
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

A sandboxed JavaScript engine is introduced as an intermediary between user custom logic and the host application. This mediator allows user code to execute with extended flexibility while preventing direct access to or manipulation of the host application's internal state, thus resolving the security risk associated with user-defined content.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the execution environment into distinct layers: the host application layer and the sandboxed user code layer. This segmentation isolates user custom logic from the core application, enabling flexibility for users while maintaining security boundaries that prevent harmful effects on the host system.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a sandboxed JavaScript engine is used, then security is improved, but execution performance may deteriorate

Engineering Contradiction:
Improveapplication securityVSAvoidexecution performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The sandboxed JavaScript engine applies security constraints selectively rather than uniformly. It allows full execution freedom for operations within the sandbox while imposing restrictions only where necessary for security. This partial application of security measures maintains performance for non-critical operations while ensuring security where needed.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20240385912A1System and method for extending an application with user-defined content
Publication Date: 2024.11.21 KINAXIS INC
  • US20240385912A1 patent drawing
  • US20240385912A1 patent drawing
  • US20240385912A1 patent drawing

AI summary

Methods and systems that provide the tools and flexibility to build views that meet a user's needs by eliminating arbitrary limitations that are imposed by entrenched resource concepts that currently exist.