What is Code With Me?
Last year we began our Early Access Program for Code With Me, a new code collaboration tool available for the IntelliJ Platform, which allows folks to work on code together in their IDE remotely in real time. Over the past year, Code With Me has received a tremendous amount of positive feedback from the users of the Early Access Program, many of whom have highlighted how it has facilitated their work during the pandemic.
Code With Me allows a person (host) with IntelliJ IDEA (Community and Ultimate), WebStorm, PyCharm (Community and Professional), PhpStorm, CLion, GoLand, or RubyMine to invite others (trusted guests) to collaborate on code with them. There are 4 types of access the host can provide guests with:
read-only access to the host project (default). This allows the trusted guest to navigate a project, see different files that belong to the project, and explore the project and its structure.
edit access to the host project. This provides the trusted guest all of the above privileges, as well as allowing them to modify files.
full access to the host project. This provides the trusted guest with full access to all the above, and in addition, access to IDE features such as the built-in terminal, debugging, and running the project.
custom access. This allows for fine-tuning of specific privileges.
It’s important to note that these are the default permission levels for new connections. During a session, they can be changed for all users or individual users.
Please note that allowing trusted guests to access projects means that they will be able to access parts of the host computer too, depending on the above settings. The host is responsible for proper security settings and configuration. Please refer to the Security FAQ for more details.
What your IT department needs to know
Code With Me uses network access to allow for collaboration. The default setup is to use the JetBrains Lobby Server, provided as a service by JetBrains. These servers are hosted on the Google Cloud Platform. The network should allow for access to code-with-me.jetbrains.com, as well as the permission to allocate random TCP ports in the range of 5990 to 65536. UDP ports are used for listening for incoming connections.
Code With Me communicates through an open source distributed protocol created by JetBrains, and uses TLS 1.3 for end-to-end encryption. In order to function correctly, the JetBrains Lobby server needs to know the local IP addresses, project name, and username. It does not access information related to project contents such as sources, project files, configuration files, etc. which is transferred using end-to-end encryption at all times.
Security Audits
Code With Me has gone through a series of security audits that have verified, amongst other aspects:
Access control.
Confidentiality.
Common security weaknesses.
For more information please refer to the Security FAQ.
On-site Enterprise Option
If your organization prefers to use an in-house relay server, Code With Me can provide an Enterprise solution that allows you to host your own server. Code With Me Enterprise will be available for evaluation and purchase starting on April 6, 2021.
Code With Me Enterprise includes
Host up to 100 guests
Unlimited session length
Unlimited number of meetings
High-priority technical support via email
On-premises server for advanced reliability