Project Summary
Introducing a new link egress type in the app manifest to allow static, user-initiated navigation to external URLs without triggering egress warnings or violating RoA status.
Publish: 27 October 2025
Discuss: 7 November 2025
Resolve: 18 November 2025
Problem
Currently, app developers are unable to provide users with direct links to external resources (such as documentation, tutorials, or videos) from within their apps without triggering egress warnings or losing RoA (Runs on Atlassian) status. This limitation impacts both developers and users as developers cannot easily guide users to helpful resources, and users may encounter unnecessary friction or warnings when navigating to legitimate external content. The inability to statically declare safe, non-data-egressing links also complicates compliance with regulatory and trust requirements, and may force developers to use less secure or less user-friendly workarounds. Addressing this now is important to support developer migration from Connect to Forge and end-user experience.
Proposed Solution
Forge proposes introducing a new link egress type in the app manifest. This would allow developers to declare a list of static, exact-match URLs that users can navigate to via explicit user actions (e.g., clicking a button that calls router.open()). Only URLs beginning with https (and potentially custom protocols, pending further investigation) would be permitted. No wildcards would be allowed; the manifest must specify the full URL, including protocol, domain, path, query parameters, and anchors.
The solution would involve:
-
Adding a links section under permissions in the manifest (e.g.permissions: links:).
-
Validating that URLs listed do not overlap with existing egress sections and are exact matches for those used in router.open.
-
Ensuring that only static links are permitted, with no dynamic generation or wildcards.
-
Updating developer documentation to clarify that these links should only be opened as a direct result of user interaction, and not via background scripts or unexpected navigation.
Users will be able to click on clearly defined links within apps to access external resources without encountering unnecessary warnings, provided the link matches exactly what is declared in the manifest.
Developers can statically declare safe external links in their manifest, improving productivity and reducing the need for workarounds. The manifest format is clear and avoids confusion with data egress permissions.
By restricting links to static, exact-match URLs and not treating them as data egress, Atlassian and apps will maintain user trust and RoA status. Risks such as phishing, domain impersonation, and redirection are mitigated by transparency and manifest validation.
This change enables more flexible app experiences while maintaining security and compliance. It avoids unnecessary friction for both developers and users, and supports the broader goal of configurable egress. The approach is designed to minimize dependencies on other teams and avoid major architectural changes.
Asks
While we would appreciate any feedback you have to this RFC, we’re especially interested in learning more about the scenarios where you would use our current solution, and what scenarios this solution would not meet your needs.
If you would like to provide feedback in a 1:1 conversation, please contact me here via DM!
Thank you and I’m looking forward to hearing back,
Vicky
Product Manager, Forge UI