Table of Contents
Kasm is focused on being a web native remote desktop server and client. We did not want to be tied down to conforming to the VNC protocol and wanted a single unified application rather than 3 separate components (TigerVNC, noVNC, websockify).
VNC Protocol
KasmVNC gets rid of the VNC service which by default listens on port 5901. While you can configure KasmVNC to enable that service, we provide no guarantees that we will keep VNC protocol compatibility. We also do not guarantee that we will upstream changes from TigerVNC that are not applicable to our goals.
Authentication
TigerVNC uses the VNC protocol's password based authentication, which has a limit of 8 characters. We have completely removed the VNC password and replaced it with HTTP Basic Authentication. Eventually we will replace basic auth with a more comprehensive authentication and session handling approach.
Multi-Users
TigerVNC supports 1 read/write password and 1 read-only password. KasmVNC uses usernames and password. There can be as many users as you want and the owner can set who has write permissions.
API
KasmVNC adds API service to make API calls to do things like: add users, remove users, set permissions, get screenshots, etc.
DLP
KasmVNC adds Data Loss Prevention features such as rate limiting keyboard input, rate limiting clipboard operations, clipboard size limitations, key logging, screen region selection, and more.
Better Rendering Compression
KasmVNC adds support for webp image compression if the browser supports it. KasmVNC also adds dynamic image quality, when there is a lot of motion in areas, those updates will drop the image quality and then snap back to high quality when the high rate of change drops. These are all adjustable to your preference.
An optional video mode will detect when full screen video is being played and scale the screen to a max size and blow it up on the client side. For example, if your local computer has a 4k monitor, when you connect to the Kasm session, you will get a 4k resolution. When full screen video is detected, KasmVNC will scale the remote screen down to a max size, such as 1080p, and blow it back up to 4k on the client side. The image quality is increased when in video mode so that JPEG/WebP artifacts and not scaled up. The result is significantly reduced bandwidth and CPU utilization for clients with large native resolutions, without horrible video quality. The max resolution and quality settings are adjustable.