Dear Atlassian,
We need to talk about Runs on Atlassian.
When the program was first introduced, the definition was:
we are introducing a new badge called Runs on Atlassian that identifies Forge apps with no data egress and data residency-enabled storage.
When the program launched, the definition became:
All Runs on Atlassian apps are built on Forge, but not all Forge apps qualify for Runs on Atlassian. In order to get the badge, an app must:
- Only use Atlassian-hosted compute and storage
- Provide data residency in the same regions as Atlassian apps
- Allow customers to control data egress and block it at any time, if desired
This was a result of the implementation of custom analytics, which required egress. This was the first time Atlassian implemented the notion of controlled egress: customers would be able to enable/disable analytics, making the feature optional.
To make sure that this first loophole of data egress in the Runs on Atlassian program does not cause data leakage, Atlassian planned to create a comprehensive definition of allowed analytics tools:
We will be offering developers a method to flag their egress permissions directly in the app manifest. Atlassian plans to publish comprehensive guidelines outlining what qualifies as an analytics tool and what does not.
However, despite multiple requests and promises, Atlassian has not provided this definition.
So the Runs on Atlassian program has gone from no data egress
to controlled data egress
between announcement and release based on requests from Marketplace Partners and customers.
How controlled egress is already challenging the program requirements
By changing the requirements from no data egress
to controlled data egress
, Atlassian has opened the door for questionable architectural choices, both by Atlassian as well as partners.
With RFC-94 and RFC-97 the interpretation of the requirements of the Runs on Atlassian program are already challenged:
- RFC-94 introduces configurable egress and remotes, which is excluded from Runs on Atlassian even though it falls under
controlled egress
as they are customer defined and can be enabled/disabled. - RFC-97 introduces Forge REST API capability and is included in Runs on Atlassian because it is
controlled egress
as the customer can enable/disable it.
Both RFCs introduce controlled egress but are treated differently with regard to Runs on Atlassian. Both RFCs introduce features that might end up being non-optional, meaning that controlled egress
will become meaningless as it will basically mean customers either enable egress or cannot use the app. Both RFCs are diluting the meaning of Runs on Atlassian.
Atlassian, please go back to the drawing board
In the Runs on Atlassian launch day announcement, Atlassian made it really clear that not all apps qualify for the program
Because of the way Runs on Atlassian apps restrict access to external services, not every app and use case can qualify.
And that is fine. Runs on Atlassian is a trust signal, and in order for it to work, the requirements have to be crystal clear.
I urge Atlassian to take a step back and have a good look at the Runs on Atlassian requirements, as the current controlled data egress
paradigm has proven to be to difficult to comprehend for Atlassian teams.
Personally, I would be fine with Runs on Atlassian going back to no data egress
. That way, all parties involved have a clear understanding of what the program means. As Atlassian has put it herself not every app and use case can qualify
. And that is OK.