Remove Java from your users’ computers

Security guidance says to remove software you don’t need, and desktop Java stays installed only because a few business applications need it. CheerpJ runs those applications inside the browser, so desktop administrators can uninstall Java, the plug-in and IE mode instead of patching them.

Why Java is still on your desktops

  1. A few applications keep Java installed

    Java isn’t part of Windows or macOS, so it is there because of applets such as Oracle Forms and E-Business Suite, Java Web Start applications and in-house Swing or AWT applications. Oracle removed the plug-in and Web Start from Java 11, so applets and Web Start keep those computers on Java 8.

  2. Security guidance says to remove it

    The UK’s NCSC calls browser plug-ins such as Java “one of the top ways that users devices are compromised”. Australia’s Essential Eight, CIS Controls v8 and CERT/CC all say to disable or remove Java unless an application really needs it.

    Source: NCSC, managing web browser security

  3. Patching never stops

    In 2026 Oracle’s four quarterly updates fixed 105 vulnerabilities in Java SE, 80 of them remotely exploitable without authentication, including 55 in October alone. Each one is a new runtime to package, test and push to every desktop.

    Source: Tenable, Oracle’s October 2026 Critical Patch Update

  4. Old versions stay exploitable

    CISA’s Known Exploited Vulnerabilities catalog lists 13 vulnerabilities in Oracle’s Java SE and JRE, six of them used in ransomware campaigns. All date from 2010 to 2016, so a forgotten Java 8 installation stays exploitable for as long as it stays on the computer.

    Source: CISA Known Exploited Vulnerabilities catalog

Why the usual workarounds keep Java somewhere

Keeping IE mode and the plug-in

Java 8 stays on every desktop, on Oracle’s latest security updates, along with Exception Site Lists and Deployment Rule Sets. If the signed rule set becomes invalid, “all RIAs are blocked”, so an expired certificate can stop every legacy application at once.

Bundling a runtime with each application

It works only for standalone applications, not applets, and each private runtime has to be inventoried and patched, following the vendor’s updates rather than OpenJDK’s.

Running the application on servers

Publishing it through Citrix or VDI, or streaming its interface from a server, moves Java onto servers that still need patching, with capacity and cost that grow with the number of users.

Two ways to run your applications with CheerpJ

1 Browser extension

Through a CheerpJ browser extension

There is one for applets and one for Java Web Start applications, and they need no work on the server. The applications run in Chrome and Edge, unmodified, with no Java on the computer.

Your desktop administrators deploy them through Group Policy or Intune, like any other managed extension, and can force-install them from your own update URL, with website access limited to your application’s hosts.

2 Your own servers

On your own web servers

Any Java application, including in-house Swing and AWT applications, can run from CheerpJ on your own web servers. The runtime and the application’s files sit inside your network, and users open a page in their browser.

CheerpJ is updated once, on your server, not on each computer.

For your security review

The browser sandbox

The application runs inside the browser’s sandbox, where Java code can’t start processes, load native binaries or reach the local disk.

Files move by upload and download

Files leave only as browser downloads and enter only as user uploads.

Nothing sent out

CheerpJ makes no connection to Leaning Technologies and opens no new ports, so it runs on air-gapped networks.

Updates on your schedule

Self-hosted releases are versioned files that never update themselves, so you choose when to test and deploy each one.

Read the full security review

Removing Java with CheerpJ

Get started

Talk to us

Tell us which applications still need Java on your users’ computers, and we’ll help you test the most critical one first, with Java left in place until users have moved.

Talk to us

Build with Java for the browser.