# US 2021/0243196 A1 · Systems and methods for securely managing browser plugins via embedded browser

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0243196 A1
- Document ID: US20210243196A1
- Status: Published application
- Kind: A1
- Application number: 17/237,320
- Filed: 2021-04-22
- Published: 2021-08-05
- Earliest claimed: 2018-11-16
- Assignees: Citrix Systems, Inc.
- Applicants: Citrix Systems, Inc.
- Inventors: Vipin Borkar; Santosh Sampath; Deepak Sharma; Arvind SankaraSubramanian
- Web page: https://patentgrep.com/patent/US20210243196A1

## CPC

- G06F 9/44521: {Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading}
- H04L 63/102: {Entity profiles}
- G06F 8/61: Installation
- G06F 9/44526: {Plug-ins; Add-ons}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- H04L 63/20: {for managing network security; network security policies in general (filtering policies H04L63/0227)}
- G06F 2009/45587: {Isolation or security of virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Embodiments described include systems and methods for securely managing browser plugins via embedded browser. The solution enables a client application or embedded browser to dynamically load the browser components into the embedded browser based on a risk or security profile and one or more policies. The policies can be centrally managed to enable only allowed browser components to be loaded within the embedded browser for a given risk profile. Based on the risk profile, a session established by the embedded browser can be transferred from the client application to a hosted browser at a secure sever. When the session is transferred to the hosted browser, the present system can also redirect the browser component configurations to the hosted browser such that the same browser components are enabled, disabled, or modified at the hosted browser.

## Claims

### Claim 1

A method comprising
identifying, by a computing device, an application hosted by a remote computing device of another entity different than that of the computing device;
determining, by the computing device based at least on identification of the application, executable code configured to change a function of the client application to access the application; and
providing, by the computing device, the client application including the executable code.

### Claim 2 (depends on 1)

The method of claim 1, further comprising identifying, by the computing device, the executable code stored on one of the computing device or a second computing device of an entity different from the another entity.

### Claim 3 (depends on 1)

The method of claim 1, wherein the executable code comprises one of a plug-in, an extension or an add-on to the client application.

### Claim 4 (depends on 1)

The method of claim 1, further comprising identifying, by the computing device based at least on identification of the application, one or more executable codes to exclude from the client application.

### Claim 5 (depends on 4)

The method of claim 4, further comprising removing, by the computing device, the one or more executable codes from the client application.

### Claim 6 (depends on 1)

The method of claim 1, further comprising including, by the computing device, the executable code in an embedded browser of the client application.

### Claim 7 (depends on 1)

The method of claim 1, further comprising executing, by the client application, the function of the executable code in accessing the application on the remote computing device.

### Claim 8

A system comprising
a computing device configured to:
identify an application hosted by a remote computing device of another entity different than that of the computing device;
determine, based at least on identification of the application, executable code configured to change a function of the client application to access the application; and
provide the client application including the executable code.

### Claim 9 (depends on 8)

The system of claim 8, wherein the computing device is further configured to identify the executable code stored on one of the computing device or a second computing device of an entity different from the another entity.

### Claim 10 (depends on 8)

The system of claim 8, wherein the executable code comprises one of a plug-in, an extension or an add-on to the client application.

### Claim 11 (depends on 8)

The system of claim 8, wherein the computing device is further configured to identify, based at least on identification of the application, one or more executable codes to exclude from the client application.

### Claim 12 (depends on 11)

The system of claim 11, wherein the computing device is further configured to remove the one or more executable codes from the client application.

### Claim 13 (depends on 8)

The system of claim 8, wherein the computing device is further configured to include the executable code in an embedded browser of the client application.

### Claim 14 (depends on 8)

The system of claim 8, wherein the client application is further configured to execute the function of the executable code in accessing the application on the remote computing device.

### Claim 15

A client device comprising
one or more processors, coupled to memory and configured to:
determine, based at least on identification of an application hosted by a remote computing device of another entity, an executable code configured to change a function of the browser to access the application; and
modify the browser to include the executable code; and
cause execution of the function of the executable code in accessing the application on the remote computing device.

### Claim 16 (depends on 15)

The client device of claim 15, wherein the executable code is stored on one of the computing device or a second computing device of an entity different from the another entity.

### Claim 17 (depends on 15)

The client device of claim 15, wherein the executable code comprises one of a plug-in, an extension or an add-on to the browser.

### Claim 18 (depends on 15)

The client device of claim 15, wherein the computing device is further configured to identify, based at least on identification of the application, one or more executable codes to exclude from the browser.

### Claim 19 (depends on 18)

The client device of claim 18, wherein the one or more processors are further configured to remove the one or more executable codes from the client application.

### Claim 20 (depends on 15)

The client device of claim 15, wherein the browser is an embedded browser of a client application on the client device.
