Just a heads up: On March 24, 2025, starting at 4:30pm CDT / 19:30 UTC, the site will be undergoing scheduled maintenance for a few hours. During this time, the site might be unavailable for a short while. Thanks for your patience.
×
Hello, Atlassian Community!
To boost the security of installed DC apps, we’re introducing a new feature that will restrict app installations to only those that are signed. This will help us to:
The app signing feature will be gradually rolled out by mid 2025, and customers will be able to enable it when convenient during a 90-day grace period.
This feature was developed with security in mind. It focuses on protecting installed apps while allowing flexibility for custom and private builds.
Requirement | Description |
---|---|
Air-gapped instances support | Air-gapped instances are able to install and verify apps offline. |
Backward compatibility | Signature check has been designed to be compatible with current instances that have unsigned apps already installed. |
Custom plugins support | Clients are able to install custom plugins. |
Certificate management | Streamlined certificate management for both Atlassian and customers. |
Extensibility | App signing is agnostic to apps’ type and can be extended to support additional features for further enhancements. |
We’ve chosen the
Ed25519
curve for app signing due to its high security 1 and compliance with FedRamp and FIPS 186-5 1 standards.
The Atlassian Marketplace and Universal Plugin Manager 1 (UPM) have been updated to sign and verify apps. UPM will support verification for Marketplace apps, custom apps, and private builds. The next diagram describes involved components.
Component | Description |
---|---|
Trust Store | Trusted certificates are stored in the Trust Store. It is crucial for system operators with file system access to set folder permissions carefully to ensure security. The user running the product should only have read-only access. ![]() |
App Vendor (CI, CLI), App Vendor (private build) | These components represent the mechanism responsible for uploading plugins from the plugin vendor side (may be manual). |
Custom Apps | Custom apps developed by customers and installed directly on their local instance. ![]() |
Marketplace | Atlassian Marketplace |
Universal Plugin Manager | UPM |
UPM offers support for 2 signature verification flows, enabling the verification of the following applications.
Types of apps | Description |
---|---|
Marketplace apps | These are public or private apps hosted on the Atlassian Marketplace. |
Private builds | Apps built by vendors and distributed directly to customers without being uploaded to the Marketplace. These are usually created for diagnostic purposes. |
Custom apps | Apps built by customers to extend the functionality of our products |
Before this step, customers need to download the Atlassian certificate chain and save it in their Trust Store. Atlassian will provide the certificate bundle, which will be updated periodically.
Once the certificates are trusted, UPM uses them to verify the app’s certificate and signature before installation. The next diagram shows the steps involved.
Example of a signature file:
{
"signature": "39sn...",
"certificate": "LS0..."
}
When app signing is turned on, the Upload Restrictions in UPM are turned off by default. This re-enables the Upload button, allowing administrators to install apps directly through UPM.
Both private builds and custom apps use the same verification process. In both cases, customers need to trust the signing certificate by saving it in their local Trust Store.
{
"signature": "pi99..."
}
While we’ve worked to minimize the impact, security is a shared responsibility between Atlassian, customers, and Marketplace partners. Your support in implementing these security measures is key to improving product security.
Atlassian Marketplace | Customers | Marketplace partners | |
---|---|---|---|
Marketplace apps | |||
Sign Apps | ![]() |
||
Tooling & documentation | ![]() |
||
Key management | ![]() |
||
Certificate management | ![]() |
![]() |
|
Custom apps | |||
Sign Apps | ![]() |
||
Tooling & documentation | ![]() |
||
Key management | ![]() |
||
Certificate management | ![]() |
||
Private builds | |||
Sign Apps | ![]() |
||
Tooling & documentation | ![]() |
||
Key management | ![]() |
||
Certificate management | ![]() |
![]() |
Thanks for being part of this journey!