CINXE.COM

Forge privacy and security FAQ

<!DOCTYPE html> <html lang="en"> <head><meta name="csrf" content="Jfy2h8Kr-TKWztdNdbotzDZNIaU1H6XIqdhU"> <link rel="preconnect" href="https://dac-static.atlassian.com" crossorigin /> <link rel="dns-prefetch" href="https://dac-static.atlassian.com" /> <script defer type="text/javascript" src="https://dac-static.atlassian.com/_static/polyfills.2fbfe3cfc70c64f23379.bundle.js"></script> <script defer type="text/javascript" src="https://dac-static.atlassian.com/_static/documentation-changelogs-docs-index-rest-api-docs-rest-docs-search-graphql-docs-graphql-sandbox-jsapi-connect-module-pages-analytics-and-cookie-preferences-homepage-errors-supportdesk.37387166404821985a5b.bundle.js"></script><script defer type="text/javascript" src="https://dac-static.atlassian.com/_static/documentation-changelogs-docs-index-rest-api-docs-rest-docs-search-graphql-docs-graphql-sandbox-jsapi-connect-module-pages-homepage-errors-supportdesk.3cdb946b9cf346a1c81f.bundle.js"></script><script defer type="text/javascript" src="https://dac-static.atlassian.com/_static/documentation.3cb109c065b5662b0593.bundle.js"></script> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta data-react-helmet="true" name="description" content="Understand Forge&#x27;s security and privacy measures to ensure compliance and protect user data effectively."/> <meta name="dac:version" content="1.5800.1062"> <link rel="shortcut icon" href="https://dac-static.atlassian.com/favicon.ico" type="image/x-icon"> <link rel="icon" href="https://dac-static.atlassian.com/favicon.ico" type="image/x-icon"> <link rel="search" href="https://dac-static.atlassian.com/opensearch.xml" type="application/opensearchdescription+xml"> <script nonce="BN0r0ccJynHsqbZhYEXCCGvjcvS3bEZhZHILUOMURY4=" type="text/javascript">window.__DATA__ = {"jiraIssueCollectorId":"ee87e716","page":{"document":[{"type":"markdown","content":"\n# Forge privacy and security FAQs\n\n"},{"type":"shortcode","name":"note","arguments":[],"content":"\nThis information is provided for informational purposes only. It is not intended to be a substitute for legal advice. As such, always consult legal counsel before acting on any matter discussed within this document.\n"},{"type":"markdown","content":"\n\nThis page provides a high level summary of key privacy and security information about Forge. Whether you’re looking to build a new app or integration on Forge, or are just curious about your existing apps and integrations, read on to see how Forge can help protect you and your customers.\n\nThis information applies when Atlassian is providing Forge hosted storage and/or Forge compute.\n\n## Forge support for GDPR\nThe General Data Protection Regulation (GDPR) came into effect on May 25th, 2018. GDPR imposes legal obligations on companies that are located in the European Economic Area (EEA) or that process personal data relating to EEA residents. Forge developers with access to the Atlassian [Partner Portal](https://atlassianpartners.atlassian.net/) can view an overview of GDPR and implications for app developers [here](https://atlassianpartners.atlassian.net/wiki/spaces/resources/pages/315327375/Intro+to+GDPR+for+Marketplace+Partners).\n\nAtlassian has established contractual, technical, and organizational measures in order to help ensure that the Forge platform service provided by Atlassian complies with GDPR. For more information on Atlassian’s GDPR compliance, please see [Atlassian’s GDPR Commitment](https://www.atlassian.com/trust/privacy/country/europe-and-gdpr).\n\nBelow are answers to some commonly asked questions regarding Forge and GDPR.\n\n### General questions\n\n\u003ctable>\n\u003cthead>\n\u003ctr>\n\u003cth>Questions\u003cbr>\u003c/th>\n\u003cth>Answers\u003c/th>\n\u003c/tr>\n\u003c/thead>\n\u003ctbody>\n\u003ctr>\n\u003ctd>Is there a Data Processing Agreement (DPA) for Forge?\u003c/td>\n\u003ctd>Yes, the Forge DPA can be found \u003ca href=\"https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf\">here\u003c/a>. \u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>What are Atlassian’s and the Forge developers' respective roles under the DPA? \u003c/td>\n\u003ctd>The roles are set forth in Section 1.2 of the \u003ca href=\"https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf\">Forge DPA\u003c/a>, and are as follows:\n\u003cul>\n\u003cli> Where Atlassian processes end user personal data on behalf of Forge Developers in connection with Forge, Atlassian will act as a processor, or sub-processor, and Forge Developers will act as a controller, or processor respectively, of personal data.\n\u003cli> Where Atlassian processes Forge developers' personal data (e.g. user account information of Forge developers and their employees/collaborators) in connection with Forge, Atlassian will act as an independent controller.\n\u003c/ul>\n\u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>Does Atlassian provide Forge developers with assistance regarding data subject requests? \u003c/td>\n\u003ctd>Yes, Atlassian has built a Personal Data Reporting API to help Forge developers comply with data subject requests. For more information on the Personal Data Reporting API please see the \u003ca href=\"https://developer.atlassian.com/platform/forge/user-privacy-guidelines\">User Privacy Guide for App Developers\u003c/a>. \u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>How does Atlassian handle requests from law enforcement?\u003c/td>\n\u003ctd>Atlassian has strictly defined policies and processes for any l\u003ca href=\"https://www.atlassian.com/trust/privacy/guidelines-for-law-enforcement\">aw enforcement requests\u003c/a> and additionally publishes an \u003ca href=\"https://www.atlassian.com/trust/privacy/transparency-report\">annual transparency report\u003c/a>. \u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>What are the categories of personal data that Atlassian processes as a processor on behalf of Forge developers? \u003c/td>\n\u003ctd>The relevant personal data categories are set forth in Annex 1(B), Part A of the \u003ca href=\"https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf\">Forge DPA\u003c/a>. \u003c/td>\n\u003c/tr>\n\u003c/tbody>\n\u003c/table>\n\n### Sub-processor questions\n\n\u003ctable>\n\u003cthead>\n\u003ctr>\n\u003cth>Questions\u003c/th>\n\u003cth>Answers\u003c/th>\n\u003c/tr>\n\u003c/thead>\n\u003ctbody>\n\u003ctr>\n\u003ctd>Does Atlassian use sub-processors to provide Forge? \u003c/td>\n\u003ctd>Yes, Atlassian utilizes services of sub-processors as set forth in the \u003ca href=\"https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf\">Forge DPA\u003c/a>.\u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>Where can I find the list of Atlassian’s sub-processors? \u003c/td>\n\u003ctd>The link can be found \u003ca href=\"https://www.atlassian.com/legal/sub-processors\">here\u003c/a>, as well as referenced in Section 1.9 of the \u003ca href=\"https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf\">Forge DPA\u003c/a>. \u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>Under what conditions may Atlassian engage new sub-processors? \u003c/td>\n\u003ctd>As set forth in Section 1.9 of the \u003ca href=\"https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf\">Forge DPA\u003c/a>, Atlassian may engage new sub-processors, provided that:\n\u003cul>\n\u003cli> Atlassian maintains an up-to-date list of its sub-processors, which contains a mechanism for Forge developers to sign-up for notifications of new sub-processors,\n\u003cli> Atlassian enters into written agreements with each Sub-processor which impose data protection terms on the Sub-processor, and\n\u003cli> Atlassian remains liable to Forge developers if the Sub-processor fails to fulfill its data protection obligations under applicable data protection laws.\n\u003c/ul>\n\u003c/td>\n\u003c/tr>\n\u003c/tbody>\n\u003c/table>\n\n### Data transfer questions\n\n\u003ctable>\n\u003cthead>\n\u003ctr>\n\u003cth>Questions\u003c/th>\n\u003cth>Answers\u003c/th>\n\u003c/tr>\n\u003c/thead>\n\u003ctbody>\n\u003ctr>\n\u003ctd>Does Atlassian have an approved transfer mechanism in place? \u003c/td>\n\u003ctd>Yes. Atlassian \u003ca href=\"https://www.dataprivacyframework.gov/s/participant-search/participant-detail?id=a2zt00000008RdQAAU&status=Active\">participates in and certifies compliance with the EU-U.S. DPF\u003c/a>. You can find more information in our \u003ca href=\"https://www.atlassian.com/legal/privacy-policy#other-important-privacy-information\">Privacy Policy\u003c/a> under the Section “Data Privacy Framework Notice”.\u003cbr>Where adequacy does not apply, we continue to rely on the Standard Contractual Clauses (SCCs) as a transfer mechanism as set forth in Section 1.6 of the \u003ca href=\"https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf\">Forge DPA\u003c/a>. \u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>Where does Atlassian store and process personal data on Forge? \u003c/td>\n\u003ctd>The information on processing locations for personal data can be found in the Atlassian \u003ca href=\"https://www.atlassian.com/legal/data-transfer-impact-assessment\">Data Transfer Impact Assessment\u003c/a>.\u003c/td>\n\u003c/tr>\n\u003c/tbody>\n\u003c/table>\n\n### Security-related questions\n\n\u003ctable>\n\u003cthead>\n\u003ctr>\n\u003cth>Questions\u003c/th>\n\u003cth>Answers\u003c/th>\n\u003c/tr>\n\u003c/thead>\n\u003ctbody>\n\u003ctr>\n\u003ctd>What are Atlassian’s obligations in the event of a security incident relating to Atlassian’s provision of the Forge platform? \u003c/td>\n\u003ctd>As set forth in Section 1.11 of the \u003ca href=\"https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">Forge DPA\u003c/a>, upon becoming aware of a security incident, Atlassian will:\n\u003cul>\n\u003cli> Notify Forge developers without undue delay,\n\u003cli> Provide timely information relating to the security incident, and\n\u003cli> Take reasonable steps to contain, investigate, and mitigate the effects of the security incident.\n\u003c/ul>\n\u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>What are the technical and organizational measures (TOMs) employed by Atlassian to protect personal data? \u003c/td>\n\u003ctd>The TOMs are set forth in Exhibit B of the \u003ca href=\"https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf\">Forge DPA\u003c/a> and include, but are not limited to the following:\n\u003cul>\n\u003cli>Data encryption\n\u003cli>Security management program\n\u003cli>Business continuity and disaster recovery plans\n\u003cli>Vulnerability scanning and remediation\n\u003cli>Access Controls\n\u003cli>Employee screening and training\n\u003c/ul>\n\u003c/td>\n\u003c/tr>\n\u003c/tbody>\n\u003c/table>\n\n## Forge support for CCPA\n\nThe California Consumer Privacy Act (CCPA) came into effect on January 1, 2020. The CCPA is a California data privacy regulation that governs how certain organizations use, collect, and process personal information of California residents. The CCPA was later amended by the California Privacy Rights Acts of 2020 (CPRA), which went into effect on January 1, 2023. Forge developers with access to the Partner Portal can learn more about CCPA and implications for app developers [here](https://atlassianpartners.atlassian.net/wiki/spaces/resources/pages/315392731/Intro+to+CCPA+for+Marketplace+Partners).\n\nAtlassian is committed to complying with CCPA and any future modifications to the law. Accordingly, Atlassian has updated _i)_ the [Forge DPA](https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf) to comply with the CCPA, and _ii)_ the Atlassian Privacy Policy to include information specific to the CCPA. For more information on our organization’s compliance, please see [Atlassian’s CCPA Commitment](https://www.atlassian.com/trust/compliance/resources/ccpa).\n\nBelow are answers to some commonly asked questions regarding Forge and CCPA.\n\n\u003ctable>\n\u003cthead>\n\u003ctr>\n\u003cth>Questions\u003cbr>\u003c/th>\n\u003cth>Answers\u003cbr>\u003c/th>\n\u003c/tr>\n\u003c/thead>\n\u003ctbody>\n\u003ctr>\n\u003ctd>Is CCPA included in the scope of the \u003ca href=\"https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf\">Forge DPA\u003c/a>?\u003c/td>\n\u003ctd>Yes. Please refer to the definition of “U.S. Data Protection Laws” under Section 1.1 of the \u003ca href=\"https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf\">Forge DPA\u003c/a>.\u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>What is Atlassian’s role under the CCPA in regards to end user personal data on Forge, which Atlassian processes on behalf of Forge developers? \u003c/td>\n\u003ctd>As set forth in Section 1.5(b) of the \u003ca href=\"https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf\">Forge DPA\u003c/a>, Atlassian may act as a Service Provider on behalf of Forge developers, to the extent Atlassian processes end user personal data which includes personal information protected under the CCPA. \u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>Does Atlassian ‘sell’ or ‘share’ (as defined under CCPA) end user personal data, which Atlassian processes on behalf of Forge developers, under the \u003ca href=\"https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf\">Forge DPA\u003c/a>? \u003c/td>\n\u003ctd>No, Atlassian does not “sell” or “share” end user personal data, as defined under CCPA, in its .\u003cbr>For more information please see Section 1.5(b) of the \u003ca href=\"https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf\">Forge DPA\u003c/a>. \u003c/td>\n\u003c/tr>\n\u003c/tbody>\n\u003c/table>\n\n## Forge Security Standards\n\nIn addition to the technical and organizational measures mentioned in the [Forge DPA](https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf), Forge complies with major security standards. Forge, as part of the Atlassian Platform, has successfully completed the [ISO 27001](https://www.iso.org/standard/27001) and [SOC 2](https://us.aicpa.org/interestareas/frc/assuranceadvisoryservices/aicpasoc2report) evaluation process. Compliance reports and certificates for the Atlassian Platform, which includes Forge, may be downloaded from the [Atlassian Compliance Resource Center](https://www.atlassian.com/trust/compliance/resources).\n\nBelow are answers to some commonly asked questions regarding Forge and its security practices.\n\n\u003ctable>\n\u003cthead>\n\u003ctr>\n\u003cth>Questions\u003cbr>\u003c/th>\n\u003cth>Answers\u003cbr>\u003c/th>\n\u003c/tr>\n\u003c/thead>\n\u003ctbody>\n\u003ctr>\n\u003ctd>Does Atlassian have a data retention policy for Forge? \u003c/td>\n\u003ctd>Yes, the Forge platform follows Atlassian’s internal Standard Data Retention and Disposal policy. More information can be found in the Atlassian SOC 2 report which you can download \u003ca href=\"https://www.atlassian.com/trust/compliance/resources/soc2\">here\u003c/a>. \u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>How often is Forge disaster recovery testing performed? \u003c/td>\n\u003ctd>Atlassian performs disaster recovery testing for the Forge platform at least annually. \u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>Where can I find the status/uptime of Forge? \u003c/td>\n\u003ctd>You can find the status/uptime information at \u003ca href=\"https://developer.status.atlassian.com/\">https://developer.status.atlassian.com/\u003c/a>\u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>Who from Atlassian has access to the Forge data? \u003c/td>\n\u003ctd>Please refer to the “Atlassian Access Controls” section of the \u003ca href=\"https://www.atlassian.com/trust/compliance/resources/soc2\">Atlassian SOC 2 report\u003c/a>.\u003c/td>\n\u003c/tr>\n\u003c/tbody>\n\u003c/table>\n\n## Still have questions? Contact us\n\nFor any privacy or security-related questions relating to Atlassian’s provision of the Forge platform that are not covered here, please see the resources linked below:\n\n- https://www.atlassian.com/trust\n- [Developer and marketplace support](https://developer.atlassian.com/support)\n\nFor legal advice on your obligations as a Forge developer, please reach out to your own legal counsel. "}],"metadata":{"source":"https://bitbucket.org/atlassian-developers/forge-docs/src/master/content/platform/forge/faq-privacy-security.md?at=master&mode=edit&fileviewer=file-view-default&spa=0","title":"Forge privacy and security FAQ","description":"Understand Forge's security and privacy measures to ensure compliance and protect user data effectively.","platform":"platform","product":"forge","category":"devguide","date":"2024-10-30","enabledVersion":"1.5800.1062"},"deprecatedNavigation":{"title":"Forge","name":"Forge","url":"/platform/forge/","categories":[{"title":"Guides","name":"devguide","url":"/platform/forge/","indexLinkTitle":"About Forge","subcategories":[{"title":"Get started","name":"intro","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Introduction to Forge","name":"introductiontoforge","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"The Forge platform","url":"/platform/forge/introduction/the-forge-platform/"},{"title":"Why build with Forge","url":"/platform/forge/introduction/why-build-with-forge/"}]},{"title":"Migrate your Connect app","name":"introductiontoforge","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Adopting Forge from Connect","url":"https://developer.atlassian.com/platform/adopting-forge-from-connect/"}]},{"title":"Learn","name":"learn","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Example apps","name":"exampleapps","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Bitbucket","url":"/platform/forge/example-apps-bitbucket/"},{"title":"Compass","url":"/platform/forge/example-apps-compass/"},{"title":"Confluence","url":"/platform/forge/example-apps-confluence/"},{"title":"Jira","url":"/platform/forge/example-apps-jira/"},{"title":"Jira Service Management","url":"/platform/forge/example-apps-jsm/"},{"title":"Rovo","url":"/platform/forge/example-apps-rovo/"}]},{"title":"Guided tutorials","name":"guidedtutorials","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Overview","url":"/platform/forge/tutorials-and-guides/"},{"title":"Forge, Compass, and AWS CloudWatch","url":"/platform/forge/forge-compass-cloudwatch/"},{"title":"Schedule web triggers","url":"/platform/forge/add-scheduled-trigger/"},{"title":"Debug functions using IntelliJ","url":"/platform/forge/debug-functions-using-intellij/"},{"title":"Debug functions using VS Code","url":"/platform/forge/debug-functions-using-vscode/"},{"title":"Profile app performance with tunnel debugger","url":"/platform/forge/profiling-node-js-app-code-tunnel/"},{"title":"Implement a dynamic profile retriever","url":"/platform/forge/implement-a-dynamic-profile-retriever-with-external-authentication/"},{"title":"Migrate an app from Connect to Forge","url":"https://developer.atlassian.com/platform/adopting-forge-from-connect/migrate-macro"},{"title":"Migrate an app from UI Kit 1 to UI Kit","url":"/platform/forge/ui-kit/migration-example/"},{"title":"Set up continuous delivery","url":"/platform/forge/set-up-cicd/"},{"title":"Queue app interactions with Storage API","url":"/platform/forge/storage-api-limit-handling/"},{"title":"Use a long-running function","url":"/platform/forge/use-a-long-running-function"},{"title":"Use custom entities to store structured data","url":"/platform/forge/custom-entities-store-structured-data/"},{"title":"Use an external OAuth 2.0 API with fetch","url":"/platform/forge/use-an-external-oauth-2.0-api-with-fetch/"},{"title":"Add routing to a full-page app in Jira","url":"/platform/forge/add-routing-to-a-full-page-app/"},{"title":"Use the storage API in Confluence","url":"/platform/forge/create-confluence-macro-with-storage-api"},{"title":"Add custom configuration to a macro","url":"/platform/forge/add-custom-configuration-to-a-macro"},{"title":"Using rich body macros","url":"/platform/forge/using-rich-text-bodied-macros"},{"title":"Rovo","name":"guidedtutorials","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Extend Atlassian products with a Forge Rovo agent","url":"/platform/forge/extend-atlassian-products-with-a-forge-rovo-agent/"},{"title":"Build a Rovo Agent app","url":"/platform/forge/build-a-hello-world-rovo-agent/"},{"title":"Build a Q&A Rovo Agent for Confluence","url":"/platform/forge/build-a-q-and-a-rovo-agent-for-confluence"},{"title":"Build a Jira issue analyst Rovo Agent","url":"/platform/forge/build-a-jira-issue-analyst-rovo-agent"}]},{"title":"Jira","name":"guidedtutorials","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Build a hello world app in Jira","url":"/platform/forge/build-a-hello-world-app-in-jira/"},{"title":"Automate Jira with triggers","url":"/platform/forge/automate-jira-using-triggers/"},{"title":"Build a Jira comments summarizer app with OpenAI","url":"/platform/forge/build-jira-comments-summarizer-with-openai/"},{"title":"Use a workflow validator to check issue assignments","url":"/platform/forge/check-jira-issues-assigned-using-workflow-validator/"},{"title":"Build a custom UI app","url":"/platform/forge/build-a-custom-ui-app-in-jira/"}]},{"title":"Jira Service Management","name":"guidedtutorials","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Build a hello world app in Jira Service Management","url":"/platform/forge/build-a-hello-world-app-in-jira-service-management/"},{"title":"Import third party data into Assets","url":"/platform/forge/assets-import-app/"},{"title":"Use Async Events API to queue jobs to import objects into Assets","url":"/platform/forge/queue-events-with-async-events-api-to-import-assets/"},{"title":"Build a custom UI app","url":"/platform/forge/build-a-custom-ui-app-in-jira-service-management/"}]},{"title":"Confluence","name":"guidedtutorials","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Build a hello world app in Confluence","url":"/platform/forge/build-a-hello-world-app-in-confluence/"},{"title":"Create a question generator app in multiple languages using i18n","url":"/platform/forge/create-a-question-generator-app-in-multiple-languages-using-i18n/"},{"title":"Create a quiz app using UI Kit","url":"/platform/forge/create-a-quiz-app-using-ui-kit/"},{"title":"Add configuration to a macro with UI Kit","url":"/platform/forge/add-configuration-to-a-macro-with-ui-kit/"},{"title":"Create a logo designer app using the Frame component (Preview)","url":"/platform/forge/ui-kit/components/frame-tutorial/"},{"title":"Use space settings and content byline to implement space news","url":"/platform/forge/space-news/"},{"title":"Use content actions to count page macros","url":"/platform/forge/macros-in-the-page/"},{"title":"Build a Custom UI app","url":"/platform/forge/build-a-custom-ui-app-in-confluence/"},{"title":"Build a Confluence keyword extractor with OpenAI","url":"/platform/forge/build-confluence-keyword-extractor-with-openai/"},{"title":"Use highlighted text in a Confluence app","url":"/platform/forge/create-confluence-contextmenu-module/"},{"title":"Create a GIPHY app using UI kit on Confluence","url":"/platform/forge/create-a-giphy-app-using-the-ui-kit/"}]},{"title":"Bitbucket","name":"guidedtutorials","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Extend Bitbucket Cloud","url":"/platform/forge/extend-bitbucket-cloud/"},{"title":"Build a hello world app in Bitbucket","url":"/platform/forge/build-a-hello-world-app-in-bitbucket/"},{"title":"Automate Bitbucket with triggers","url":"/platform/forge/automate-bitbucket-using-triggers/"},{"title":"Build a pull request title validator with custom merge checks","url":"/platform/forge/build-a-pull-request-title-validator-with-custom-merge-checks/"},{"title":"Orchestrate your builds using Dynamic Pipelines","url":"/platform/forge/orchestrate-your-builds-using-dynamic-pipelines/"}]}]},{"title":"Atlassian developer glossary","url":"https://developer.atlassian.com/developer-guide/glossary/"}]}]},{"title":"Plan & design","name":"plandesign","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"App architecture","name":"apparchitecture","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Events and triggers","url":"/platform/forge/events/"},{"title":"Hosted storage","url":"/platform/forge/storage/"},{"title":"Hosted storage data lifecycle","url":"/platform/forge/storage-reference/hosted-storage-data-lifecycle/"},{"title":"Manifest","url":"/platform/forge/manifest/"},{"title":"Modules","url":"/platform/forge/modules/"}]},{"title":"Platform quotas and limits","name":"quotasnadlimits","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Overview","url":"/platform/forge/platform-quotas-and-limits/"}]},{"title":"User interface","name":"user-interface","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Overview","url":"/platform/forge/user-interface/"},{"title":"Build with UI Kit","url":"/platform/forge/ui-kit/"},{"title":"Extend UI with custom options","url":"/platform/forge/extend-ui-with-custom-options/"},{"title":"Design tokens and theming","url":"/platform/forge/design-tokens-and-theming/"},{"title":"Internationalization","url":"/platform/forge/internationalization/"},{"title":"Understanding the UI modifications module","url":"/platform/forge/understanding-ui-modifications/"},{"title":"Jira full page modules","url":"/platform/forge/jira-full-page-modules/"}]},{"title":"Legal & privacy","name":"legalprivacy","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Forge terms of use","url":"/platform/forge/developer-terms/"},{"title":"Shared responsibility model","url":"/platform/forge/shared-responsibility-model/"},{"title":"Forge privacy and security FAQ","url":"/platform/forge/faq-privacy-security/"},{"title":"User privacy guide","url":"/platform/forge/user-privacy-guidelines/"},{"title":"Forge Data Processing Addendum","url":"/platform/forge/about-the-forge-data-processing-addendum/"},{"title":"Logging data","url":"/platform/forge/logging-guidelines/"}]},{"title":"Best practice","name":"introductiontoforge","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"App security","url":"/platform/forge/security/"}]},{"title":"App distribution","name":"introductiontoforge","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Promote an app from staging to production","url":"/platform/forge/staging-and-production-apps/"},{"title":"Distribute via console","url":"/platform/forge/distribute-your-apps/"}]}]},{"title":"Build","name":"build","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Development life cycle","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Developing with Forge","url":"/platform/forge/getting-started/"},{"title":"Environment configuration","url":"/platform/forge/environments-and-versions/"},{"title":"Contributors","name":"contributors","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Overview","url":"/platform/forge/contributors/"},{"title":"Managing contributors","url":"/platform/forge/manage-app-contributors/"}]},{"title":"App versions","url":"/platform/forge/versions/"},{"title":"Testing and debugging","name":"testdebug","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Overview","url":"/platform/forge/debugging/"},{"title":"Debug using IntelliJ","url":"/platform/forge/debug-functions-using-intellij/"},{"title":"Debug using VS Code","url":"/platform/forge/debug-functions-using-vscode/"},{"title":"Tunneling","url":"/platform/forge/tunneling/"}]}]},{"title":"App capabilities","name":"appcapabilites","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Compute","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Functions","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Invoke functions","url":"/platform/forge/function-reference/index/"},{"title":"Call a product REST API","url":"/platform/forge/apis-reference/product-rest-api-reference/"},{"title":"Call a product GraphQL API","url":"/platform/forge/apis-reference/fetch-api-product.requestgraph/"},{"title":"Verify user permissions for product APIs","url":"/platform/forge/runtime-reference/authorize-api/"},{"title":"Call an external REST API","url":"/platform/forge/runtime-reference/external-fetch-api/"},{"title":"Check user account status","url":"/platform/forge/runtime-reference/authorize-api/"},{"title":"Migrate from the legacy runtime","url":"/platform/forge/runtime-reference/legacy-runtime-migrating/"}]},{"title":"Remotes","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Overview","url":"/platform/forge/remote/"},{"title":"Forge remote essentials","url":"/platform/forge/remote/essentials/"},{"title":"Send events to a remote","url":"/platform/forge/remote/sending-product-events/"},{"title":"Schedule triggers to invoke a remote","url":"/platform/forge/remote/scheduled-triggers/"},{"title":"Access Forge storage from a remote","url":"/platform/forge/remote/accessing-storage/"},{"title":"Call product APIs from a remote","url":"/platform/forge/remote/calling-product-apis/"},{"title":"Call from a Forge frontend","url":"/platform/forge/remote/calling-from-frontend/"},{"title":"Call from a Forge function","url":"/platform/forge/remote/calling-from-function/"},{"title":"Bitbucket git operations from a remote","url":"/platform/forge/remote/bitbucket-git-operations/"},{"title":"Remote observability","url":"/platform/forge/remote/observability/"},{"title":"Setting up remotes for realm pinning","url":"/platform/forge/remote/setup-dare-storage/"}]},{"title":"Web triggers","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Work with web triggers","url":"/platform/forge/runtime-reference/web-trigger/"}]},{"title":"Queues","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Use async app event queues","url":"/platform/forge/runtime-reference/async-events-api/"}]},{"title":"Events","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Platform and product events","url":"/platform/forge/events/"}]},{"title":"Reference","url":"/platform/forge/function-reference/index/"}]},{"title":"Storage","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Key value store","url":"/platform/forge/runtime-reference/storage-api-basic/"},{"title":"Entity store","url":"/platform/forge/storage-reference/storage-api-custom-entities/"},{"title":"SQL (Preview)","url":"/platform/forge/storage-reference/sql/"},{"title":"Cache (EAP)","url":"/platform/forge/storage-reference/storage-cache-api/"},{"title":"Reference","url":"/platform/forge/runtime-reference/storage-api/"},{"title":"Hosted storage data lifecycle","url":"/platform/forge/storage-reference/hosted-storage-data-lifecycle/"}]},{"title":"User interface","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"UI Kit","url":"/platform/forge/ui-kit/"},{"title":"Frontend bridge","url":"/platform/forge/apis-reference/ui-api-bridge/bridge/"},{"title":"Display conditions","url":"/platform/forge/manifest-reference/display-conditions/"},{"title":"Reference","url":"/platform/forge/ui-kit/overview/"}]},{"title":"Observability","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Overview","url":"/platform/forge/remote/observability/"},{"title":"App observability in third-party tools","url":"/platform/forge/app-observability-in-third-party-tools"}]},{"title":"Automation with Forge","url":"/platform/forge/automation-with-forge/"}]},{"title":"Trust and security","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Data residency","url":"/platform/forge/data-residency/"},{"title":"Configuring app security","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Unlicensed user app access","url":"/platform/forge/access-to-forge-apps-for-unlicensed-jsm-users/"},{"title":"Scopes to call an Atlassian REST API","url":"/platform/forge/add-scopes-to-call-an-atlassian-rest-api/"},{"title":"Runtime egress permissions","url":"/platform/forge/runtime-egress-permissions/"},{"title":"Content security and egress controls","url":"/platform/forge/add-content-security-and-egress-controls/"},{"title":"App context security","url":"/platform/forge/app-context-security/"},{"title":"External authentication overview","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Configuring OAuth 2.0 providers","url":"/platform/forge/use-an-external-oauth-2.0-api-with-fetch/"},{"title":"Rotating an OAuth 2.0 client ID and secret","url":"/platform/forge/rotating-an-oauth-2.0-client-id-and-secret/"},{"title":"Common issues with external authentication","url":"/platform/forge/common-issues-with-external-authentication/"}]}]},{"title":"Runs on Atlassian","url":"/platform/forge/runs-on-atlassian/"}]},{"title":"Enterprise development","name":"introductiontoforge","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Using Forge CLI on a corporate network","url":"/platform/forge/enterprise/use-forge-cli-on-corporate-network/"}]},{"title":"Forge releases and deprecation policy","name":"introductiontoforge","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Forge releases (includes enrolling in EAP)","url":"/platform/forge/whats-coming/"},{"title":"Forge deprecation policy","url":"/platform/forge/deprecation-policy/"}]}]},{"title":"Manage","name":"plandesign","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Overview","url":"/platform/forge/manage-your-apps/"},{"title":"Observability","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Manage app alerts","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Overview","url":"/platform/forge/alerts/"},{"title":"Create alert rules","url":"/platform/forge/create-alert-rules/"},{"title":"Manage alert rules","url":"/platform/forge/manage-alert-rules/"},{"title":"View open and closed alerts","url":"/platform/forge/view-open-and-closed-alerts/"}]},{"title":"Monitor app metrics","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Overview","url":"/platform/forge/monitor-app-metrics/"},{"title":"Monitor invocation metrics","url":"/platform/forge/monitor-invocation-metrics/"},{"title":"Monitor API metrics","url":"/platform/forge/monitor-api-metrics/"},{"title":"Monitor cache metrics (EAP)","url":"/platform/forge/monitor-cache-metrics/"},{"title":"Monitor SQL (Preview)","url":"/platform/forge/monitor-sql-metrics/"},{"title":"Monitor usage metrics","url":"/platform/forge/monitor-usage-metrics/"},{"title":"Export app metrics","url":"/platform/forge/export-app-metrics/"}]},{"title":"Monitor app logs","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Overview","url":"/platform/forge/monitor-app-logs/"},{"title":"View app logs","url":"/platform/forge/view-app-logs/"},{"title":"Export app logs","url":"/platform/forge/export-app-logs/"},{"title":"Access app logs","url":"/platform/forge/access-app-logs/"}]},{"title":"View app installations","url":"/platform/forge/view-app-installations/"},{"title":"View app storage","url":"/platform/forge/view-app-storage/"}]},{"title":"Access","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Manage app contributors","url":"/platform/forge/manage-app-contributors/"},{"title":"Manage environments","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Forge environments","url":"/platform/forge/environments-and-versions/"},{"title":"Configuring the manifest","url":"/platform/forge/manifest-reference/"}]}]},{"title":"Distribution","name":"devlifecycle","expandAlways":true,"items":[],"nestedSubCategoryItems":[{"title":"Marketplace","url":"https://developer.atlassian.com/platform/marketplace/listing-forge-apps/"},{"title":"Distribute via console","url":"/platform/forge/distribute-your-apps/"},{"title":"CLI installation","url":"/platform/forge/cli-reference/install/"}]}]}]},{"title":"Reference","name":"reference","url":"/platform/forge/manifest-reference/","subcategories":[{"title":"CLI","name":"cli-reference","expandAlways":true,"items":[{"title":"CLI","url":"/platform/forge/cli-reference/"},{"title":"autocomplete","url":"/platform/forge/cli-reference/autocomplete"},{"title":"create","url":"/platform/forge/cli-reference/create"},{"title":"deploy","url":"/platform/forge/cli-reference/deploy"},{"title":"eligibility","url":"/platform/forge/cli-reference/eligibility"},{"title":"environments","url":"/platform/forge/cli-reference/environments","isGroup":true,"groupItems":[{"title":"create","url":"/platform/forge/cli-reference/environments-create"},{"title":"delete","url":"/platform/forge/cli-reference/environments-delete"},{"title":"list","url":"/platform/forge/cli-reference/environments-list"}]},{"title":"feedback","url":"/platform/forge/cli-reference/feedback"},{"title":"install","url":"/platform/forge/cli-reference/install","isGroup":true,"groupItems":[{"title":"list","url":"/platform/forge/cli-reference/install-list"}]},{"title":"lint","url":"/platform/forge/cli-reference/lint"},{"title":"login","url":"/platform/forge/cli-reference/login"},{"title":"logout","url":"/platform/forge/cli-reference/logout"},{"title":"logs","url":"/platform/forge/cli-reference/logs"},{"title":"providers","url":"/platform/forge/cli-reference/providers","isGroup":true,"groupItems":[{"title":"configure","url":"/platform/forge/cli-reference/providers-configure"}]},{"title":"register","url":"/platform/forge/cli-reference/register"},{"title":"settings","url":"/platform/forge/cli-reference/settings","isGroup":true,"groupItems":[{"title":"list","url":"/platform/forge/cli-reference/settings-list"},{"title":"set","url":"/platform/forge/cli-reference/settings-set"}]},{"title":"storage","url":"/platform/forge/cli-reference/storage","isGroup":true,"groupItems":[{"title":"entities","url":"/platform/forge/cli-reference/storage-entities"}]},{"title":"tunnel","url":"/platform/forge/cli-reference/tunnel"},{"title":"uninstall","url":"/platform/forge/cli-reference/uninstall"},{"title":"variables","url":"/platform/forge/cli-reference/variables","isGroup":true,"groupItems":[{"title":"list","url":"/platform/forge/cli-reference/variables-list"},{"title":"set","url":"/platform/forge/cli-reference/variables-set"},{"title":"unset","url":"/platform/forge/cli-reference/variables-unset"}]},{"title":"webtrigger","url":"/platform/forge/cli-reference/webtrigger"},{"title":"whoami","url":"/platform/forge/cli-reference/whoami"}]},{"title":"Manifest","name":"manifest-reference","expandAlways":true,"items":[{"title":"Overview","url":"/platform/forge/manifest-reference/"},{"title":"Action type","url":"/platform/forge/manifest-reference/action-type/"},{"title":"Display conditions","url":"/platform/forge/manifest-reference/display-conditions/","isGroup":true,"groupItems":[{"title":"Usage with Confluence modules","url":"/platform/forge/manifest-reference/display-conditions/confluence/"},{"title":"Usage with Jira modules","url":"/platform/forge/manifest-reference/display-conditions/jira/"},{"title":"Entity property conditions","url":"/platform/forge/manifest-reference/display-conditions/entity-property-conditions/"}]},{"title":"Endpoint","url":"/platform/forge/manifest-reference/endpoint/"},{"title":"Keyboard shortcuts","url":"/platform/forge/manifest-reference/keyboard-shortcuts/"},{"title":"Permissions","url":"/platform/forge/manifest-reference/permissions/","isGroup":true,"groupItems":[{"title":"Forge scopes","url":"/platform/forge/manifest-reference/scopes-forge/"},{"title":"Bitbucket scopes","url":"/platform/forge/manifest-reference/scopes-product-bitbucket/"},{"title":"Compass scopes","url":"/platform/forge/manifest-reference/scopes-product-compass/"},{"title":"Confluence scopes","url":"/platform/forge/manifest-reference/scopes-product-confluence/"},{"title":"Jira scopes","url":"/platform/forge/manifest-reference/scopes-product-jira/"},{"title":"Jira Software scopes","url":"/platform/forge/manifest-reference/scopes-product-jsw/"},{"title":"Jira Service Management scopes","url":"/platform/forge/manifest-reference/scopes-product-jsm/"}]},{"title":"Providers","url":"/platform/forge/manifest-reference/providers/"},{"title":"Remotes","url":"/platform/forge/manifest-reference/remotes/"},{"title":"Resources","url":"/platform/forge/manifest-reference/resources/"},{"title":"Translations","url":"/platform/forge/manifest-reference/translations/","isGroup":true,"groupItems":[{"title":"Forge supported locale codes","url":"/platform/forge/manifest-reference/forge-supported-locale-codes/"}]},{"title":"Variables","url":"/platform/forge/manifest-reference/variables/"}]},{"title":"Modules","name":"modules","expandAlways":true,"items":[{"title":"Overview","url":"/platform/forge/manifest-reference/modules/"},{"title":"Bitbucket modules","url":"/platform/forge/manifest-reference/modules/index-bitbucket/","isGroup":true,"groupItems":[{"title":"Custom merge check","url":"/platform/forge/manifest-reference/modules/bitbucket-merge-check/"},{"title":"Dynamic Pipelines provider","url":"/platform/forge/manifest-reference/modules/bitbucket-dynamic-pipelines-provider/"},{"title":"Repository code overview card","url":"/platform/forge/manifest-reference/modules/bitbucket-repository-code-overview-card/"},{"title":"Repository code overview action","url":"/platform/forge/manifest-reference/modules/bitbucket-repository-code-overview-action/"},{"title":"Repository code overview panel","url":"/platform/forge/manifest-reference/modules/bitbucket-repository-code-overview-panel/"},{"title":"Repository pull request card","url":"/platform/forge/manifest-reference/modules/bitbucket-repository-pull-request-card/"},{"title":"Repository pull request action","url":"/platform/forge/manifest-reference/modules/bitbucket-repository-pull-request-action/"},{"title":"Repository pull request overview panel","url":"/platform/forge/manifest-reference/modules/bitbucket-repository-pull-request-overview-panel/"},{"title":"Repository main menu page","url":"/platform/forge/manifest-reference/modules/bitbucket-repository-main-menu-page/"},{"title":"Repository settings menu page","url":"/platform/forge/manifest-reference/modules/bitbucket-repository-settings-menu-page/"},{"title":"Workspace settings menu page","url":"/platform/forge/manifest-reference/modules/bitbucket-workspace-settings-menu-page/"}]},{"title":"Common modules","url":"/platform/forge/manifest-reference/modules/index-common/","isGroup":true,"groupItems":[{"title":"Consumer","url":"/platform/forge/manifest-reference/modules/consumer/"},{"title":"Function","url":"/platform/forge/manifest-reference/modules/function/"},{"title":"Scheduled trigger","url":"/platform/forge/manifest-reference/modules/scheduled-trigger/"},{"title":"SQL (Preview)","url":"/platform/forge/manifest-reference/modules/sql/"},{"title":"Trigger","url":"/platform/forge/manifest-reference/modules/trigger/"},{"title":"Web trigger","url":"/platform/forge/manifest-reference/modules/web-trigger/"}]},{"title":"Compass modules","url":"/platform/forge/manifest-reference/modules/index-compass/","isGroup":true,"groupItems":[{"title":"Admin page","url":"/platform/forge/manifest-reference/modules/compass-admin-page/"},{"title":"Component page","url":"/platform/forge/manifest-reference/modules/compass-component-page/"},{"title":"Data provider","url":"/platform/forge/manifest-reference/modules/compass-data-provider/"},{"title":"Global page","url":"/platform/forge/manifest-reference/modules/compass-global-page/"},{"title":"Team page","url":"/platform/forge/manifest-reference/modules/compass-team-page/"}]},{"title":"Confluence modules","url":"/platform/forge/manifest-reference/modules/index-confluence/","isGroup":true,"groupItems":[{"title":"Content action","url":"/platform/forge/manifest-reference/modules/confluence-content-action/"},{"title":"Content byline item","url":"/platform/forge/manifest-reference/modules/confluence-content-byline-item/"},{"title":"Context menu","url":"/platform/forge/manifest-reference/modules/confluence-context-menu/"},{"title":"Custom content","url":"/platform/forge/manifest-reference/modules/confluence-custom-content/"},{"title":"Global page","url":"/platform/forge/manifest-reference/modules/confluence-global-page/"},{"title":"Global settings","url":"/platform/forge/manifest-reference/modules/confluence-global-settings/"},{"title":"Homepage feed","url":"/platform/forge/manifest-reference/modules/confluence-homepage-feed/"},{"title":"Space page","url":"/platform/forge/manifest-reference/modules/confluence-space-page/"},{"title":"Space settings","url":"/platform/forge/manifest-reference/modules/confluence-space-settings/"},{"title":"Macro","url":"/platform/forge/manifest-reference/modules/macro/"}]},{"title":"Jira modules","url":"/platform/forge/manifest-reference/modules/index-jira/","isGroup":true,"groupItems":[{"title":"Admin page","url":"/platform/forge/manifest-reference/modules/jira-admin-page/"},{"title":"Backlog action (preview)","url":"/platform/forge/manifest-reference/modules/jira-backlog-action/"},{"title":"Board action (preview)","url":"/platform/forge/manifest-reference/modules/jira-board-action/"},{"title":"Custom field","url":"/platform/forge/manifest-reference/modules/jira-custom-field/"},{"title":"Custom field type","url":"/platform/forge/manifest-reference/modules/jira-custom-field-type/"},{"title":"Dashboard background script","url":"/platform/forge/manifest-reference/modules/jira-dashboard-background-script/"},{"title":"Dashboard gadget","url":"/platform/forge/manifest-reference/modules/jira-dashboard-gadget/"},{"title":"Entity property","url":"/platform/forge/manifest-reference/modules/jira-entity-property/"},{"title":"Global page","url":"/platform/forge/manifest-reference/modules/jira-global-page/"},{"title":"Global permission","url":"/platform/forge/manifest-reference/modules/jira-global-permission/"},{"title":"Issue action","url":"/platform/forge/manifest-reference/modules/jira-issue-action/"},{"title":"Issue activity","url":"/platform/forge/manifest-reference/modules/jira-issue-activity/"},{"title":"Issue context","url":"/platform/forge/manifest-reference/modules/jira-issue-context/"},{"title":"Issue glance","url":"/platform/forge/manifest-reference/modules/jira-issue-glance/"},{"title":"Issue navigator action (preview)","url":"/platform/forge/manifest-reference/modules/jira-issue-navigator-action/"},{"title":"Command palette (preview)","url":"/platform/forge/manifest-reference/modules/jira-command-palette/"},{"title":"Issue panel","url":"/platform/forge/manifest-reference/modules/jira-issue-panel/"},{"title":"Issue view background script","url":"/platform/forge/manifest-reference/modules/jira-issue-view-background-script/"},{"title":"JQL function (preview)","url":"/platform/forge/manifest-reference/modules/jql-function/"},{"title":"Personal settings page (preview)","url":"/platform/forge/manifest-reference/modules/jira-personal-settings-page/"},{"title":"Project page","url":"/platform/forge/manifest-reference/modules/jira-project-page/"},{"title":"Project permission","url":"/platform/forge/manifest-reference/modules/jira-project-permission/"},{"title":"Project settings page","url":"/platform/forge/manifest-reference/modules/jira-project-settings-page/"},{"title":"Sprint action (preview)","url":"/platform/forge/manifest-reference/modules/jira-sprint-action/"},{"title":"Time tracking provider (preview)","url":"/platform/forge/manifest-reference/modules/jira-time-tracking-provider/"},{"title":"UI modifications","url":"/platform/forge/manifest-reference/modules/jira-ui-modifications/"},{"title":"Workflow validator (preview)","url":"/platform/forge/manifest-reference/modules/jira-workflow-validator/"},{"title":"Workflow condition (preview)","url":"/platform/forge/manifest-reference/modules/jira-workflow-condition/"},{"title":"Workflow post function (preview)","url":"/platform/forge/manifest-reference/modules/jira-workflow-post-function/"}]},{"title":"Jira Service Management modules","url":"/platform/forge/manifest-reference/modules/index-jsm/","isGroup":true,"groupItems":[{"title":"Assets Import Type","url":"/platform/forge/manifest-reference/modules/jira-service-management-assets-import-type/"},{"title":"Organization panel","url":"/platform/forge/manifest-reference/modules/jira-service-management-organization-panel/"},{"title":"Portal footer","url":"/platform/forge/manifest-reference/modules/jira-service-management-portal-footer/"},{"title":"Portal header","url":"/platform/forge/manifest-reference/modules/jira-service-management-portal-header/"},{"title":"Portal profile panel","url":"/platform/forge/manifest-reference/modules/jira-service-management-portal-profile-panel/"},{"title":"Portal request create property panel","url":"/platform/forge/manifest-reference/modules/jira-service-management-portal-request-create-property-panel/"},{"title":"Portal request detail","url":"/platform/forge/manifest-reference/modules/jira-service-management-portal-request-detail/"},{"title":"Portal request detail panel","url":"/platform/forge/manifest-reference/modules/jira-service-management-portal-request-detail-panel/"},{"title":"Portal request view action","url":"/platform/forge/manifest-reference/modules/jira-service-management-portal-request-view-action/"},{"title":"Portal subheader","url":"/platform/forge/manifest-reference/modules/jira-service-management-portal-subheader/"},{"title":"Portal user menu action","url":"/platform/forge/manifest-reference/modules/jira-service-management-portal-user-menu-action/"},{"title":"Queue page","url":"/platform/forge/manifest-reference/modules/jira-service-management-queue-page/"}]},{"title":"Connect module equivalents","url":"/platform/forge/manifest-reference/modules/connect-module-equivalents/"},{"title":"Rovo modules","url":"/platform/forge/manifest-reference/modules/rovo-index/","isGroup":true,"groupItems":[{"title":"Rovo Agent","url":"/platform/forge/manifest-reference/modules/rovo-agent/"},{"title":"Action","url":"/platform/forge/manifest-reference/modules/rovo-action/"}]}]},{"title":"Functions","name":"functions","expandAlways":true,"items":[{"title":"Overview","url":"/platform/forge/function-reference/index/"},{"title":"Arguments","url":"/platform/forge/function-reference/arguments/"},{"title":"Runtimes","url":"/platform/forge/runtime-reference/","isGroup":true,"groupItems":[{"title":"Node.js","url":"/platform/forge/function-reference/nodejs-runtime/"},{"title":"Upgrading from legacy runtime","url":"/platform/forge/runtime-reference/legacy-runtime-migrating/"},{"title":"Legacy runtime (deprecated)","url":"/platform/forge/runtime-reference/legacy-runtime-reference/"}]},{"title":"Forge resolver","url":"/platform/forge/runtime-reference/forge-resolver/"},{"title":"Scheduled triggers","url":"/platform/forge/function-reference/scheduled-trigger/"},{"title":"Web triggers","url":"/platform/forge/runtime-reference/web-trigger/","isGroup":true,"groupItems":[{"title":"Basic usage","url":"/platform/forge/runtime-reference/web-trigger/"},{"title":"Generating a webtrigger URL via SDK","url":"/platform/forge/runtime-reference/web-trigger-api/"}]},{"title":"Async functions","url":"/platform/forge/runtime-reference/async-events-api/","isGroup":true,"groupItems":[{"title":"Basic usage","url":"/platform/forge/runtime-reference/async-events-api/"},{"title":"Error handling","url":"/platform/forge/runtime-reference/async-events-api-error-handling/"}]},{"title":"Product REST APIs","url":"/platform/forge/apis-reference/product-rest-api-reference/","isGroup":true,"groupItems":[{"title":"Bitbucket API requests","url":"/platform/forge/apis-reference/fetch-api-product.requestbitbucket/"},{"title":"Confluence API requests","url":"/platform/forge/apis-reference/fetch-api-product.requestconfluence/"},{"title":"Jira API requests","url":"/platform/forge/apis-reference/fetch-api-product.requestjira/"},{"title":"GraphQL API requests","url":"/platform/forge/apis-reference/fetch-api-product.requestgraph/"}]},{"title":"Fetch APIs","url":"/platform/forge/runtime-reference/fetch-api/","isGroup":true,"groupItems":[{"title":"Basic fetch client","url":"/platform/forge/runtime-reference/fetch-api.basic/"},{"title":"External authentication","url":"/platform/forge/runtime-reference/external-fetch-api/"}]},{"title":"Invoke Remote API","url":"/platform/forge/runtime-reference/invoke-remote-api/"},{"title":"App context API","url":"/platform/forge/runtime-reference/app-context-api/"},{"title":"Privacy API","url":"/platform/forge/runtime-reference/privacy-api/"},{"title":"Authorize API","url":"/platform/forge/runtime-reference/authorize-api/"}]},{"title":"Storage","name":"storage","items":[{"title":"Overview","url":"/platform/forge/runtime-reference/storage-api/"},{"title":"Key-Value Store","url":"/platform/forge/runtime-reference/storage-api-basic/","isGroup":true,"groupItems":[{"title":"Storing data","url":"/platform/forge/runtime-reference/storage-api-basic-api/"},{"title":"Querying data","url":"/platform/forge/runtime-reference/storage-api-query/"},{"title":"Encrypting stored data","url":"/platform/forge/runtime-reference/storage-api-secret/"}]},{"title":"Custom Entity Store","url":"/platform/forge/storage-reference/storage-api-custom-entities/","isGroup":true,"groupItems":[{"title":"Defining entities","url":"/platform/forge/runtime-reference/custom-entities/"},{"title":"Storing entities","url":"/platform/forge/runtime-reference/storage-api-custom-entities/"},{"title":"Querying data","url":"/platform/forge/runtime-reference/storage-api-query-complex/"}]},{"title":"SQL (Preview)","url":"/platform/forge/storage-reference/sql/","isGroup":true,"groupItems":[{"title":"Tutorial","url":"/platform/forge/storage-reference/sql-tutorial/"},{"title":"Manage schemas","url":"/platform/forge/storage-reference/sql-api-schema/"},{"title":"Execute SQL operations","url":"/platform/forge/storage-reference/sql-api/"},{"title":"Error handling","url":"/platform/forge/storage-reference/sql-handling-errors/"}]},{"title":"Cache (EAP)","url":"/platform/forge/storage-reference/storage-cache-api/","isGroup":true,"groupItems":[{"title":"Caching data","url":"/platform/forge/storage-reference/cache/"},{"title":"Error handling","url":"/platform/forge/storage-reference/cache-handling-errors/"}]},{"title":"Object Store (EAP)","url":"/platform/forge/storage-reference/object-store/"}]},{"title":"User Interface","name":"user-interface","expandAlways":true,"items":[{"title":"Overview","url":"/platform/forge/ui-kit/overview/"},{"title":"UI Kit components","url":"/platform/forge/ui-kit/components/","isGroup":true,"groupItems":[{"title":"ADF renderer","url":"/platform/forge/ui-kit/components/adfRenderer/"},{"title":"Badge","url":"/platform/forge/ui-kit/components/badge/"},{"title":"Box","url":"/platform/forge/ui-kit/components/box/"},{"title":"Button","url":"/platform/forge/ui-kit/components/button/"},{"title":"Button group","url":"/platform/forge/ui-kit/components/button-group/"},{"title":"Calendar (Preview)","url":"/platform/forge/ui-kit/components/calendar/"},{"title":"Chart - Bar (EAP)","url":"/platform/forge/ui-kit/components/bar-chart/"},{"title":"Chart - Horizontal bar (EAP)","url":"/platform/forge/ui-kit/components/horizontal-bar-chart/"},{"title":"Chart - Horizontal stack bar (EAP)","url":"/platform/forge/ui-kit/components/horizontal-stack-bar-chart/"},{"title":"Chart - Line (EAP)","url":"/platform/forge/ui-kit/components/line-chart/"},{"title":"Chart - Pie (EAP)","url":"/platform/forge/ui-kit/components/pie-chart/"},{"title":"Chart - Single value (EAP)","url":"/platform/forge/ui-kit/components/single-value-chart/"},{"title":"Chart - Stack bar (EAP)","url":"/platform/forge/ui-kit/components/stack-bar-chart/"},{"title":"Checkbox","url":"/platform/forge/ui-kit/components/checkbox/"},{"title":"Checkbox group (Preview)","url":"/platform/forge/ui-kit/components/checkbox-group/"},{"title":"Code","url":"/platform/forge/ui-kit/components/code/"},{"title":"Code block","url":"/platform/forge/ui-kit/components/code-block/"},{"title":"Date picker","url":"/platform/forge/ui-kit/components/date-picker/"},{"title":"Dynamic table","url":"/platform/forge/ui-kit/components/dynamic-table/"},{"title":"Empty state (Preview)","url":"/platform/forge/ui-kit/components/empty-state/"},{"title":"Form","url":"/platform/forge/ui-kit/components/form/"},{"title":"Frame (Preview)","url":"/platform/forge/ui-kit/components/frame"},{"title":"Heading","url":"/platform/forge/ui-kit/components/heading/"},{"title":"Icon","url":"/platform/forge/ui-kit/components/icon/"},{"title":"Image","url":"/platform/forge/ui-kit/components/image/"},{"title":"Inline","url":"/platform/forge/ui-kit/components/inline/"},{"title":"Inline edit (Preview)","url":"/platform/forge/ui-kit/components/inline-edit/"},{"title":"Link","url":"/platform/forge/ui-kit/components/link/"},{"title":"List (Preview)","url":"/platform/forge/ui-kit/components/list/"},{"title":"Lozenge","url":"/platform/forge/ui-kit/components/lozenge/"},{"title":"Modal","url":"/platform/forge/ui-kit/components/modal/"},{"title":"Popup (Preview)","url":"/platform/forge/ui-kit/components/popup/"},{"title":"Progress bar","url":"/platform/forge/ui-kit/components/progress-bar/"},{"title":"Progress tracker","url":"/platform/forge/ui-kit/components/progress-tracker/"},{"title":"Radio","url":"/platform/forge/ui-kit/components/radio/"},{"title":"Radio group","url":"/platform/forge/ui-kit/components/radio-group/"},{"title":"Range","url":"/platform/forge/ui-kit/components/range/"},{"title":"Section message","url":"/platform/forge/ui-kit/components/section-message/"},{"title":"Select","url":"/platform/forge/ui-kit/components/select/"},{"title":"Spinner","url":"/platform/forge/ui-kit/components/spinner/"},{"title":"Stack","url":"/platform/forge/ui-kit/components/stack/"},{"title":"Tabs","url":"/platform/forge/ui-kit/components/tabs/"},{"title":"Tag","url":"/platform/forge/ui-kit/components/tag/"},{"title":"Tag group","url":"/platform/forge/ui-kit/components/tag-group/"},{"title":"Text","url":"/platform/forge/ui-kit/components/text/"},{"title":"Text area","url":"/platform/forge/ui-kit/components/text-area/"},{"title":"Text field","url":"/platform/forge/ui-kit/components/textfield/"},{"title":"Time picker (Preview)","url":"/platform/forge/ui-kit/components/time-picker/"},{"title":"Toggle","url":"/platform/forge/ui-kit/components/toggle/"},{"title":"Tooltip","url":"/platform/forge/ui-kit/components/tooltip/"},{"title":"User","url":"/platform/forge/ui-kit/components/user/"},{"title":"User group","url":"/platform/forge/ui-kit/components/user-group/"},{"title":"User picker","url":"/platform/forge/ui-kit/components/user-picker/"},{"title":"XCSS","url":"/platform/forge/ui-kit/components/xcss/"}]},{"title":"Jira UI Kit components","url":"/platform/forge/ui-kit/jira-components/","isGroup":true,"groupItems":[{"title":"Custom field edit (Preview)","url":"/platform/forge/ui-kit/jira-components/custom-field-edit/"}]},{"title":"UI Kit hooks","url":"/platform/forge/ui-kit/hooks/hooks-reference/","isGroup":true,"groupItems":[{"title":"useConfig","url":"/platform/forge/ui-kit/hooks/use-config/"},{"title":"useContentProperty","url":"/platform/forge/ui-kit/hooks/use-content-property/"},{"title":"useForm","url":"/platform/forge/ui-kit/hooks/use-form/"},{"title":"useIssueProperty","url":"/platform/forge/ui-kit/hooks/use-issue-property/"},{"title":"useProductContext","url":"/platform/forge/ui-kit/hooks/use-product-context/"},{"title":"useSpaceProperty","url":"/platform/forge/ui-kit/hooks/use-space-property/"},{"title":"useTranslation","url":"/platform/forge/ui-kit/hooks/use-translation/"}]},{"title":"Forge bridge APIs","url":"/platform/forge/apis-reference/ui-api-bridge/bridge","isGroup":true,"groupItems":[{"title":"events","url":"/platform/forge/apis-reference/ui-api-bridge/events/"},{"title":"i18n","url":"/platform/forge/apis-reference/ui-api-bridge/i18n/"},{"title":"invoke","url":"/platform/forge/apis-reference/ui-api-bridge/invoke/"},{"title":"invokeRemote","url":"/platform/forge/apis-reference/ui-api-bridge/invokeRemote/"},{"title":"Modal","url":"/platform/forge/apis-reference/ui-api-bridge/modal/"},{"title":"requestBitbucket","url":"/platform/forge/apis-reference/ui-api-bridge/requestBitbucket/"},{"title":"requestConfluence","url":"/platform/forge/apis-reference/ui-api-bridge/requestConfluence/"},{"title":"requestJira","url":"/platform/forge/apis-reference/ui-api-bridge/requestJira/"},{"title":"router","url":"/platform/forge/apis-reference/ui-api-bridge/router/"},{"title":"showFlag","url":"/platform/forge/apis-reference/ui-api-bridge/showFlag/"},{"title":"view","url":"/platform/forge/apis-reference/ui-api-bridge/view/"}]},{"title":"Jira bridge APIs","url":"/platform/forge/apis-reference/jira-api-bridge/bridge/","isGroup":true,"groupItems":[{"title":"ViewIssueModal","url":"/platform/forge/apis-reference/jira-api-bridge/viewIssueModal/"},{"title":"CreateIssueModal","url":"/platform/forge/apis-reference/jira-api-bridge/createIssueModal/"},{"title":"uiModifications","url":"/platform/forge/apis-reference/jira-api-bridge/uiModifications/"},{"title":"workflowRules (EAP)","url":"/platform/forge/apis-reference/jira-api-bridge/workflowRules/"}]},{"title":"Custom UI","url":"/platform/forge/custom-ui/iframe"},{"title":"Upgrade UI Kit versions","url":"/platform/forge/ui-kit/upgrade-guides","isGroup":true,"groupItems":[{"title":"Upgrade from UI Kit 1 to UI Kit latest version","url":"/platform/forge/ui-kit/upgrade-to-ui-kit-latest/"},{"title":"Notify site admins using Forge app with UI Kit 1","url":"/platform/forge/ui-kit/notify-site-admins-using-forge-app-with-ui-kit-1/"},{"title":"Upgrade to @forge/react major version 10","url":"/platform/forge/ui-kit/version-10-changes/"}]},{"title":"Previous versions","url":"/platform/forge/ui-kit-components/previous_versions","isGroup":true,"groupItems":[{"title":"UI Kit - @forge/react@9","url":"/platform/forge/ui-kit-2/all-uikprev-components/"},{"title":"UI Kit 1 overview","url":"/platform/forge/ui-kit-components/ui1-about/"},{"title":"UI Kit 1 components","url":"/platform/forge/ui-kit-components/uik1_all/"},{"title":"UI Kit 1 module components","url":"/platform/forge/ui-kit-components/uik1_modules/"},{"title":"UI Kit 1 hooks","url":"/platform/forge/ui-kit-components/uik1_hooks/"}]}]},{"title":"Events","name":"events-reference","expandAlways":true,"items":[{"title":"Overview","url":"/platform/forge/events-reference/"},{"title":"Product events","url":"/platform/forge/events-reference/product_events/","isGroup":true,"groupItems":[{"title":"Bitbucket events","url":"/platform/forge/events-reference/bitbucket/"},{"title":"Compass events","url":"/platform/forge/events-reference/compass/"},{"title":"Confluence events","url":"/platform/forge/events-reference/confluence/"},{"title":"Jira events","url":"/platform/forge/events-reference/jira/"},{"title":"Jira Software events","url":"/platform/forge/events-reference/jira-software/"},{"title":"Expressions playground","url":"/platform/forge/events-reference/expressions-playground/"}]},{"title":"Life cycle events","url":"/platform/forge/events-reference/life-cycle/"},{"title":"Data security policy events","url":"/platform/forge/events-reference/data-security-policy-events/"},{"title":"Scheduled trigger events","url":"/platform/forge/events-reference/scheduled-trigger/"},{"title":"Web trigger events","url":"/platform/forge/events-reference/web-trigger/"}]}]},{"title":"Get help","name":"help","url":"/platform/forge/get-help/"},{"name":"changelog","title":"Changelog","url":"/platform/forge/changelog/","apiGroups":["forge-core-platform","forge-jira-cloud-platform","forge-jsm-cloud","forge-jsw-cloud","forge-confluence-cloud"]}],"enabledVersion":"1.5800.1062"},"navigation":[{"label":"About Forge","href":"/platform/forge/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Get started","href":"/platform/forge/introduction/the-forge-platform/","expandState":"always-expanded","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Introduction to Forge","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"The Forge platform","href":"/platform/forge/introduction/the-forge-platform/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Why build with Forge","href":"/platform/forge/introduction/why-build-with-forge/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Migrate your Connect app","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Adopting Forge from Connect","href":"https://developer.atlassian.com/platform/adopting-forge-from-connect/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Learn","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Example apps","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Bitbucket","href":"/platform/forge/example-apps-bitbucket/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Compass","href":"/platform/forge/example-apps-compass/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Confluence","href":"/platform/forge/example-apps-confluence/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Jira","href":"/platform/forge/example-apps-jira/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Jira Service Management","href":"/platform/forge/example-apps-jsm/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Rovo","href":"/platform/forge/example-apps-rovo/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Guided tutorials","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Overview","href":"/platform/forge/tutorials-and-guides/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Forge, Compass, and AWS CloudWatch","href":"/platform/forge/forge-compass-cloudwatch/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Schedule web triggers","href":"/platform/forge/add-scheduled-trigger/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Debug functions using IntelliJ","href":"/platform/forge/debug-functions-using-intellij/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Debug functions using VS Code","href":"/platform/forge/debug-functions-using-vscode/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Profile app performance with tunnel debugger","href":"/platform/forge/profiling-node-js-app-code-tunnel/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Implement a dynamic profile retriever","href":"/platform/forge/implement-a-dynamic-profile-retriever-with-external-authentication/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Migrate an app from Connect to Forge","href":"https://developer.atlassian.com/platform/adopting-forge-from-connect/migrate-macro","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Migrate an app from UI Kit 1 to UI Kit","href":"/platform/forge/ui-kit/migration-example/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Set up continuous delivery","href":"/platform/forge/set-up-cicd/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Queue app interactions with Storage API","href":"/platform/forge/storage-api-limit-handling/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Use a long-running function","href":"/platform/forge/use-a-long-running-function","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Use custom entities to store structured data","href":"/platform/forge/custom-entities-store-structured-data/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Use an external OAuth 2.0 API with fetch","href":"/platform/forge/use-an-external-oauth-2.0-api-with-fetch/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Add routing to a full-page app in Jira","href":"/platform/forge/add-routing-to-a-full-page-app/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Use the storage API in Confluence","href":"/platform/forge/create-confluence-macro-with-storage-api","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Add custom configuration to a macro","href":"/platform/forge/add-custom-configuration-to-a-macro","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Using rich body macros","href":"/platform/forge/using-rich-text-bodied-macros","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Rovo","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Extend Atlassian products with a Forge Rovo agent","href":"/platform/forge/extend-atlassian-products-with-a-forge-rovo-agent/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Build a Rovo Agent app","href":"/platform/forge/build-a-hello-world-rovo-agent/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Build a Q&A Rovo Agent for Confluence","href":"/platform/forge/build-a-q-and-a-rovo-agent-for-confluence","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Build a Jira issue analyst Rovo Agent","href":"/platform/forge/build-a-jira-issue-analyst-rovo-agent","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Jira","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Build a hello world app in Jira","href":"/platform/forge/build-a-hello-world-app-in-jira/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Automate Jira with triggers","href":"/platform/forge/automate-jira-using-triggers/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Build a Jira comments summarizer app with OpenAI","href":"/platform/forge/build-jira-comments-summarizer-with-openai/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Use a workflow validator to check issue assignments","href":"/platform/forge/check-jira-issues-assigned-using-workflow-validator/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Build a custom UI app","href":"/platform/forge/build-a-custom-ui-app-in-jira/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Jira Service Management","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Build a hello world app in Jira Service Management","href":"/platform/forge/build-a-hello-world-app-in-jira-service-management/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Import third party data into Assets","href":"/platform/forge/assets-import-app/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Use Async Events API to queue jobs to import objects into Assets","href":"/platform/forge/queue-events-with-async-events-api-to-import-assets/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Build a custom UI app","href":"/platform/forge/build-a-custom-ui-app-in-jira-service-management/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Confluence","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Build a hello world app in Confluence","href":"/platform/forge/build-a-hello-world-app-in-confluence/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Create a question generator app in multiple languages using i18n","href":"/platform/forge/create-a-question-generator-app-in-multiple-languages-using-i18n/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Create a quiz app using UI Kit","href":"/platform/forge/create-a-quiz-app-using-ui-kit/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Add configuration to a macro with UI Kit","href":"/platform/forge/add-configuration-to-a-macro-with-ui-kit/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Create a logo designer app using the Frame component (Preview)","href":"/platform/forge/ui-kit/components/frame-tutorial/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Use space settings and content byline to implement space news","href":"/platform/forge/space-news/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Use content actions to count page macros","href":"/platform/forge/macros-in-the-page/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Build a Custom UI app","href":"/platform/forge/build-a-custom-ui-app-in-confluence/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Build a Confluence keyword extractor with OpenAI","href":"/platform/forge/build-confluence-keyword-extractor-with-openai/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Use highlighted text in a Confluence app","href":"/platform/forge/create-confluence-contextmenu-module/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Create a GIPHY app using UI kit on Confluence","href":"/platform/forge/create-a-giphy-app-using-the-ui-kit/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Bitbucket","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Extend Bitbucket Cloud","href":"/platform/forge/extend-bitbucket-cloud/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Build a hello world app in Bitbucket","href":"/platform/forge/build-a-hello-world-app-in-bitbucket/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Automate Bitbucket with triggers","href":"/platform/forge/automate-bitbucket-using-triggers/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Build a pull request title validator with custom merge checks","href":"/platform/forge/build-a-pull-request-title-validator-with-custom-merge-checks/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Orchestrate your builds using Dynamic Pipelines","href":"/platform/forge/orchestrate-your-builds-using-dynamic-pipelines/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]}]},{"label":"Atlassian developer glossary","href":"https://developer.atlassian.com/developer-guide/glossary/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]}]},{"label":"Plan & design","href":"/platform/forge/events/","expandState":"always-expanded","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"App architecture","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Events and triggers","href":"/platform/forge/events/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Hosted storage","href":"/platform/forge/storage/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Hosted storage data lifecycle","href":"/platform/forge/storage-reference/hosted-storage-data-lifecycle/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Manifest","href":"/platform/forge/manifest/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Modules","href":"/platform/forge/modules/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Platform quotas and limits","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Overview","href":"/platform/forge/platform-quotas-and-limits/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"User interface","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Overview","href":"/platform/forge/user-interface/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Build with UI Kit","href":"/platform/forge/ui-kit/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Extend UI with custom options","href":"/platform/forge/extend-ui-with-custom-options/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Design tokens and theming","href":"/platform/forge/design-tokens-and-theming/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Internationalization","href":"/platform/forge/internationalization/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Understanding the UI modifications module","href":"/platform/forge/understanding-ui-modifications/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Jira full page modules","href":"/platform/forge/jira-full-page-modules/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Legal & privacy","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Forge terms of use","href":"/platform/forge/developer-terms/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Shared responsibility model","href":"/platform/forge/shared-responsibility-model/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Forge privacy and security FAQ","href":"/platform/forge/faq-privacy-security/","expandState":"expanded","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"User privacy guide","href":"/platform/forge/user-privacy-guidelines/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Forge Data Processing Addendum","href":"/platform/forge/about-the-forge-data-processing-addendum/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Logging data","href":"/platform/forge/logging-guidelines/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Best practice","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"App security","href":"/platform/forge/security/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"App distribution","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Promote an app from staging to production","href":"/platform/forge/staging-and-production-apps/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Distribute via console","href":"/platform/forge/distribute-your-apps/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]}]},{"label":"Build","href":"/platform/forge/getting-started/","expandState":"always-expanded","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Development life cycle","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Developing with Forge","href":"/platform/forge/getting-started/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Environment configuration","href":"/platform/forge/environments-and-versions/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Contributors","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Overview","href":"/platform/forge/contributors/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Managing contributors","href":"/platform/forge/manage-app-contributors/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"App versions","href":"/platform/forge/versions/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Testing and debugging","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Overview","href":"/platform/forge/debugging/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Debug using IntelliJ","href":"/platform/forge/debug-functions-using-intellij/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Debug using VS Code","href":"/platform/forge/debug-functions-using-vscode/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Tunneling","href":"/platform/forge/tunneling/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]}]},{"label":"App capabilities","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Compute","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Functions","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Invoke functions","href":"/platform/forge/function-reference/index/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Call a product REST API","href":"/platform/forge/apis-reference/product-rest-api-reference/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Call a product GraphQL API","href":"/platform/forge/apis-reference/fetch-api-product.requestgraph/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Verify user permissions for product APIs","href":"/platform/forge/runtime-reference/authorize-api/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Call an external REST API","href":"/platform/forge/runtime-reference/external-fetch-api/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Check user account status","href":"/platform/forge/runtime-reference/authorize-api/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Migrate from the legacy runtime","href":"/platform/forge/runtime-reference/legacy-runtime-migrating/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Remotes","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Overview","href":"/platform/forge/remote/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Forge remote essentials","href":"/platform/forge/remote/essentials/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Send events to a remote","href":"/platform/forge/remote/sending-product-events/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Schedule triggers to invoke a remote","href":"/platform/forge/remote/scheduled-triggers/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Access Forge storage from a remote","href":"/platform/forge/remote/accessing-storage/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Call product APIs from a remote","href":"/platform/forge/remote/calling-product-apis/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Call from a Forge frontend","href":"/platform/forge/remote/calling-from-frontend/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Call from a Forge function","href":"/platform/forge/remote/calling-from-function/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Bitbucket git operations from a remote","href":"/platform/forge/remote/bitbucket-git-operations/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Remote observability","href":"/platform/forge/remote/observability/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Setting up remotes for realm pinning","href":"/platform/forge/remote/setup-dare-storage/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Web triggers","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Work with web triggers","href":"/platform/forge/runtime-reference/web-trigger/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Queues","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Use async app event queues","href":"/platform/forge/runtime-reference/async-events-api/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Events","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Platform and product events","href":"/platform/forge/events/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Reference","href":"/platform/forge/function-reference/index/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Storage","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Key value store","href":"/platform/forge/runtime-reference/storage-api-basic/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Entity store","href":"/platform/forge/storage-reference/storage-api-custom-entities/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"SQL (Preview)","href":"/platform/forge/storage-reference/sql/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Cache (EAP)","href":"/platform/forge/storage-reference/storage-cache-api/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Reference","href":"/platform/forge/runtime-reference/storage-api/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Hosted storage data lifecycle","href":"/platform/forge/storage-reference/hosted-storage-data-lifecycle/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"User interface","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"UI Kit","href":"/platform/forge/ui-kit/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Frontend bridge","href":"/platform/forge/apis-reference/ui-api-bridge/bridge/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Display conditions","href":"/platform/forge/manifest-reference/display-conditions/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Reference","href":"/platform/forge/ui-kit/overview/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Observability","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Overview","href":"/platform/forge/remote/observability/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"App observability in third-party tools","href":"/platform/forge/app-observability-in-third-party-tools","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Automation with Forge","href":"/platform/forge/automation-with-forge/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Trust and security","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Data residency","href":"/platform/forge/data-residency/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Configuring app security","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Unlicensed user app access","href":"/platform/forge/access-to-forge-apps-for-unlicensed-jsm-users/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Scopes to call an Atlassian REST API","href":"/platform/forge/add-scopes-to-call-an-atlassian-rest-api/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Runtime egress permissions","href":"/platform/forge/runtime-egress-permissions/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Content security and egress controls","href":"/platform/forge/add-content-security-and-egress-controls/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"App context security","href":"/platform/forge/app-context-security/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"External authentication overview","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Configuring OAuth 2.0 providers","href":"/platform/forge/use-an-external-oauth-2.0-api-with-fetch/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Rotating an OAuth 2.0 client ID and secret","href":"/platform/forge/rotating-an-oauth-2.0-client-id-and-secret/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Common issues with external authentication","href":"/platform/forge/common-issues-with-external-authentication/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]}]},{"label":"Runs on Atlassian","href":"/platform/forge/runs-on-atlassian/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Enterprise development","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Using Forge CLI on a corporate network","href":"/platform/forge/enterprise/use-forge-cli-on-corporate-network/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Forge releases and deprecation policy","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Forge releases (includes enrolling in EAP)","href":"/platform/forge/whats-coming/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Forge deprecation policy","href":"/platform/forge/deprecation-policy/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]}]},{"label":"Manage","href":"/platform/forge/manage-your-apps/","expandState":"always-expanded","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Overview","href":"/platform/forge/manage-your-apps/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Observability","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Manage app alerts","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Overview","href":"/platform/forge/alerts/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Create alert rules","href":"/platform/forge/create-alert-rules/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Manage alert rules","href":"/platform/forge/manage-alert-rules/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"View open and closed alerts","href":"/platform/forge/view-open-and-closed-alerts/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Monitor app metrics","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Overview","href":"/platform/forge/monitor-app-metrics/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Monitor invocation metrics","href":"/platform/forge/monitor-invocation-metrics/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Monitor API metrics","href":"/platform/forge/monitor-api-metrics/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Monitor cache metrics (EAP)","href":"/platform/forge/monitor-cache-metrics/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Monitor SQL (Preview)","href":"/platform/forge/monitor-sql-metrics/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Monitor usage metrics","href":"/platform/forge/monitor-usage-metrics/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Export app metrics","href":"/platform/forge/export-app-metrics/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Monitor app logs","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Overview","href":"/platform/forge/monitor-app-logs/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"View app logs","href":"/platform/forge/view-app-logs/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Export app logs","href":"/platform/forge/export-app-logs/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Access app logs","href":"/platform/forge/access-app-logs/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"View app installations","href":"/platform/forge/view-app-installations/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"View app storage","href":"/platform/forge/view-app-storage/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]},{"label":"Access","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Manage app contributors","href":"/platform/forge/manage-app-contributors/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Manage environments","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Forge environments","href":"/platform/forge/environments-and-versions/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Configuring the manifest","href":"/platform/forge/manifest-reference/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]}]},{"label":"Distribution","href":"","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[{"label":"Marketplace","href":"https://developer.atlassian.com/platform/marketplace/listing-forge-apps/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"Distribute via console","href":"/platform/forge/distribute-your-apps/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]},{"label":"CLI installation","href":"/platform/forge/cli-reference/install/","expandState":"collapsed","childNavigationNodes":[],"nestedNavigationNodes":[]}]}]}],"theme":"grouped-sidebar","newRestApiExperience":true},"frontEndFeatures":{"shouldShowDacIntercept":true,"shouldShowGetHelpWidget":true,"renderRestRedesignedDocs":{"contentSets":[],"enableAllInternal":true,"enableAllExternal":true},"targetExternalBuilders":{"contentSets":[],"userEmails":[]},"shouldEnableAIfeatures":false},"getHelpBaseUrl":"https://dac-get-help.services.atlassian.com","changelogStargateBaseUrl":"/gateway/api/dac-changelogs","bitbucketClientId":"wuJ9hf4zyXjYJVxWFf","isContentSetInternal":false};</script> <title>Forge privacy and security FAQ</title> <style data-styled-components="bcCCNc jqBRrP ibwhYF eZnlXi bsbZCT cWyolX hEREHr cEicjz ccUuQb KLVHW RfwMt ebpAmp dEUQgS jgvUXc cEunxv jGeTgW hSXbpc fFirge hKiNSh iuGVGX bCtJbM hwrSXl iARtDw BlNLE iLnIWi eGFUop fdZVrh ixXsyz hMVyQH ebjqXf jOJzhX gupbxx iJfdrZ dZmoXu EsMfL gjDNHe fEiqUH hiBcEo jjvRrZ kFokHU kyARPC kKjlYb dDqXHW cRavQB gWIkLp jGqvBW hsaQyA bWkibq huMuzN hYifdp crKIBs bIjwqY iLIKSx eysgIS cLWHVF jMPRQO igxxMf jPqTBr lhcjXP gzVyrk rJVhP hrxrbx gfLKuW kmRqgF APFeF hbQcmX dUcFyG RSHIw insOyI fDSCxc"> /* sc-component-id: sc-keyframes-bcCCNc */ @-webkit-keyframes bcCCNc{0%{opacity:0;}100%{opacity:1;}} @keyframes bcCCNc{0%{opacity:0;}100%{opacity:1;}} /* sc-component-id: sc-keyframes-jqBRrP */ @-webkit-keyframes jqBRrP{0%{opacity:1;}50%{opacity:0.6;}100%{opacity:1;}} @keyframes jqBRrP{0%{opacity:1;}50%{opacity:0.6;}100%{opacity:1;}} /* sc-component-id: sc-keyframes-ibwhYF */ @-webkit-keyframes ibwhYF{to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}} @keyframes ibwhYF{to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}} /* sc-component-id: sc-cBrjTV */ .crKIBs{padding-top:var(--ds-space-300,24px);} .crKIBs:first-child{padding-top:var(--ds-space-0,0px);} .crKIBs h1 .heading-anchor-wrapper{position:absolute;height:1.1666666666666667em;margin-left:var(--ds-space-075,6px);} .crKIBs h1 .heading-anchor-wrapper button{padding-left:var(--ds-space-0,0px);padding-right:var(--ds-space-0,0px);} @media (hover:hover) and (pointer:fine){.crKIBs h1 .heading-anchor-wrapper > button{opacity:0;-webkit-transform:translate(-8px,0px);-ms-transform:translate(-8px,0px);transform:translate(-8px,0px);-webkit-transition:opacity 0.2s ease 0s,-webkit-transform 0.2s ease 0s;-webkit-transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;}.crKIBs h1:hover .heading-anchor-wrapper > button{opacity:1;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;}} .crKIBs h2 .heading-anchor-wrapper{position:absolute;height:1.2em;margin-left:var(--ds-space-075,6px);} .crKIBs h2 .heading-anchor-wrapper button{padding-left:var(--ds-space-0,0px);padding-right:var(--ds-space-0,0px);} @media (hover:hover) and (pointer:fine){.crKIBs h2 .heading-anchor-wrapper > button{opacity:0;-webkit-transform:translate(-8px,0px);-ms-transform:translate(-8px,0px);transform:translate(-8px,0px);-webkit-transition:opacity 0.2s ease 0s,-webkit-transform 0.2s ease 0s;-webkit-transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;}.crKIBs h2:hover .heading-anchor-wrapper > button{opacity:1;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;}} .crKIBs h3 .heading-anchor-wrapper{position:absolute;height:1.25em;margin-left:var(--ds-space-075,6px);} .crKIBs h3 .heading-anchor-wrapper button{padding-left:var(--ds-space-0,0px);padding-right:var(--ds-space-0,0px);} @media (hover:hover) and (pointer:fine){.crKIBs h3 .heading-anchor-wrapper > button{opacity:0;-webkit-transform:translate(-8px,0px);-ms-transform:translate(-8px,0px);transform:translate(-8px,0px);-webkit-transition:opacity 0.2s ease 0s,-webkit-transform 0.2s ease 0s;-webkit-transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;}.crKIBs h3:hover .heading-anchor-wrapper > button{opacity:1;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;}} .crKIBs h4 .heading-anchor-wrapper{position:absolute;height:1.1428571428571428em;margin-left:var(--ds-space-075,6px);} .crKIBs h4 .heading-anchor-wrapper button{padding-left:var(--ds-space-0,0px);padding-right:var(--ds-space-0,0px);} @media (hover:hover) and (pointer:fine){.crKIBs h4 .heading-anchor-wrapper > button{opacity:0;-webkit-transform:translate(-8px,0px);-ms-transform:translate(-8px,0px);transform:translate(-8px,0px);-webkit-transition:opacity 0.2s ease 0s,-webkit-transform 0.2s ease 0s;-webkit-transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;}.crKIBs h4:hover .heading-anchor-wrapper > button{opacity:1;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;}} .crKIBs h5 .heading-anchor-wrapper{position:absolute;height:1.3333333333333333em;margin-left:var(--ds-space-075,6px);} .crKIBs h5 .heading-anchor-wrapper button{padding-left:var(--ds-space-0,0px);padding-right:var(--ds-space-0,0px);} @media (hover:hover) and (pointer:fine){.crKIBs h5 .heading-anchor-wrapper > button{opacity:0;-webkit-transform:translate(-8px,0px);-ms-transform:translate(-8px,0px);transform:translate(-8px,0px);-webkit-transition:opacity 0.2s ease 0s,-webkit-transform 0.2s ease 0s;-webkit-transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;}.crKIBs h5:hover .heading-anchor-wrapper > button{opacity:1;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;}} .crKIBs h6 .heading-anchor-wrapper{position:absolute;height:1.4545454545454546em;margin-left:var(--ds-space-075,6px);} .crKIBs h6 .heading-anchor-wrapper button{padding-left:var(--ds-space-0,0px);padding-right:var(--ds-space-0,0px);} @media (hover:hover) and (pointer:fine){.crKIBs h6 .heading-anchor-wrapper > button{opacity:0;-webkit-transform:translate(-8px,0px);-ms-transform:translate(-8px,0px);transform:translate(-8px,0px);-webkit-transition:opacity 0.2s ease 0s,-webkit-transform 0.2s ease 0s;-webkit-transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;transition:opacity 0.2s ease 0s,transform 0.2s ease 0s;}.crKIBs h6:hover .heading-anchor-wrapper > button{opacity:1;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;}} /* sc-component-id: sc-iCwjlJ */ .bIjwqY{display:inline;outline:none;background-color:transparent;border:none;color:#42526E;cursor:pointer;right:var(--ds-space-0,0px);} /* sc-component-id: sc-fkyLDJ */ .jGeTgW{min-height:100vh;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;} /* sc-component-id: sc-jUpvKA */ .kmRqgF{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;} /* sc-component-id: sc-jdfcpN */ .jMPRQO{width:100%;overflow-y:auto;margin:12px var(--ds-space-0,0px) 16px var(--ds-space-0,0px);} /* sc-component-id: sc-kNBZmU */ .lhcjXP{background-color:#F4F5F7;} .lhcjXP.lhcjXP{padding:8px;} /* sc-component-id: sc-eopZyb */ .gzVyrk.gzVyrk{padding:8px;} /* sc-component-id: sc-eNNmBn */ .igxxMf{border-bottom:none;} /* sc-component-id: sc-eEieub */ .jPqTBr{border-bottom:1px solid #C1C7D0;} /* sc-component-id: sc-eNPDpu */ .iARtDw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:fixed;bottom:var(--ds-space-400,32px);left:var(--ds-space-400,32px);z-index:1;} /* sc-component-id: sc-hARARD */ .hrxrbx{text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;margin-left:16px;margin-top:var(--ds-space-500,40px);margin-bottom:var(--ds-space-500,40px);} /* sc-component-id: sc-ccLTTT */ .gfLKuW{font-size:14px;color:#6B778C;margin:var(--ds-space-0,0px) var(--ds-space-050,4px) var(--ds-space-0,0px) var(--ds-space-0,0px);} /* sc-component-id: sc-TuwoP */ .hKiNSh{max-height:100px;background-color:#DEEBFF;} /* sc-component-id: sc-fQkuQJ */ .iuGVGX{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#DEEBFF;color:#172B4D;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;fill:#DEEBFF;font-weight:600;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding:12px;text-align:center;margin:auto;max-width:876px;} /* sc-component-id: sc-epGmkI */ .bCtJbM{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;} /* sc-component-id: sc-dphlzf */ .fFirge{max-height:0px;overflow:hidden;-webkit-transition:max-height 0.25s ease-in-out;transition:max-height 0.25s ease-in-out;} /* sc-component-id: sc-fCPvlr */ .hwrSXl{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;padding:4px;overflow:hidden;} /* sc-component-id: sc-gAmQfK */ .hSXbpc{color:black;position:relative;z-index:100;} .hSXbpc div[data-testid='navigation-site-title']{color:#172B4D;font-size:16px;} /* sc-component-id: sc-hvvHee */ .APFeF{margin-top:var(--ds-space-400,32px) padding:var(--ds-space-200,16px) var(--ds-space-100,8px);background:#F4F5F7;color:white;min-height:100px;} .APFeF,.APFeF *{box-sizing:border-box;} @media (min-width:768px){.APFeF{padding:var(--ds-space-400,32px) var(--ds-space-100,8px);}} /* sc-component-id: sc-eSePXt */ .hbQcmX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:80rem;margin-left:auto;margin-right:auto;padding-left:0.9375rem;padding-right:0.9375rem;} @media (min-width:860px){.hbQcmX{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}} /* sc-component-id: sc-dXfzlN */ .insOyI{-webkit-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;} @media (min-width:860px){.insOyI{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}} @media (max-width:1024px){.insOyI{font-size:14px;}} /* sc-component-id: sc-aewfc */ .fDSCxc{color:#0a0a0a;display:inline-block;line-height:1;padding:var(--ds-space-150,12px) var(--ds-space-400,32px) var(--ds-space-150,12px) var(--ds-space-0,0px);} @media (min-width:768px){.fDSCxc{padding:var(--ds-space-150,12px) var(--ds-space-200,16px);}} @media (max-width:1024px){.fDSCxc{font-size:14px;}} /* sc-component-id: sc-iIHjhz */ .RSHIw{color:#0057d8;display:inline-block;line-height:1;padding:var(--ds-space-150,12px) var(--ds-space-400,32px) var(--ds-space-150,12px) var(--ds-space-0,0px);} @media (min-width:768px){.RSHIw{padding:var(--ds-space-150,12px) var(--ds-space-200,16px);}} .RSHIw.hide-optanon-link{display:none;} /* sc-component-id: sc-eQGPmX */ .ebjqXf a[type='button']{line-height:18px;height:auto;padding:var(--ds-space-0,0px);text-align:left;} /* sc-component-id: sc-dAOnuy */ .gupbxx{white-space:normal;} /* sc-component-id: sc-cSYcjD */ .EsMfL{height:auto;list-style:none;margin:var(--ds-space-0,0px);overflow:hidden;padding:var(--ds-space-0,0px);} .EsMfL.EsMfL{margin-top:var(--ds-space-0,0px);}.gjDNHe{height:0;list-style:none;margin:var(--ds-space-0,0px);overflow:hidden;padding:var(--ds-space-0,0px);} .gjDNHe.gjDNHe{margin-top:var(--ds-space-0,0px);} /* sc-component-id: sc-gjAXCV */ .fEiqUH{width:200px;white-space:normal;overflow-wrap:break-word;word-wrap:break-word;min-height:24px !important;padding:4px 0px 4px 4px !important;} .fEiqUH > span:first-child{margin-right:4px;}.hiBcEo{width:200px;white-space:normal;overflow-wrap:break-word;word-wrap:break-word;min-height:24px !important;padding:4px 0px 4px 30px !important;} .hiBcEo > span:first-child{margin-right:4px;}.jjvRrZ{width:200px;white-space:normal;overflow-wrap:break-word;word-wrap:break-word;min-height:24px !important;padding:4px 0px 4px 56px !important;} .jjvRrZ > span:first-child{margin-right:4px;} /* sc-component-id: sc-dOkuiw */ .kFokHU{min-height:32px !important;font-size:14px;font-weight:400;line-height:20px;text-align:left;border-radius:4px;padding:4px 0px 4px 58px !important;}.kyARPC{min-height:32px !important;font-size:14px;font-weight:400;line-height:20px;text-align:left;border-radius:4px;padding:4px 0px 4px 84px !important;}.kKjlYb{min-height:32px !important;font-size:14px;font-weight:400;line-height:20px;text-align:left;border-radius:4px;padding:4px 0px 4px 110px !important;}.dDqXHW{min-height:32px !important;font-size:14px;font-weight:400;line-height:20px;text-align:left;border-radius:4px;padding:4px 0px 4px 32px !important;} /* sc-component-id: sc-jGFFOr */ .iJfdrZ{border-top:1px solid #EBECF0;margin:var(--ds-space-0,0px);padding:16px 0;margin-left:var(--ds-space-150,12px);position:relative;} .iJfdrZ:last-child{border-bottom:1px solid #EBECF0;} /* sc-component-id: sc-hZeNU */ .dZmoXu{color:#253858;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;font-weight:var(--ds-font-heading-large,700);line-height:22px;display:'flex';} /* sc-component-id: sc-hMjcWo */ .jOJzhX{padding:4px var(--ds-space-0,0px) 2px;} .jOJzhX > a[type='button']{font-weight:inherit;color:inherit;} .jOJzhX > a[type='button']:before{content:" ";display:inline-block;line-height:18px;min-width:0.5rem;} .jOJzhX > a[type='button']:hover{background-color:inherit;color:rgb(0,82,204) !important;} /* sc-component-id: sc-dBfaGr */ .hMVyQH{list-style:none;margin:var(--ds-space-0,0px);padding:var(--ds-space-0,0px);} /* sc-component-id: sc-jgVwMx */ .ixXsyz{padding:16px 0;} /* sc-component-id: sc-giOsra */ .cWyolX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:3px;background-color:#E3FCEF;padding:16px;}.hEREHr{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:3px;background-color:#FFFAE6;padding:16px;}.cEicjz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:3px;background-color:#DEEBFF;padding:16px;} /* sc-component-id: sc-SFOxd */ .KLVHW{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;} /* sc-component-id: sc-jOBXIr */ .ebpAmp{margin:0;font-size:1.1428571428571428em;font-style:inherit;line-height:1.25;color:#172B4D;font-weight:600;-webkit-letter-spacing:-0.006em;-moz-letter-spacing:-0.006em;-ms-letter-spacing:-0.006em;letter-spacing:-0.006em;margin-top:24px;} /* sc-component-id: sc-dzOgQY */ * + .RfwMt{margin-top:8px;} /* sc-component-id: sc-jOVcOr */ .ccUuQb{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:40px;} .ccUuQb > span{margin:-2px 0;vertical-align:top;} /* sc-component-id: sc-hkaZBZ */ .bsbZCT{margin:16px var(--ds-space-0,0px);} .bsbZCT > section > div:last-child{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;overflow-x:auto;} /* sc-component-id: sc-gLdKKF */ .dEUQgS{position:relative;padding-top:56.25%;margin:16px var(--ds-space-0,0px);height:0;overflow:hidden;max-width:100%;} /* sc-component-id: sc-gCUMDz */ .jgvUXc{position:absolute;top:var(--ds-space-0,0px);left:var(--ds-space-0,0px);width:100%;height:100%;} /* sc-component-id: sc-grYksN */ .jGqvBW{display:none;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;margin:var(--ds-space-0,0px) 15px;} @media (min-width:600px){.jGqvBW{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-top:20px;}} /* sc-component-id: sc-frudsx */ .hsaQyA{display:none;} @media (min-width:900px){.hsaQyA{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:#6B778C;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}} /* sc-component-id: sc-cBXKeB */ .bWkibq{display:none;padding-right:4px;} @media (min-width:1200px){.bWkibq{display:initial;}} /* sc-component-id: sc-fjNYmT */ .cRavQB{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:3;-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3;margin:var(--ds-space-0,0px) auto;max-width:1200px;padding:var(--ds-space-0,0px) var(--ds-space-400,32px);} @media (min-width:900px){.cRavQB{overflow:visible;}} /* sc-component-id: sc-hzOKmB */ .gWIkLp{display:block;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;margin-top:var(--ds-space-0,0px)px;} @media (min-width:900px){.gWIkLp{margin-right:192px;}} /* sc-component-id: sc-jBoNkH */ .eGFUop{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;width:100%;} @media (min-width:900px){.eGFUop{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}} /* sc-component-id: sc-fPbjcq */ .fdZVrh{box-sizing:border-box;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:350px;width:20%;border-right:1px solid rgba(9,30,66,0.08);display:none;padding:8px 16px 32px 16px;} @media (min-width:900px){.fdZVrh{display:block;}} /* sc-component-id: sc-hdNmWC */ .huMuzN{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:3;-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3;margin:15px;margin-top:8px;width:80%;} /* sc-component-id: sc-hBcjXN */ .iLnIWi{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;} .iLnIWi h1 + h2{margin-top:12px;} .iLnIWi h1 + h3{margin-top:16px;} /* sc-component-id: sc-gVZiCL */ .BlNLE img{max-width:100%;} .BlNLE tr{border-bottom:1px solid #C1C7D0;} .BlNLE thead{border-bottom:none;} .BlNLE th{background-color:#F4F5F7;padding:8px;} .BlNLE td{padding:8px;} .BlNLE .aui-lozenge{background:#42526E;border:0;border-radius:3px;color:#FFFFFF;box-sizing:border-box;display:inline-block;font-size:11px;font-weight:700;line-height:1;max-width:200px;padding:var(--ds-space-025,2px) var(--ds-space-050,4px) var(--ds-space-025,2px);text-transform:uppercase;vertical-align:baseline;} .BlNLE .aui-lozenge-subtle{background-color:#DFE1E6;color:#42526E;} .BlNLE .aui-lozenge-success{background-color:#00875A;color:#FFFFFF;} .BlNLE .aui-lozenge-error,.BlNLE .aui-lozenge-removed{background-color:#BF2600;color:#FFFFFF;} .BlNLE .aui-lozenge-inprogress{background-color:#0052CC;color:#FFFFFF;} .BlNLE .aui-lozenge-new{background-color:#5243AA;color:#FFFFFF;} .BlNLE .aui-lozenge-moved{background-color:#FF991F;color:#172B4D;} .BlNLE .aui-lozenge-current{background-color:#FFC400;color:#42526E;} .BlNLE .aui-lozenge-complete{background-color:#5E6C84;color:#FFFFFF;} .BlNLE .aui-lozenge-success.aui-lozenge-subtle{background-color:#E3FCEF;color:#006644;} .BlNLE .aui-lozenge-error.aui-lozenge-subtle,.BlNLE .aui-lozenge-removed.aui-lozenge-subtle{background-color:#FFEBE6;color:#BF2600;} .BlNLE .aui-lozenge-current.aui-lozenge-subtle,.BlNLE .aui-lozenge-inprogress.aui-lozenge-subtle{background-color:#DEEBFF;color:#0747A6;} .BlNLE .aui-lozenge-complete.aui-lozenge-subtle,.BlNLE .aui-lozenge-new.aui-lozenge-subtle{background-color:#EAE6FF;color:#403294;} .BlNLE .aui-lozenge-moved.aui-lozenge-subtle{background-color:#FFF0B3;color:#172B4D;} .BlNLE .aui-message{position:relative;margin:16px var(--ds-space-0,0px);border-radius:3px;padding:16px;padding-left:56px;} .BlNLE .aui-message p strong,.BlNLE .aui-message p.title{font-size:1.1428571428571428em;font-style:inherit;line-height:1.25;color:#172B4D;font-weight:600;-webkit-letter-spacing:-0.006em;-moz-letter-spacing:-0.006em;-ms-letter-spacing:-0.006em;letter-spacing:-0.006em;margin-top:24px;font-size:16px;margin-top:var(--ds-space-0,0px);} .BlNLE .aui-message p.title{margin-bottom:8px;} .BlNLE .aui-message p.title + p{margin-top:var(--ds-space-0,0px);} .BlNLE .aui-message.tip{background-color:#E3FCEF;} .BlNLE .aui-message.note,.BlNLE .aui-message.info{background-color:#DEEBFF;} .BlNLE .aui-message.warning{background-color:#FFFAE6;} .BlNLE .aui-message-tip{background-color:#E3FCEF;} .BlNLE .aui-message-note,.BlNLE .aui-message-tip{background-color:#DEEBFF;} .BlNLE .aui-message-warning{background-color:#FFFAE6;} .BlNLE blockquote{padding:8px 16px var(--ds-space-0,0px) 16px;border-left:1px solid #C1C7D0;margin:var(--ds-space-0,0px) var(--ds-space-0,0px) 16px;color:#97A0AF;} .BlNLE blockquote:after,.BlNLE blockquote:before{content:'';} /* sc-component-id: sc-imDdex */ @media (min-width:900px){.hYifdp{position:relative;margin-right:192px;}} /* sc-component-id: sc-lffWgi */ @media (min-width:900px){.iLIKSx{position:absolute;left:100%;height:100%;margin-top:12px;}} /* sc-component-id: sc-fGSyRc */ .eysgIS{border-left:4px solid #0052CC;padding:8px;margin:30px var(--ds-space-0,0px);} .eysgIS:empty{display:none;} .eysgIS > :first-child{margin-bottom:32px;} @media (min-width:900px){.eysgIS{position:-webkit-sticky;position:sticky;top:82px;border-left:none;margin:var(--ds-space-0,0px);padding:var(--ds-space-0,0px);box-sizing:border-box;width:192px;}} /* sc-component-id: sc-dCVVYJ */ .rJVhP{display:'flex';-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;} /* sc-component-id: sc-jkPxnQ */ .cLWHVF{padding-left:28px;} /* sc-component-id: sc-cyQzhP */ .cEunxv{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;} /* sc-component-id: sc-keyframes-eZnlXi */ @-webkit-keyframes eZnlXi{from{opacity:0;-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px);}to{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}} @keyframes eZnlXi{from{opacity:0;-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px);}to{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);}} /* sc-component-id: sc-global-2906074290 */ @font-face{font-family:'Charlie Display';font-weight:400;src:url('/font/charlie-display/CharlieDisplay-Regular.otf') format('opentype');} @font-face{font-family:'Charlie Display';font-weight:500;src:url('/font/charlie-display/CharlieDisplay-Semibold.otf') format('opentype');} /* sc-component-id: sc-global-4218966353 */ *{box-sizing:border-box;}</style> <link href="https://dac-static.atlassian.com/_static/documentation-changelogs-docs-index-rest-api-docs-rest-docs-search-graphql-docs-graphql-sandbox-jsapi-connect-module-pages-analytics-and-cookie-preferences-homepage-errors-supportdesk.dfe18eccc22cf5b32118.chunk.css" rel="stylesheet"><link href="https://dac-static.atlassian.com/_static/documentation-changelogs-docs-index-rest-api-docs-rest-docs-search-graphql-docs-graphql-sandbox-jsapi-connect-module-pages-homepage-errors-supportdesk.c67a7555063c3b00faae.chunk.css" rel="stylesheet"><link href="https://dac-static.atlassian.com/_static/documentation.ce5deedee0b24a12eac1.css" rel="stylesheet"> <!-- Algolia Search Insights --> <script nonce="BN0r0ccJynHsqbZhYEXCCGvjcvS3bEZhZHILUOMURY4="> const ALGOLIA_INSIGHTS_SRC = "https://cdn.jsdelivr.net/npm/search-insights@2.2.1"; window.ALGOLIA_DAC_INDEX_NAME = 'developer.atlassian.com-dac-prod'; window.ALGOLIA_DAC_APP_ID = '41O4X7L3MX'; !function(e,a,t,n,s,i,c){e.AlgoliaAnalyticsObject=s,e[s]=e[s]||function(){ (e[s].queue=e[s].queue||[]).push(arguments)},i=a.createElement(t),c=a.getElementsByTagName(t)[0], i.async=1,i.src=n,c.parentNode.insertBefore(i,c) }(window,document,"script",ALGOLIA_INSIGHTS_SRC,"algoliaAnalytics"); algoliaAnalytics('init', { appId: '41O4X7L3MX', apiKey: 'Y2ZkNTM4MDg5M2QyMDUzOTBlMGEwZTU5OGQ0NGQ1MTA0ZmM1MjM5NzUzODdjNDZmYTRjYzkwMGFlYmIwMDE0MnJlc3RyaWN0SW5kaWNlcz1kZXZlbG9wZXIuYXRsYXNzaWFuLmNvbS1kYWMtcHJvZCUyQ2RldmVsb3Blci5hdGxhc3NpYW4uY29tLWRhYy1zdGFnaW5nJTJDZGV2ZWxvcGVyLmF0bGFzc2lhbi5jb20tZGFjLWRldiZmaWx0ZXJzPXByaXZpbGVnZSUzQU5PTkU=', useCookie: true, }); </script> <!-- End Algolia Search Insights --> <script nonce="BN0r0ccJynHsqbZhYEXCCGvjcvS3bEZhZHILUOMURY4="> window.ALGOLIA_DAC_API_KEY = 'Y2ZkNTM4MDg5M2QyMDUzOTBlMGEwZTU5OGQ0NGQ1MTA0ZmM1MjM5NzUzODdjNDZmYTRjYzkwMGFlYmIwMDE0MnJlc3RyaWN0SW5kaWNlcz1kZXZlbG9wZXIuYXRsYXNzaWFuLmNvbS1kYWMtcHJvZCUyQ2RldmVsb3Blci5hdGxhc3NpYW4uY29tLWRhYy1zdGFnaW5nJTJDZGV2ZWxvcGVyLmF0bGFzc2lhbi5jb20tZGFjLWRldiZmaWx0ZXJzPXByaXZpbGVnZSUzQU5PTkU='; window.ALGOLIA_DAC_API_KEY_EXPIRY = Date.now() + 28800000; window.ENABLE_AI = false; </script><script nonce="BN0r0ccJynHsqbZhYEXCCGvjcvS3bEZhZHILUOMURY4="> window.visualEditorEnabled = 'true'; </script><script nonce="BN0r0ccJynHsqbZhYEXCCGvjcvS3bEZhZHILUOMURY4="> window.DAC_CDN_HOST = 'https://dac-static.atlassian.com'; window.ENABLED_VERSION = '1.5800.1062'; </script></head> <body> <div id="root"><div class="sc-cyQzhP cEunxv"><div class="sc-fkyLDJ jGeTgW"><div><div class="sc-gAmQfK hSXbpc"><div class="sc-dphlzf fFirge"><div class="sc-TuwoP hKiNSh" aria-hidden="true" data-testid="banner-container" role="alert"><div class="sc-fQkuQJ iuGVGX"><span class="sc-epGmkI bCtJbM"><style data-emotion-css="14fi9av">.css-14fi9av{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}.css-14fi9av::-moz-focus-inner{border:0;margin:0;padding:0;}.css-14fi9av:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><button aria-label="close-icon" type="button" class="css-14fi9av"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="noix33">.css-noix33{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:0;font-size:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0 -2px;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-noix33"><style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="close-icon" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12 10.586L6.707 5.293a1 1 0 00-1.414 1.414L10.586 12l-5.293 5.293a1 1 0 001.414 1.414L12 13.414l5.293 5.293a1 1 0 001.414-1.414L13.414 12l5.293-5.293a1 1 0 10-1.414-1.414L12 10.586z" fill="currentColor"/></svg></span></span></span></button></span><span class="sc-fCPvlr hwrSXl"><span></span></span></div></div></div><style data-emotion-css="1cychdt">.css-1cychdt{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;height:56px;padding-right:12px;padding-left:12px;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}[data-theme="light"] .css-1cychdt,[data-theme="dark"] .css-1cychdt{border-bottom:1px solid var(--ds-border,#091E4224);}[data-theme="light"] .css-1cychdt::after,[data-theme="dark"] .css-1cychdt::after{content:none;}.css-1cychdt::after{height:4px;position:absolute;top:100%;right:0;left:0;background:linear-gradient(180deg,rgba(9,30,66,0.13) 0,rgba(9,30,66,0.13) 1px,rgba(9,30,66,0.08) 1px,rgba(9,30,66,0) 4px);content:"";}</style><header style="background-color:var(--ds-surface, #FFFFFF);color:var(--ds-text-subtlest, #6B778C)" role="banner" class="css-1cychdt"><style data-emotion-css="vtikxo">.css-vtikxo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:0;height:inherit;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}.css-vtikxo > *{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}</style><nav aria-label="Atlassian Developer Navigation" class="css-vtikxo"><div role="presentation"><style data-emotion="css b7sh1q">.css-b7sh1q,.css-b7sh1q:hover,.css-b7sh1q:active,.css-b7sh1q:focus,.css-b7sh1q:visited,.css-b7sh1q:disabled,.css-b7sh1q[disabled]{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;border-radius:100%;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:inherit;font-style:normal;font-family:inherit;font-weight:500;max-width:100%;position:relative;text-align:center;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);white-space:nowrap;background:var(--ds-background-brand-bold, #0052CC);color:var(--ds-text-subtle, #344563);cursor:pointer;height:auto;line-height:2.2857142857142856em;padding:4px;vertical-align:middle;width:auto;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;outline:none;margin:0 2px;background-color:transparent;}.css-b7sh1q::-moz-focus-inner,.css-b7sh1q:hover::-moz-focus-inner,.css-b7sh1q:active::-moz-focus-inner,.css-b7sh1q:focus::-moz-focus-inner,.css-b7sh1q:visited::-moz-focus-inner,.css-b7sh1q:disabled::-moz-focus-inner,.css-b7sh1q[disabled]::-moz-focus-inner{border:0;margin:0;padding:0;}.css-b7sh1q:hover,.css-b7sh1q:hover:hover,.css-b7sh1q:active:hover,.css-b7sh1q:focus:hover,.css-b7sh1q:visited:hover,.css-b7sh1q:disabled:hover,.css-b7sh1q[disabled]:hover{color:var(--ds-text-subtle, #0052CC);background-color:var(--ds-background-neutral-hovered, rgba(222, 235, 255, 0.9));}.css-b7sh1q:focus,.css-b7sh1q:hover:focus,.css-b7sh1q:active:focus,.css-b7sh1q:focus:focus,.css-b7sh1q:visited:focus,.css-b7sh1q:disabled:focus,.css-b7sh1q[disabled]:focus{color:var(--ds-text-subtle, #344563);background-color:var(--ds-background-selected-hovered, rgba(222, 235, 255, 0.5));box-shadow:0 0 0 2px var(--ds-border-focused, #2684FF);}.css-b7sh1q >span,.css-b7sh1q:hover >span,.css-b7sh1q:active >span,.css-b7sh1q:focus >span,.css-b7sh1q:visited >span,.css-b7sh1q:disabled >span,.css-b7sh1q[disabled] >span{margin:0;}</style><button class="css-b7sh1q" data-testid="app-switcher" type="button" tabindex="0"><style data-emotion="css 16j5qb5">.css-16j5qb5{opacity:1;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 2px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;font-size:0;line-height:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}</style><span class="css-16j5qb5"><style data-emotion="css snhnyn">.css-snhnyn{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;}.css-snhnyn >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-snhnyn >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-snhnyn >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}</style><span role="img" aria-label="Documentation" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-snhnyn"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path fill="currentColor" fill-rule="evenodd" d="M4 5.01C4 4.451 4.443 4 5.01 4h1.98C7.549 4 8 4.443 8 5.01v1.98C8 7.549 7.557 8 6.99 8H5.01C4.451 8 4 7.557 4 6.99V5.01zm0 6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98C8 13.549 7.557 14 6.99 14H5.01C4.451 14 4 13.557 4 12.99v-1.98zm6-6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98C14 7.549 13.557 8 12.99 8h-1.98C10.451 8 10 7.557 10 6.99V5.01zm0 6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98c0 .558-.443 1.01-1.01 1.01h-1.98c-.558 0-1.01-.443-1.01-1.01v-1.98zm6-6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98C20 7.549 19.557 8 18.99 8h-1.98C16.451 8 16 7.557 16 6.99V5.01zm0 6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98c0 .558-.443 1.01-1.01 1.01h-1.98c-.558 0-1.01-.443-1.01-1.01v-1.98zm-12 6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98C8 19.549 7.557 20 6.99 20H5.01C4.451 20 4 19.557 4 18.99v-1.98zm6 0c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98c0 .558-.443 1.01-1.01 1.01h-1.98c-.558 0-1.01-.443-1.01-1.01v-1.98zm6 0c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98c0 .558-.443 1.01-1.01 1.01h-1.98c-.558 0-1.01-.443-1.01-1.01v-1.98z"/></svg></span></span></button></div><style data-emotion-css="1qtw0hy">.css-1qtw0hy{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:4px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:none;border:0;border-radius:3px;color:inherit;cursor:pointer;}.css-1qtw0hy::-moz-focus-inner{border:0;}.css-1qtw0hy:first-of-type{margin-left:0;}.css-1qtw0hy:hover{background-color:var(--product-home-bg-color-hover);box-shadow:var(--product-home-box-shadow-hover);color:var(--product-home-color-hover);}.css-1qtw0hy:active{background-color:var(--product-home-bg-color-active);box-shadow:var(--product-home-box-shadow-active);color:var(--product-home-color-active);}.css-1qtw0hy:focus{background-color:var(--product-home-bg-color-focus);box-shadow:var(--product-home-box-shadow-focus);color:var(--product-home-color-focus);outline:0;}div.css-1qtw0hy{pointer-events:none;}@media (max-width:1279.9px){.css-1qtw0hy{margin:0 8px;}}@media (min-width:1280px){.css-1qtw0hy{margin:0 16px;}}</style><a style="--product-home-color-active:var(--ds-text-subtle, #0052CC);--product-home-bg-color-active:var(--ds-background-neutral-pressed, rgba(222, 235, 255, 0.7));--product-home-box-shadow-active:;--product-home-color-focus:var(--ds-text-subtle, #344563);--product-home-bg-color-focus:;--product-home-box-shadow-focus:0 0 0 2px var(--ds-border-focused, #2684FF);--product-home-color-hover:var(--ds-text-subtle, #0052CC);--product-home-bg-color-hover:var(--ds-background-neutral-hovered, rgba(222, 235, 255, 0.9));--product-home-box-shadow-hover:;--logo-max-width:260px" href="/" data-testid="navigation-container" class="css-1qtw0hy"><style data-emotion-css="3fth2k">.css-3fth2k{max-height:28px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-width:var(--logo-max-width);}.css-3fth2k > *{max-width:var(--logo-max-width);max-height:24px;}.css-3fth2k > span > svg{width:100%;}@media (max-width:1279.9px){.css-3fth2k{display:none;}}</style><div data-testid="navigation-logo" class="css-3fth2k"><svg width="261" height="25" viewBox="0 0 261 25" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="260.25" height="24" transform="translate(0 1)" fill="white" fill-opacity="0.01"></rect><path d="M5.3024 9.13208C5.03183 8.83445 4.62597 8.86149 4.43657 9.21323L0.0533155 18.0068C-0.109027 18.3586 0.134487 18.7644 0.513287 18.7644H6.6282C6.8176 18.7644 7.007 18.6562 7.08818 18.4668C8.44103 15.7611 7.62932 11.6213 5.3024 9.13208Z" fill="url(#paint0_linear)"></path><path d="M8.52267 1.15012C6.06047 5.04635 6.22281 9.34842 7.84624 12.5953C9.46967 15.8421 10.7143 18.3044 10.7955 18.4938C10.8766 18.6832 11.066 18.7914 11.2554 18.7914H17.3704C17.7492 18.7914 18.0197 18.3855 17.8303 18.0338C17.8303 18.0338 9.60495 1.58303 9.3885 1.17718C9.25321 0.771318 8.76618 0.771325 8.52267 1.15012Z" fill="#2684FF"></path><path d="M91.6158 14.4351C91.6158 11.8647 90.2359 10.6471 86.3937 9.80834C84.2562 9.34837 83.7422 8.86134 83.7422 8.18492C83.7422 7.34614 84.4998 6.96734 85.9067 6.96734C87.6113 6.96734 89.2889 7.48142 90.8852 8.21197V4.82982C89.7759 4.26162 88.0442 3.82869 86.015 3.82869C82.1999 3.82869 80.2247 5.47919 80.2247 8.21197C80.2247 10.3765 81.2258 12.1082 85.1762 12.8658C87.5301 13.3528 88.0172 13.7316 88.0172 14.5163C88.0172 15.2739 87.5301 15.7609 85.8526 15.7609C83.9315 15.7609 81.6317 15.1115 80.1436 14.2186V17.7631C81.3341 18.3584 82.9034 19.0078 85.8256 19.0078C89.9924 19.0078 91.6158 17.1679 91.6158 14.4351Z" fill="#0052CC"></path><path d="M133.256 4.04523V18.7643H136.395V7.53561L137.721 10.5119L142.158 18.7643H146.108V4.04523H142.97V13.5423L141.779 10.7825L138.208 4.04523H133.256Z" fill="#0052CC"></path><path d="M113.288 4.04523H109.851V18.7643H113.288V4.04523Z" fill="#0052CC"></path><path d="M105.901 14.4351C105.901 11.8647 104.522 10.6471 100.679 9.80834C98.5419 9.34837 98.0278 8.86134 98.0278 8.18492C98.0278 7.34614 98.7854 6.96734 100.192 6.96734C101.897 6.96734 103.575 7.48142 105.171 8.21197V4.82982C104.062 4.26162 102.33 3.82869 100.301 3.82869C96.4855 3.82869 94.5104 5.47919 94.5104 8.21197C94.5104 10.3765 95.5115 12.1082 99.4618 12.8658C101.816 13.3528 102.303 13.7316 102.303 14.5163C102.303 15.2739 101.816 15.7609 100.138 15.7609C98.2172 15.7609 95.9173 15.1115 94.4292 14.2186V17.7631C95.6197 18.3584 97.189 19.0078 100.111 19.0078C104.278 19.0078 105.901 17.1679 105.901 14.4351Z" fill="#0052CC"></path><path d="M53.5997 4.04523V18.7643H60.6616L61.771 15.5986H57.063V4.04523H53.5997Z" fill="#0052CC"></path><path d="M39.6926 4.0453V7.23806H43.5077V18.7644H46.9439V7.23806H51.0296V4.0453H39.6926Z" fill="#0052CC"></path><path d="M34.6874 4.04523H30.1688L25.028 18.7643H28.9512L29.6818 16.275C30.5476 16.5186 31.4676 16.6809 32.4416 16.6809C33.3886 16.6809 34.3086 16.5456 35.2014 16.275L35.932 18.7643H39.8553L34.6874 4.04523ZM32.4146 13.6505C31.7652 13.6505 31.1158 13.5423 30.5206 13.3799L32.4146 6.94033L34.3086 13.3799C33.7133 13.5423 33.0639 13.6505 32.4146 13.6505Z" fill="#0052CC"></path><path d="M72.8113 4.04521H68.2927L63.1519 18.7643H67.0751L67.8057 16.275C68.6715 16.5185 69.5915 16.6809 70.5655 16.6809C71.5125 16.6809 72.4325 16.5456 73.3253 16.275L74.0559 18.7643H77.9792L72.8113 4.04521ZM70.5655 13.6505C69.9161 13.6505 69.2668 13.5423 68.6715 13.3799L70.5655 6.94031L72.4595 13.3799C71.8372 13.5423 71.2149 13.6505 70.5655 13.6505Z" fill="#0052CC"></path><path d="M125.653 4.04521H121.135L115.994 18.7643H119.917L120.648 16.275C121.514 16.5185 122.433 16.6809 123.408 16.6809C124.355 16.6809 125.274 16.5456 126.167 16.275L126.898 18.7643H130.821L125.653 4.04521ZM123.38 13.6505C122.731 13.6505 122.082 13.5423 121.486 13.3799L123.38 6.94031L125.274 13.3799C124.679 13.5423 124.057 13.6505 123.38 13.6505Z" fill="#0052CC"></path><path d="M155.334 2.93684H161.151C166.292 2.93684 168.754 6.12959 168.754 10.8917C168.754 15.6808 166.238 18.7653 161.151 18.7653H155.334V2.93684ZM157.498 5.02023V16.7089H161.178C164.804 16.7089 166.59 14.8149 166.59 10.9728C166.59 7.13069 164.885 5.02023 161.043 5.02023H157.498Z" fill="#253858"></path><path d="M177.062 19.0079C172.57 19.0079 170.595 16.4104 170.595 12.7307C170.595 9.105 172.624 6.48046 176.277 6.48046C179.984 6.48046 181.472 9.05088 181.472 12.7307V13.6777H172.678C172.976 15.734 174.302 17.0598 177.143 17.0598C178.55 17.0598 179.713 16.7892 180.796 16.4104V18.3044C179.794 18.8185 178.279 19.0079 177.062 19.0079ZM172.651 11.8919H179.361C179.253 9.64615 178.225 8.37446 176.169 8.37446C173.977 8.37446 172.868 9.78143 172.651 11.8919Z" fill="#253858"></path><path d="M187.235 18.7644L182.554 6.72401H184.719L188.615 17.0057L192.484 6.72401H194.648L189.968 18.7644H187.235Z" fill="#253858"></path><path d="M201.737 19.0079C197.245 19.0079 195.27 16.4104 195.27 12.7307C195.27 9.105 197.299 6.48046 200.952 6.48046C204.659 6.48046 206.147 9.05088 206.147 12.7307V13.6777H197.354C197.651 15.734 198.977 17.0598 201.818 17.0598C203.225 17.0598 204.388 16.7892 205.471 16.4104V18.3044C204.497 18.8185 202.981 19.0079 201.737 19.0079ZM197.326 11.8919H204.037C203.928 9.64615 202.9 8.37446 200.844 8.37446C198.652 8.37446 197.543 9.78143 197.326 11.8919Z" fill="#253858"></path><path d="M211.829 18.8456C209.854 18.8456 208.61 17.8986 208.61 15.6799V1.69136H210.693V15.4364C210.693 16.5187 211.424 16.8975 212.316 16.8975C212.533 16.8975 212.668 16.8975 212.912 16.8704V18.7374C212.722 18.7915 212.371 18.8456 211.829 18.8456Z" fill="#253858"></path><path d="M214.049 12.7307C214.049 9.105 216.159 6.48046 219.785 6.48046C223.384 6.48046 225.467 9.105 225.467 12.7307C225.467 16.3563 223.384 19.0079 219.785 19.0079C216.159 19.0079 214.049 16.3293 214.049 12.7307ZM216.078 12.7307C216.078 15.0305 217.215 17.0869 219.785 17.0869C222.328 17.0869 223.438 15.0035 223.438 12.7307C223.438 10.4308 222.328 8.42856 219.785 8.42856C217.215 8.40151 216.078 10.4308 216.078 12.7307Z" fill="#253858"></path><path d="M229.931 16.6539V23.4724H227.848V6.72398H229.931V8.88855C230.689 7.29218 232.15 6.48046 233.99 6.48046C237.183 6.48046 238.806 9.21323 238.806 12.7307C238.806 16.1399 237.129 18.9809 233.746 18.9809C232.015 19.0079 230.662 18.2233 229.931 16.6539ZM233.449 8.40151C231.582 8.40151 229.931 9.59205 229.931 12.2436V13.2177C229.931 15.8964 231.447 17.0598 233.205 17.0598C235.532 17.0598 236.75 15.5175 236.75 12.7307C236.75 9.8626 235.613 8.40151 233.449 8.40151Z" fill="#253858"></path><path d="M247.004 19.0079C242.512 19.0079 240.537 16.4104 240.537 12.7307C240.537 9.105 242.566 6.48046 246.219 6.48046C249.926 6.48046 251.414 9.05088 251.414 12.7307V13.6777H242.62C242.918 15.734 244.244 17.0598 247.085 17.0598C248.492 17.0598 249.655 16.7892 250.737 16.4104V18.3044C249.736 18.8185 248.221 19.0079 247.004 19.0079ZM242.593 11.8919H249.303C249.195 9.64615 248.167 8.37446 246.111 8.37446C243.919 8.37446 242.81 9.78143 242.593 11.8919Z" fill="#253858"></path><path d="M255.878 18.7645H253.848V6.7241H255.878V8.83454C256.581 7.40051 257.772 6.39939 260.153 6.53468V8.56396C257.501 8.29339 255.878 9.10511 255.878 11.6485V18.7645Z" fill="#253858"></path><defs><linearGradient id="paint0_linear" x1="7.72023" y1="10.4927" x2="3.08501" y2="18.5211" gradientUnits="userSpaceOnUse"><stop stop-color="#0052CC"></stop><stop offset="0.9228" stop-color="#2684FF"></stop></linearGradient></defs></svg></div><style data-emotion-css="15lsza2">.css-15lsza2{max-height:28px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.css-15lsza2 > *{max-height:24px;}@media (min-width:1280px){.css-15lsza2{display:none;}}</style><div data-testid="navigation-icon" class="css-15lsza2"><style data-emotion="css 1hj8rln">.css-1hj8rln{display:inline-block;position:relative;color:var(--logo-color);fill:var(--logo-fill);line-height:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:normal;height:32px;}.css-1hj8rln >svg{height:100%;fill:inherit;}.css-1hj8rln stop{stop-color:currentColor;}</style><span style="--logo-color:#2684FF;--logo-fill:currentColor" aria-label="Atlassian" role="img" class="css-1hj8rln"><svg fill="none" height="32" viewBox="0 0 32 32" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"> <path fill="#2684FF" d="M27.545 24.378 16.96 3.208c-.208-.458-.417-.541-.667-.541-.208 0-.458.083-.708.5-1.5 2.375-2.167 5.125-2.167 8 0 4.001 2.042 7.752 5.042 13.795.334.666.584.791 1.167.791h7.335c.541 0 .833-.208.833-.625 0-.208-.042-.333-.25-.75M12.168 14.377c-.834-1.25-1.084-1.334-1.292-1.334s-.333.083-.708.834L4.875 24.46c-.167.334-.208.459-.208.625 0 .334.291.667.916.667h7.46c.5 0 .875-.416 1.083-1.208.25-1 .334-1.876.334-2.917 0-2.917-1.292-5.751-2.292-7.251"/> </svg></span></div></a><style data-emotion-css="sufdiy">.css-sufdiy{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:4px;margin-left:4px;padding-right:16px;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}</style><div style="border-right:1px solid var(--ds-border, rgba(107, 119, 140, 0.3))" data-testid="navigation-site-title" class="css-sufdiy">Forge</div><style data-emotion-css="uiquy5">.css-uiquy5{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;position:relative;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-uiquy5 > *{margin:0 4px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}</style><div class="css-uiquy5"><style data-emotion-css="le7mka">.css-le7mka{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;position:relative;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}</style><div style="--button-selected-color:var(--ds-text-selected, #0052CC);--button-selected-border-color:var(--ds-border-selected, #0052CC)" class="css-le7mka"><style data-emotion="css 4mgr5f">.css-4mgr5f,.css-4mgr5f:hover,.css-4mgr5f:active,.css-4mgr5f:focus,.css-4mgr5f:visited,.css-4mgr5f:disabled,.css-4mgr5f[disabled]{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;border-radius:3px;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-family:inherit;font-weight:500;max-width:100%;position:relative;text-align:center;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);white-space:nowrap;background:var(--ds-background-brand-bold, #0052CC);color:var(--ds-text-subtle, #344563);cursor:pointer;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 4px;vertical-align:middle;width:auto;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;outline:none;background-color:transparent;margin-left:0;margin-right:0;}.css-4mgr5f::-moz-focus-inner,.css-4mgr5f:hover::-moz-focus-inner,.css-4mgr5f:active::-moz-focus-inner,.css-4mgr5f:focus::-moz-focus-inner,.css-4mgr5f:visited::-moz-focus-inner,.css-4mgr5f:disabled::-moz-focus-inner,.css-4mgr5f[disabled]::-moz-focus-inner{border:0;margin:0;padding:0;}.css-4mgr5f:hover,.css-4mgr5f:hover:hover,.css-4mgr5f:active:hover,.css-4mgr5f:focus:hover,.css-4mgr5f:visited:hover,.css-4mgr5f:disabled:hover,.css-4mgr5f[disabled]:hover{color:var(--ds-text-subtle, #0052CC);background-color:var(--ds-background-neutral-hovered, rgba(222, 235, 255, 0.9));}.css-4mgr5f:focus,.css-4mgr5f:hover:focus,.css-4mgr5f:active:focus,.css-4mgr5f:focus:focus,.css-4mgr5f:visited:focus,.css-4mgr5f:disabled:focus,.css-4mgr5f[disabled]:focus{color:var(--ds-text-subtle, #344563);box-shadow:0 0 0 2px var(--ds-border-focused, #2684FF);}</style><a class="css-4mgr5f" href="/platform/forge/" data-testid="Guides" tabindex="0"><style data-emotion="css 178ag6o">.css-178ag6o{opacity:1;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;margin:0 2px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}</style><span class="css-178ag6o">Guides</span></a></div><div style="--button-selected-color:var(--ds-text-selected, #0052CC);--button-selected-border-color:var(--ds-border-selected, #0052CC)" class="css-le7mka"><style data-emotion="css 4mgr5f">.css-4mgr5f,.css-4mgr5f:hover,.css-4mgr5f:active,.css-4mgr5f:focus,.css-4mgr5f:visited,.css-4mgr5f:disabled,.css-4mgr5f[disabled]{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;border-radius:3px;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-family:inherit;font-weight:500;max-width:100%;position:relative;text-align:center;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);white-space:nowrap;background:var(--ds-background-brand-bold, #0052CC);color:var(--ds-text-subtle, #344563);cursor:pointer;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 4px;vertical-align:middle;width:auto;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;outline:none;background-color:transparent;margin-left:0;margin-right:0;}.css-4mgr5f::-moz-focus-inner,.css-4mgr5f:hover::-moz-focus-inner,.css-4mgr5f:active::-moz-focus-inner,.css-4mgr5f:focus::-moz-focus-inner,.css-4mgr5f:visited::-moz-focus-inner,.css-4mgr5f:disabled::-moz-focus-inner,.css-4mgr5f[disabled]::-moz-focus-inner{border:0;margin:0;padding:0;}.css-4mgr5f:hover,.css-4mgr5f:hover:hover,.css-4mgr5f:active:hover,.css-4mgr5f:focus:hover,.css-4mgr5f:visited:hover,.css-4mgr5f:disabled:hover,.css-4mgr5f[disabled]:hover{color:var(--ds-text-subtle, #0052CC);background-color:var(--ds-background-neutral-hovered, rgba(222, 235, 255, 0.9));}.css-4mgr5f:focus,.css-4mgr5f:hover:focus,.css-4mgr5f:active:focus,.css-4mgr5f:focus:focus,.css-4mgr5f:visited:focus,.css-4mgr5f:disabled:focus,.css-4mgr5f[disabled]:focus{color:var(--ds-text-subtle, #344563);box-shadow:0 0 0 2px var(--ds-border-focused, #2684FF);}</style><a class="css-4mgr5f" href="/platform/forge/manifest-reference/" data-testid="Reference" tabindex="0"><style data-emotion="css 178ag6o">.css-178ag6o{opacity:1;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;margin:0 2px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}</style><span class="css-178ag6o">Reference</span></a></div><div style="--button-selected-color:var(--ds-text-selected, #0052CC);--button-selected-border-color:var(--ds-border-selected, #0052CC)" class="css-le7mka"><style data-emotion="css 4mgr5f">.css-4mgr5f,.css-4mgr5f:hover,.css-4mgr5f:active,.css-4mgr5f:focus,.css-4mgr5f:visited,.css-4mgr5f:disabled,.css-4mgr5f[disabled]{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;border-radius:3px;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-family:inherit;font-weight:500;max-width:100%;position:relative;text-align:center;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);white-space:nowrap;background:var(--ds-background-brand-bold, #0052CC);color:var(--ds-text-subtle, #344563);cursor:pointer;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 4px;vertical-align:middle;width:auto;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;outline:none;background-color:transparent;margin-left:0;margin-right:0;}.css-4mgr5f::-moz-focus-inner,.css-4mgr5f:hover::-moz-focus-inner,.css-4mgr5f:active::-moz-focus-inner,.css-4mgr5f:focus::-moz-focus-inner,.css-4mgr5f:visited::-moz-focus-inner,.css-4mgr5f:disabled::-moz-focus-inner,.css-4mgr5f[disabled]::-moz-focus-inner{border:0;margin:0;padding:0;}.css-4mgr5f:hover,.css-4mgr5f:hover:hover,.css-4mgr5f:active:hover,.css-4mgr5f:focus:hover,.css-4mgr5f:visited:hover,.css-4mgr5f:disabled:hover,.css-4mgr5f[disabled]:hover{color:var(--ds-text-subtle, #0052CC);background-color:var(--ds-background-neutral-hovered, rgba(222, 235, 255, 0.9));}.css-4mgr5f:focus,.css-4mgr5f:hover:focus,.css-4mgr5f:active:focus,.css-4mgr5f:focus:focus,.css-4mgr5f:visited:focus,.css-4mgr5f:disabled:focus,.css-4mgr5f[disabled]:focus{color:var(--ds-text-subtle, #344563);box-shadow:0 0 0 2px var(--ds-border-focused, #2684FF);}</style><a class="css-4mgr5f" href="/platform/forge/get-help/" data-testid="Get help" tabindex="0"><style data-emotion="css 178ag6o">.css-178ag6o{opacity:1;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;margin:0 2px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}</style><span class="css-178ag6o">Get help</span></a></div><div style="--button-selected-color:var(--ds-text-selected, #0052CC);--button-selected-border-color:var(--ds-border-selected, #0052CC)" class="css-le7mka"><style data-emotion="css 4mgr5f">.css-4mgr5f,.css-4mgr5f:hover,.css-4mgr5f:active,.css-4mgr5f:focus,.css-4mgr5f:visited,.css-4mgr5f:disabled,.css-4mgr5f[disabled]{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;border-radius:3px;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-family:inherit;font-weight:500;max-width:100%;position:relative;text-align:center;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);white-space:nowrap;background:var(--ds-background-brand-bold, #0052CC);color:var(--ds-text-subtle, #344563);cursor:pointer;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 4px;vertical-align:middle;width:auto;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;outline:none;background-color:transparent;margin-left:0;margin-right:0;}.css-4mgr5f::-moz-focus-inner,.css-4mgr5f:hover::-moz-focus-inner,.css-4mgr5f:active::-moz-focus-inner,.css-4mgr5f:focus::-moz-focus-inner,.css-4mgr5f:visited::-moz-focus-inner,.css-4mgr5f:disabled::-moz-focus-inner,.css-4mgr5f[disabled]::-moz-focus-inner{border:0;margin:0;padding:0;}.css-4mgr5f:hover,.css-4mgr5f:hover:hover,.css-4mgr5f:active:hover,.css-4mgr5f:focus:hover,.css-4mgr5f:visited:hover,.css-4mgr5f:disabled:hover,.css-4mgr5f[disabled]:hover{color:var(--ds-text-subtle, #0052CC);background-color:var(--ds-background-neutral-hovered, rgba(222, 235, 255, 0.9));}.css-4mgr5f:focus,.css-4mgr5f:hover:focus,.css-4mgr5f:active:focus,.css-4mgr5f:focus:focus,.css-4mgr5f:visited:focus,.css-4mgr5f:disabled:focus,.css-4mgr5f[disabled]:focus{color:var(--ds-text-subtle, #344563);box-shadow:0 0 0 2px var(--ds-border-focused, #2684FF);}</style><a class="css-4mgr5f" href="/platform/forge/changelog/" data-testid="Changelog" tabindex="0"><style data-emotion="css 178ag6o">.css-178ag6o{opacity:1;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;margin:0 2px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}</style><span class="css-178ag6o">Changelog</span></a></div><style data-emotion-css="1ozpmrm">.css-1ozpmrm{width:100%;min-width:1px;margin:0px;position:relative;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;}</style><div class="css-1ozpmrm"><div style="display:block;width:100%;position:absolute"></div></div></div></nav><style data-emotion-css="d4blq8">.css-d4blq8{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}.css-d4blq8 > *{margin-right:4px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}</style><div class="css-d4blq8"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="16" height="16" viewBox="0 0 24 24" role="presentation"><path d="M16.436 15.085l3.94 4.01a1 1 0 01-1.425 1.402l-3.938-4.006a7.5 7.5 0 111.423-1.406zM10.5 16a5.5 5.5 0 100-11 5.5 5.5 0 000 11z" fill="currentColor" fill-rule="evenodd"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button><div class="sc-eNPDpu iARtDw"></div><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/support" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf">Support</span></span></a><style data-emotion-css="9b4v41">a.css-9b4v41{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:rgba(9,30,66,0.04);border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-9b4v41::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-9b4v41:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/account/login?returnTo=%2Fplatform%2Fforge%2F" type="button" class="css-9b4v41"><span class="css-j8fq0c"><span class="css-t5emrf">Log in</span></span></a></div></header></div></div><div class="sc-gVZiCL BlNLE sc-hBcjXN iLnIWi"><div class="sc-jBoNkH eGFUop"><nav class="sc-fPbjcq fdZVrh"><ul class="sc-jgVwMx ixXsyz sc-dBfaGr hMVyQH"><li class="sc-eQGPmX ebjqXf"><div class="sc-hMjcWo jOJzhX"><style data-emotion-css="1pys61m">a.css-1pys61m{-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-width:0;box-sizing:border-box;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:inherit;font-style:normal;font-weight:500;max-width:100%;outline:none !important;text-align:center;-webkit-text-decoration:none;text-decoration:none;white-space:nowrap;background:none;border-radius:3px;box-shadow:0 0 0 2px inherit;color:#42526E !important;cursor:default;height:2.2857142857142856em;line-height:2.2857142857142856em;padding:0 8px;-webkit-transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);transition:background 0.1s ease-out,box-shadow 0.15s cubic-bezier(0.47,0.03,0.49,1.38);-webkit-transition-duration:0.1s,0.15s;transition-duration:0.1s,0.15s;vertical-align:middle;width:auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;}a.css-1pys61m::-moz-focus-inner{border:0;margin:0;padding:0;}a.css-1pys61m:hover{-webkit-text-decoration:inherit;text-decoration:inherit;}</style><a href="/platform/forge/" type="button" class="css-1pys61m"><style data-emotion-css="j8fq0c">.css-j8fq0c{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-width:100%;position:relative;}</style><span class="css-j8fq0c"><style data-emotion-css="t5emrf">.css-t5emrf{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin:0 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;opacity:1;}</style><span class="css-t5emrf"><span class="sc-dAOnuy gupbxx">About Forge</span></span></span></a></div></li></ul><ul class="sc-dBfaGr hMVyQH"><li class="sc-jGFFOr iJfdrZ"><div class="sc-hZeNU dZmoXu">Get started</div><style data-emotion="css 1dlapeh">.css-1dlapeh{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:static;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:auto;}</style><div class="css-1dlapeh"><ul class="sc-cSYcjD EsMfL"><style data-emotion="css 8zknns">.css-8zknns{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;}</style><div class="css-8zknns"><style data-emotion="css lzie5a 1cy6ofv 5mekwu">.css-lzie5a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;min-height:var(--ds-scale-500, 40px);margin:var(--ds-scale-0, 0px);padding:var(--ds-scale-100, 8px) var(--ds-scale-250, 20px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;font-size:14px;outline:0;-webkit-text-decoration:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;color:currentColor;cursor:pointer;}.css-lzie5a::-moz-focus-inner{border:0;}.css-lzie5a:hover{-webkit-text-decoration:none;text-decoration:none;}.css-lzie5a:visited{color:currentColor;}.css-lzie5a:hover{background-color:var(--ds-background-neutral-subtle-hovered, #F4F5F7);color:currentColor;}.css-lzie5a:active{background-color:var(--ds-background-neutral-subtle-pressed, #EBECF0);box-shadow:none;color:currentColor;}.css-1cy6ofv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;min-height:var(--ds-scale-500, 40px);margin:var(--ds-scale-0, 0px);padding:var(--ds-scale-100, 8px) var(--ds-scale-250, 20px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;font-size:14px;outline:0;-webkit-text-decoration:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;color:currentColor;cursor:pointer;}.css-1cy6ofv::-moz-focus-inner{border:0;}.css-1cy6ofv:hover{-webkit-text-decoration:none;text-decoration:none;}.css-1cy6ofv:visited{color:currentColor;}.css-1cy6ofv:hover{background-color:var(--ds-background-neutral-subtle-hovered, #F4F5F7);color:currentColor;}.css-1cy6ofv:active{background-color:var(--ds-background-neutral-subtle-pressed, #EBECF0);box-shadow:none;color:currentColor;}.css-5mekwu{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}</style><style data-emotion="css 38t7l3 vbpl3">.css-38t7l3:focus{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-38t7l3:focus-visible{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-38t7l3:focus:not(:focus-visible){outline:none;}@media screen and (forced-colors: active),screen and (-ms-high-contrast: active){.css-38t7l3:focus-visible{outline:1px solid;outline-offset:-1px;}}.css-vbpl3{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;min-height:var(--ds-scale-500, 40px);margin:var(--ds-scale-0, 0px);padding:var(--ds-scale-100, 8px) var(--ds-scale-250, 20px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;font-size:14px;outline:0;-webkit-text-decoration:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;color:currentColor;cursor:pointer;}.css-vbpl3:focus{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-vbpl3:focus-visible{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-vbpl3:focus:not(:focus-visible){outline:none;}@media screen and (forced-colors: active),screen and (-ms-high-contrast: active){.css-vbpl3:focus-visible{outline:1px solid;outline-offset:-1px;}}.css-vbpl3::-moz-focus-inner{border:0;}.css-vbpl3:hover{-webkit-text-decoration:none;text-decoration:none;}.css-vbpl3:visited{color:currentColor;}.css-vbpl3:hover{background-color:var(--ds-background-neutral-subtle-hovered, #F4F5F7);color:currentColor;}.css-vbpl3:active{background-color:var(--ds-background-neutral-subtle-pressed, #EBECF0);box-shadow:none;color:currentColor;}</style><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><style data-emotion="css fdr7fn">.css-fdr7fn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:var(--ds-scale-150, 12px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}</style><span data-item-elem-before="true" class="css-fdr7fn"><style data-emotion="css 3zleef">.css-3zleef{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;text-align:center;-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none;}</style><div class="css-3zleef"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><style data-emotion="css 1gly9cj">.css-1gly9cj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;line-height:1.22;outline:none;overflow:hidden;text-align:left;}</style><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><style data-emotion="css 1mgvn46">.css-1mgvn46{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;font-size:14px;line-height:20px;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;white-space:normal;color:var(--ds-text-subtle, #42526E);}</style><div class="css-1mgvn46">Introduction to Forge</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/introduction/the-forge-platform/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><style data-emotion="css jv18ke">.css-jv18ke{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;white-space:normal;overflow:visible;color:var(--ds-text-subtle, #42526E);word-wrap:break-word;text-align:left;box-sizing:border-box;overflow-wrap:break-word;font-size:14px;font-weight:400;line-height:20px;}</style><div class="css-jv18ke">The Forge platform</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/introduction/why-build-with-forge/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Why build with Forge</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Migrate your Connect app</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="https://developer.atlassian.com/platform/adopting-forge-from-connect/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Adopting Forge from Connect</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Learn</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><div class="css-8zknns"><button class="sc-gjAXCV hiBcEo css-vbpl3" leftPaddingSize="1" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Example apps</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/example-apps-bitbucket/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Bitbucket</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/example-apps-compass/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Compass</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/example-apps-confluence/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Confluence</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/example-apps-jira/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Jira</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/example-apps-jsm/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Jira Service Management</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/example-apps-rovo/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Rovo</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV hiBcEo css-vbpl3" leftPaddingSize="1" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Guided tutorials</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/tutorials-and-guides/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Overview</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/forge-compass-cloudwatch/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Forge, Compass, and AWS CloudWatch</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/add-scheduled-trigger/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Schedule web triggers</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/debug-functions-using-intellij/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Debug functions using IntelliJ</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/debug-functions-using-vscode/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Debug functions using VS Code</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/profiling-node-js-app-code-tunnel/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Profile app performance with tunnel debugger</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/implement-a-dynamic-profile-retriever-with-external-authentication/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Implement a dynamic profile retriever</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="https://developer.atlassian.com/platform/adopting-forge-from-connect/migrate-macro" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Migrate an app from Connect to Forge</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/ui-kit/migration-example/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Migrate an app from UI Kit 1 to UI Kit</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/set-up-cicd/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Set up continuous delivery</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/storage-api-limit-handling/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Queue app interactions with Storage API</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/use-a-long-running-function" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Use a long-running function</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/custom-entities-store-structured-data/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Use custom entities to store structured data</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/use-an-external-oauth-2.0-api-with-fetch/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Use an external OAuth 2.0 API with fetch</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/add-routing-to-a-full-page-app/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Add routing to a full-page app in Jira</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/create-confluence-macro-with-storage-api" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Use the storage API in Confluence</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/add-custom-configuration-to-a-macro" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Add custom configuration to a macro</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/using-rich-text-bodied-macros" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Using rich body macros</div></span></span></a><div class="css-8zknns"><button class="sc-gjAXCV jjvRrZ css-vbpl3" leftPaddingSize="2" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Rovo</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/extend-atlassian-products-with-a-forge-rovo-agent/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Extend Atlassian products with a Forge Rovo agent</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/build-a-hello-world-rovo-agent/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Build a Rovo Agent app</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/build-a-q-and-a-rovo-agent-for-confluence" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Build a Q&amp;A Rovo Agent for Confluence</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/build-a-jira-issue-analyst-rovo-agent" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Build a Jira issue analyst Rovo Agent</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV jjvRrZ css-vbpl3" leftPaddingSize="2" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Jira</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/build-a-hello-world-app-in-jira/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Build a hello world app in Jira</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/automate-jira-using-triggers/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Automate Jira with triggers</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/build-jira-comments-summarizer-with-openai/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Build a Jira comments summarizer app with OpenAI</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/check-jira-issues-assigned-using-workflow-validator/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Use a workflow validator to check issue assignments</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/build-a-custom-ui-app-in-jira/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Build a custom UI app</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV jjvRrZ css-vbpl3" leftPaddingSize="2" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Jira Service Management</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/build-a-hello-world-app-in-jira-service-management/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Build a hello world app in Jira Service Management</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/assets-import-app/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Import third party data into Assets</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/queue-events-with-async-events-api-to-import-assets/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Use Async Events API to queue jobs to import objects into Assets</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/build-a-custom-ui-app-in-jira-service-management/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Build a custom UI app</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV jjvRrZ css-vbpl3" leftPaddingSize="2" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Confluence</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/build-a-hello-world-app-in-confluence/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Build a hello world app in Confluence</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/create-a-question-generator-app-in-multiple-languages-using-i18n/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Create a question generator app in multiple languages using i18n</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/create-a-quiz-app-using-ui-kit/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Create a quiz app using UI Kit</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/add-configuration-to-a-macro-with-ui-kit/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Add configuration to a macro with UI Kit</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/ui-kit/components/frame-tutorial/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Create a logo designer app using the Frame component (Preview)</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/space-news/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Use space settings and content byline to implement space news</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/macros-in-the-page/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Use content actions to count page macros</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/build-a-custom-ui-app-in-confluence/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Build a Custom UI app</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/build-confluence-keyword-extractor-with-openai/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Build a Confluence keyword extractor with OpenAI</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/create-confluence-contextmenu-module/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Use highlighted text in a Confluence app</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/create-a-giphy-app-using-the-ui-kit/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Create a GIPHY app using UI kit on Confluence</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV jjvRrZ css-vbpl3" leftPaddingSize="2" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Bitbucket</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/extend-bitbucket-cloud/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Extend Bitbucket Cloud</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/build-a-hello-world-app-in-bitbucket/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Build a hello world app in Bitbucket</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/automate-bitbucket-using-triggers/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Automate Bitbucket with triggers</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/build-a-pull-request-title-validator-with-custom-merge-checks/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Build a pull request title validator with custom merge checks</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/orchestrate-your-builds-using-dynamic-pipelines/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Orchestrate your builds using Dynamic Pipelines</div></span></span></a></ul></ul><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="https://developer.atlassian.com/developer-guide/glossary/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Atlassian developer glossary</div></span></span></a></ul></ul></div></li><li class="sc-jGFFOr iJfdrZ"><div class="sc-hZeNU dZmoXu">Plan &amp; design</div><style data-emotion="css 1dlapeh">.css-1dlapeh{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:static;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:auto;}</style><div class="css-1dlapeh"><ul class="sc-cSYcjD EsMfL"><style data-emotion="css 8zknns">.css-8zknns{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;}</style><div class="css-8zknns"><style data-emotion="css lzie5a 1cy6ofv 5mekwu">.css-lzie5a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;min-height:var(--ds-scale-500, 40px);margin:var(--ds-scale-0, 0px);padding:var(--ds-scale-100, 8px) var(--ds-scale-250, 20px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;font-size:14px;outline:0;-webkit-text-decoration:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;color:currentColor;cursor:pointer;}.css-lzie5a::-moz-focus-inner{border:0;}.css-lzie5a:hover{-webkit-text-decoration:none;text-decoration:none;}.css-lzie5a:visited{color:currentColor;}.css-lzie5a:hover{background-color:var(--ds-background-neutral-subtle-hovered, #F4F5F7);color:currentColor;}.css-lzie5a:active{background-color:var(--ds-background-neutral-subtle-pressed, #EBECF0);box-shadow:none;color:currentColor;}.css-1cy6ofv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;min-height:var(--ds-scale-500, 40px);margin:var(--ds-scale-0, 0px);padding:var(--ds-scale-100, 8px) var(--ds-scale-250, 20px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;font-size:14px;outline:0;-webkit-text-decoration:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;color:currentColor;cursor:pointer;}.css-1cy6ofv::-moz-focus-inner{border:0;}.css-1cy6ofv:hover{-webkit-text-decoration:none;text-decoration:none;}.css-1cy6ofv:visited{color:currentColor;}.css-1cy6ofv:hover{background-color:var(--ds-background-neutral-subtle-hovered, #F4F5F7);color:currentColor;}.css-1cy6ofv:active{background-color:var(--ds-background-neutral-subtle-pressed, #EBECF0);box-shadow:none;color:currentColor;}.css-5mekwu{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}</style><style data-emotion="css 38t7l3 vbpl3">.css-38t7l3:focus{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-38t7l3:focus-visible{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-38t7l3:focus:not(:focus-visible){outline:none;}@media screen and (forced-colors: active),screen and (-ms-high-contrast: active){.css-38t7l3:focus-visible{outline:1px solid;outline-offset:-1px;}}.css-vbpl3{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;min-height:var(--ds-scale-500, 40px);margin:var(--ds-scale-0, 0px);padding:var(--ds-scale-100, 8px) var(--ds-scale-250, 20px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;font-size:14px;outline:0;-webkit-text-decoration:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;color:currentColor;cursor:pointer;}.css-vbpl3:focus{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-vbpl3:focus-visible{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-vbpl3:focus:not(:focus-visible){outline:none;}@media screen and (forced-colors: active),screen and (-ms-high-contrast: active){.css-vbpl3:focus-visible{outline:1px solid;outline-offset:-1px;}}.css-vbpl3::-moz-focus-inner{border:0;}.css-vbpl3:hover{-webkit-text-decoration:none;text-decoration:none;}.css-vbpl3:visited{color:currentColor;}.css-vbpl3:hover{background-color:var(--ds-background-neutral-subtle-hovered, #F4F5F7);color:currentColor;}.css-vbpl3:active{background-color:var(--ds-background-neutral-subtle-pressed, #EBECF0);box-shadow:none;color:currentColor;}</style><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><style data-emotion="css fdr7fn">.css-fdr7fn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:var(--ds-scale-150, 12px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}</style><span data-item-elem-before="true" class="css-fdr7fn"><style data-emotion="css 3zleef">.css-3zleef{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;text-align:center;-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none;}</style><div class="css-3zleef"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><style data-emotion="css 1gly9cj">.css-1gly9cj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;line-height:1.22;outline:none;overflow:hidden;text-align:left;}</style><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><style data-emotion="css 1mgvn46">.css-1mgvn46{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;font-size:14px;line-height:20px;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;white-space:normal;color:var(--ds-text-subtle, #42526E);}</style><div class="css-1mgvn46">App architecture</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/events/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><style data-emotion="css jv18ke">.css-jv18ke{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;white-space:normal;overflow:visible;color:var(--ds-text-subtle, #42526E);word-wrap:break-word;text-align:left;box-sizing:border-box;overflow-wrap:break-word;font-size:14px;font-weight:400;line-height:20px;}</style><div class="css-jv18ke">Events and triggers</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/storage/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Hosted storage</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/storage-reference/hosted-storage-data-lifecycle/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Hosted storage data lifecycle</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/manifest/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Manifest</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/modules/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Modules</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Platform quotas and limits</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/platform-quotas-and-limits/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Overview</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">User interface</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/user-interface/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Overview</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/ui-kit/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Build with UI Kit</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/extend-ui-with-custom-options/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Extend UI with custom options</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/design-tokens-and-theming/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Design tokens and theming</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/internationalization/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Internationalization</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/understanding-ui-modifications/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Understanding the UI modifications module</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/jira-full-page-modules/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Jira full page modules</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><style data-emotion="css 1fpc7od">.css-1fpc7od{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;text-align:center;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}</style><div class="css-1fpc7od"><span role="img" aria-label="close" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Legal &amp; privacy</div></span></span></button></div><ul class="sc-cSYcjD EsMfL"><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/developer-terms/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Forge terms of use</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/shared-responsibility-model/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Shared responsibility model</div></span></span></a><style data-emotion="css 15wxdop 1r33r0e 5mekwu">.css-15wxdop{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;min-height:var(--ds-scale-500, 40px);margin:var(--ds-scale-0, 0px);padding:var(--ds-scale-100, 8px) var(--ds-scale-250, 20px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;font-size:14px;outline:0;-webkit-text-decoration:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:var(--ds-background-selected, #F4F5F7);color:var(--ds-text-selected, currentColor);cursor:pointer;}.css-15wxdop::-moz-focus-inner{border:0;}.css-15wxdop:hover{-webkit-text-decoration:none;text-decoration:none;}.css-15wxdop:visited{color:var(--ds-text-selected, currentColor);}.css-15wxdop:hover{background-color:var(--ds-background-selected-hovered, #F4F5F7);color:var(--ds-text-selected, currentColor);}.css-15wxdop:active{background-color:var(--ds-background-selected-pressed, #EBECF0);color:var(--ds-text-selected, currentColor);}.css-1r33r0e{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;min-height:var(--ds-scale-500, 40px);margin:var(--ds-scale-0, 0px);padding:var(--ds-scale-100, 8px) var(--ds-scale-250, 20px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;font-size:14px;outline:0;-webkit-text-decoration:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:var(--ds-background-selected, #F4F5F7);color:var(--ds-text-selected, currentColor);cursor:pointer;}.css-1r33r0e::-moz-focus-inner{border:0;}.css-1r33r0e:hover{-webkit-text-decoration:none;text-decoration:none;}.css-1r33r0e:visited{color:var(--ds-text-selected, currentColor);}.css-1r33r0e:hover{background-color:var(--ds-background-selected-hovered, #F4F5F7);color:var(--ds-text-selected, currentColor);}.css-1r33r0e:active{background-color:var(--ds-background-selected-pressed, #EBECF0);color:var(--ds-text-selected, currentColor);}</style><style data-emotion="css 38t7l3 h3wgus">.css-h3wgus{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;min-height:var(--ds-scale-500, 40px);margin:var(--ds-scale-0, 0px);padding:var(--ds-scale-100, 8px) var(--ds-scale-250, 20px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;font-size:14px;outline:0;-webkit-text-decoration:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:var(--ds-background-selected, #F4F5F7);color:var(--ds-text-selected, currentColor);cursor:pointer;}.css-h3wgus:focus{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-h3wgus:focus-visible{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-h3wgus:focus:not(:focus-visible){outline:none;}@media screen and (forced-colors: active),screen and (-ms-high-contrast: active){.css-h3wgus:focus-visible{outline:1px solid;outline-offset:-1px;}}.css-h3wgus::-moz-focus-inner{border:0;}.css-h3wgus:hover{-webkit-text-decoration:none;text-decoration:none;}.css-h3wgus:visited{color:var(--ds-text-selected, currentColor);}.css-h3wgus:hover{background-color:var(--ds-background-selected-hovered, #F4F5F7);color:var(--ds-text-selected, currentColor);}.css-h3wgus:active{background-color:var(--ds-background-selected-pressed, #EBECF0);color:var(--ds-text-selected, currentColor);}</style><a class="sc-dOkuiw kFokHU css-h3wgus" leftPaddingSize="1" href="/platform/forge/faq-privacy-security/" draggable="false" aria-current="page" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><style data-emotion="css 5f0sa">.css-5f0sa{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;white-space:normal;overflow:visible;color:var(--ds-text-selected, #0052CC);word-wrap:break-word;text-align:left;box-sizing:border-box;overflow-wrap:break-word;font-size:14px;font-weight:400;line-height:20px;}</style><div class="css-5f0sa">Forge privacy and security FAQ</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/user-privacy-guidelines/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">User privacy guide</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/about-the-forge-data-processing-addendum/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Forge Data Processing Addendum</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/logging-guidelines/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Logging data</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Best practice</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/security/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">App security</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">App distribution</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/staging-and-production-apps/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Promote an app from staging to production</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/distribute-your-apps/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Distribute via console</div></span></span></a></ul></ul></div></li><li class="sc-jGFFOr iJfdrZ"><div class="sc-hZeNU dZmoXu">Build</div><style data-emotion="css 1dlapeh">.css-1dlapeh{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:static;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:auto;}</style><div class="css-1dlapeh"><ul class="sc-cSYcjD EsMfL"><style data-emotion="css 8zknns">.css-8zknns{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;}</style><div class="css-8zknns"><style data-emotion="css lzie5a 1cy6ofv 5mekwu">.css-lzie5a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;min-height:var(--ds-scale-500, 40px);margin:var(--ds-scale-0, 0px);padding:var(--ds-scale-100, 8px) var(--ds-scale-250, 20px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;font-size:14px;outline:0;-webkit-text-decoration:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;color:currentColor;cursor:pointer;}.css-lzie5a::-moz-focus-inner{border:0;}.css-lzie5a:hover{-webkit-text-decoration:none;text-decoration:none;}.css-lzie5a:visited{color:currentColor;}.css-lzie5a:hover{background-color:var(--ds-background-neutral-subtle-hovered, #F4F5F7);color:currentColor;}.css-lzie5a:active{background-color:var(--ds-background-neutral-subtle-pressed, #EBECF0);box-shadow:none;color:currentColor;}.css-1cy6ofv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;min-height:var(--ds-scale-500, 40px);margin:var(--ds-scale-0, 0px);padding:var(--ds-scale-100, 8px) var(--ds-scale-250, 20px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;font-size:14px;outline:0;-webkit-text-decoration:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;color:currentColor;cursor:pointer;}.css-1cy6ofv::-moz-focus-inner{border:0;}.css-1cy6ofv:hover{-webkit-text-decoration:none;text-decoration:none;}.css-1cy6ofv:visited{color:currentColor;}.css-1cy6ofv:hover{background-color:var(--ds-background-neutral-subtle-hovered, #F4F5F7);color:currentColor;}.css-1cy6ofv:active{background-color:var(--ds-background-neutral-subtle-pressed, #EBECF0);box-shadow:none;color:currentColor;}.css-5mekwu{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}</style><style data-emotion="css 38t7l3 vbpl3">.css-38t7l3:focus{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-38t7l3:focus-visible{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-38t7l3:focus:not(:focus-visible){outline:none;}@media screen and (forced-colors: active),screen and (-ms-high-contrast: active){.css-38t7l3:focus-visible{outline:1px solid;outline-offset:-1px;}}.css-vbpl3{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;min-height:var(--ds-scale-500, 40px);margin:var(--ds-scale-0, 0px);padding:var(--ds-scale-100, 8px) var(--ds-scale-250, 20px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;font-size:14px;outline:0;-webkit-text-decoration:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;color:currentColor;cursor:pointer;}.css-vbpl3:focus{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-vbpl3:focus-visible{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-vbpl3:focus:not(:focus-visible){outline:none;}@media screen and (forced-colors: active),screen and (-ms-high-contrast: active){.css-vbpl3:focus-visible{outline:1px solid;outline-offset:-1px;}}.css-vbpl3::-moz-focus-inner{border:0;}.css-vbpl3:hover{-webkit-text-decoration:none;text-decoration:none;}.css-vbpl3:visited{color:currentColor;}.css-vbpl3:hover{background-color:var(--ds-background-neutral-subtle-hovered, #F4F5F7);color:currentColor;}.css-vbpl3:active{background-color:var(--ds-background-neutral-subtle-pressed, #EBECF0);box-shadow:none;color:currentColor;}</style><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><style data-emotion="css fdr7fn">.css-fdr7fn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:var(--ds-scale-150, 12px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}</style><span data-item-elem-before="true" class="css-fdr7fn"><style data-emotion="css 3zleef">.css-3zleef{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;text-align:center;-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none;}</style><div class="css-3zleef"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><style data-emotion="css 1gly9cj">.css-1gly9cj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;line-height:1.22;outline:none;overflow:hidden;text-align:left;}</style><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><style data-emotion="css 1mgvn46">.css-1mgvn46{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;font-size:14px;line-height:20px;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;white-space:normal;color:var(--ds-text-subtle, #42526E);}</style><div class="css-1mgvn46">Development life cycle</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/getting-started/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><style data-emotion="css jv18ke">.css-jv18ke{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;white-space:normal;overflow:visible;color:var(--ds-text-subtle, #42526E);word-wrap:break-word;text-align:left;box-sizing:border-box;overflow-wrap:break-word;font-size:14px;font-weight:400;line-height:20px;}</style><div class="css-jv18ke">Developing with Forge</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/environments-and-versions/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Environment configuration</div></span></span></a><div class="css-8zknns"><button class="sc-gjAXCV hiBcEo css-vbpl3" leftPaddingSize="1" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Contributors</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/contributors/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Overview</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/manage-app-contributors/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Managing contributors</div></span></span></a></ul><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/versions/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">App versions</div></span></span></a><div class="css-8zknns"><button class="sc-gjAXCV hiBcEo css-vbpl3" leftPaddingSize="1" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Testing and debugging</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/debugging/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Overview</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/debug-functions-using-intellij/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Debug using IntelliJ</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/debug-functions-using-vscode/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Debug using VS Code</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/tunneling/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Tunneling</div></span></span></a></ul></ul><div class="css-8zknns"><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">App capabilities</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><div class="css-8zknns"><button class="sc-gjAXCV hiBcEo css-vbpl3" leftPaddingSize="1" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Compute</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><div class="css-8zknns"><button class="sc-gjAXCV jjvRrZ css-vbpl3" leftPaddingSize="2" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Functions</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/function-reference/index/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Invoke functions</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/apis-reference/product-rest-api-reference/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Call a product REST API</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/apis-reference/fetch-api-product.requestgraph/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Call a product GraphQL API</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/runtime-reference/authorize-api/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Verify user permissions for product APIs</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/runtime-reference/external-fetch-api/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Call an external REST API</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/runtime-reference/authorize-api/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Check user account status</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/runtime-reference/legacy-runtime-migrating/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Migrate from the legacy runtime</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV jjvRrZ css-vbpl3" leftPaddingSize="2" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Remotes</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/remote/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Overview</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/remote/essentials/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Forge remote essentials</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/remote/sending-product-events/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Send events to a remote</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/remote/scheduled-triggers/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Schedule triggers to invoke a remote</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/remote/accessing-storage/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Access Forge storage from a remote</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/remote/calling-product-apis/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Call product APIs from a remote</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/remote/calling-from-frontend/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Call from a Forge frontend</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/remote/calling-from-function/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Call from a Forge function</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/remote/bitbucket-git-operations/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Bitbucket git operations from a remote</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/remote/observability/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Remote observability</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/remote/setup-dare-storage/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Setting up remotes for realm pinning</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV jjvRrZ css-vbpl3" leftPaddingSize="2" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Web triggers</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/runtime-reference/web-trigger/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Work with web triggers</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV jjvRrZ css-vbpl3" leftPaddingSize="2" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Queues</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/runtime-reference/async-events-api/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Use async app event queues</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV jjvRrZ css-vbpl3" leftPaddingSize="2" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Events</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/events/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Platform and product events</div></span></span></a></ul><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/function-reference/index/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Reference</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV hiBcEo css-vbpl3" leftPaddingSize="1" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Storage</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/runtime-reference/storage-api-basic/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Key value store</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/storage-reference/storage-api-custom-entities/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Entity store</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/storage-reference/sql/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">SQL (Preview)</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/storage-reference/storage-cache-api/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Cache (EAP)</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/runtime-reference/storage-api/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Reference</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/storage-reference/hosted-storage-data-lifecycle/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Hosted storage data lifecycle</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV hiBcEo css-vbpl3" leftPaddingSize="1" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">User interface</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/ui-kit/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">UI Kit</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/apis-reference/ui-api-bridge/bridge/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Frontend bridge</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/manifest-reference/display-conditions/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Display conditions</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/ui-kit/overview/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Reference</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV hiBcEo css-vbpl3" leftPaddingSize="1" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Observability</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/remote/observability/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Overview</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/app-observability-in-third-party-tools" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">App observability in third-party tools</div></span></span></a></ul><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/automation-with-forge/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Automation with Forge</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Trust and security</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/data-residency/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Data residency</div></span></span></a><div class="css-8zknns"><button class="sc-gjAXCV hiBcEo css-vbpl3" leftPaddingSize="1" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Configuring app security</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/access-to-forge-apps-for-unlicensed-jsm-users/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Unlicensed user app access</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/add-scopes-to-call-an-atlassian-rest-api/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Scopes to call an Atlassian REST API</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/runtime-egress-permissions/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Runtime egress permissions</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/add-content-security-and-egress-controls/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Content security and egress controls</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/app-context-security/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">App context security</div></span></span></a><div class="css-8zknns"><button class="sc-gjAXCV jjvRrZ css-vbpl3" leftPaddingSize="2" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">External authentication overview</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/use-an-external-oauth-2.0-api-with-fetch/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Configuring OAuth 2.0 providers</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/rotating-an-oauth-2.0-client-id-and-secret/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Rotating an OAuth 2.0 client ID and secret</div></span></span></a><a class="sc-dOkuiw kKjlYb css-vbpl3" leftPaddingSize="3" href="/platform/forge/common-issues-with-external-authentication/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Common issues with external authentication</div></span></span></a></ul></ul><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/runs-on-atlassian/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Runs on Atlassian</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Enterprise development</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/enterprise/use-forge-cli-on-corporate-network/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Using Forge CLI on a corporate network</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Forge releases and deprecation policy</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/whats-coming/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Forge releases (includes enrolling in EAP)</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/deprecation-policy/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Forge deprecation policy</div></span></span></a></ul></ul></div></li><li class="sc-jGFFOr iJfdrZ"><div class="sc-hZeNU dZmoXu">Manage</div><style data-emotion="css 1dlapeh">.css-1dlapeh{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:static;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:auto;}</style><div class="css-1dlapeh"><ul class="sc-cSYcjD EsMfL"><style data-emotion="css lzie5a 1cy6ofv 5mekwu">.css-lzie5a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;min-height:var(--ds-scale-500, 40px);margin:var(--ds-scale-0, 0px);padding:var(--ds-scale-100, 8px) var(--ds-scale-250, 20px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;font-size:14px;outline:0;-webkit-text-decoration:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;color:currentColor;cursor:pointer;}.css-lzie5a::-moz-focus-inner{border:0;}.css-lzie5a:hover{-webkit-text-decoration:none;text-decoration:none;}.css-lzie5a:visited{color:currentColor;}.css-lzie5a:hover{background-color:var(--ds-background-neutral-subtle-hovered, #F4F5F7);color:currentColor;}.css-lzie5a:active{background-color:var(--ds-background-neutral-subtle-pressed, #EBECF0);box-shadow:none;color:currentColor;}.css-1cy6ofv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;min-height:var(--ds-scale-500, 40px);margin:var(--ds-scale-0, 0px);padding:var(--ds-scale-100, 8px) var(--ds-scale-250, 20px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;font-size:14px;outline:0;-webkit-text-decoration:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;color:currentColor;cursor:pointer;}.css-1cy6ofv::-moz-focus-inner{border:0;}.css-1cy6ofv:hover{-webkit-text-decoration:none;text-decoration:none;}.css-1cy6ofv:visited{color:currentColor;}.css-1cy6ofv:hover{background-color:var(--ds-background-neutral-subtle-hovered, #F4F5F7);color:currentColor;}.css-1cy6ofv:active{background-color:var(--ds-background-neutral-subtle-pressed, #EBECF0);box-shadow:none;color:currentColor;}.css-5mekwu{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}</style><style data-emotion="css 38t7l3 vbpl3">.css-38t7l3:focus{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-38t7l3:focus-visible{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-38t7l3:focus:not(:focus-visible){outline:none;}@media screen and (forced-colors: active),screen and (-ms-high-contrast: active){.css-38t7l3:focus-visible{outline:1px solid;outline-offset:-1px;}}.css-vbpl3{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;width:100%;min-height:var(--ds-scale-500, 40px);margin:var(--ds-scale-0, 0px);padding:var(--ds-scale-100, 8px) var(--ds-scale-250, 20px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:0;font-size:14px;outline:0;-webkit-text-decoration:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;color:currentColor;cursor:pointer;}.css-vbpl3:focus{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-vbpl3:focus-visible{outline-color:var(--ds-border-focused, #2684FF);outline-offset:-2px;outline-style:solid;outline-width:var(--ds-border-width-outline, 2px);}.css-vbpl3:focus:not(:focus-visible){outline:none;}@media screen and (forced-colors: active),screen and (-ms-high-contrast: active){.css-vbpl3:focus-visible{outline:1px solid;outline-offset:-1px;}}.css-vbpl3::-moz-focus-inner{border:0;}.css-vbpl3:hover{-webkit-text-decoration:none;text-decoration:none;}.css-vbpl3:visited{color:currentColor;}.css-vbpl3:hover{background-color:var(--ds-background-neutral-subtle-hovered, #F4F5F7);color:currentColor;}.css-vbpl3:active{background-color:var(--ds-background-neutral-subtle-pressed, #EBECF0);box-shadow:none;color:currentColor;}</style><a class="sc-dOkuiw dDqXHW css-vbpl3" leftPaddingSize="0" href="/platform/forge/manage-your-apps/" draggable="false" aria-disabled="false"><style data-emotion="css 1gly9cj">.css-1gly9cj{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;line-height:1.22;outline:none;overflow:hidden;text-align:left;}</style><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><style data-emotion="css jv18ke">.css-jv18ke{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;white-space:normal;overflow:visible;color:var(--ds-text-subtle, #42526E);word-wrap:break-word;text-align:left;box-sizing:border-box;overflow-wrap:break-word;font-size:14px;font-weight:400;line-height:20px;}</style><div class="css-jv18ke">Overview</div></span></span></a><style data-emotion="css 8zknns">.css-8zknns{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;}</style><div class="css-8zknns"><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><style data-emotion="css fdr7fn">.css-fdr7fn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:var(--ds-scale-150, 12px);-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}</style><span data-item-elem-before="true" class="css-fdr7fn"><style data-emotion="css 3zleef">.css-3zleef{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;text-align:center;-webkit-transform:none;-moz-transform:none;-ms-transform:none;transform:none;}</style><div class="css-3zleef"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><style data-emotion="css 1mgvn46">.css-1mgvn46{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;font-size:14px;line-height:20px;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;white-space:normal;color:var(--ds-text-subtle, #42526E);}</style><div class="css-1mgvn46">Observability</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><div class="css-8zknns"><button class="sc-gjAXCV hiBcEo css-vbpl3" leftPaddingSize="1" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Manage app alerts</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/alerts/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Overview</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/create-alert-rules/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Create alert rules</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/manage-alert-rules/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Manage alert rules</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/view-open-and-closed-alerts/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">View open and closed alerts</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV hiBcEo css-vbpl3" leftPaddingSize="1" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Monitor app metrics</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/monitor-app-metrics/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Overview</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/monitor-invocation-metrics/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Monitor invocation metrics</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/monitor-api-metrics/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Monitor API metrics</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/monitor-cache-metrics/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Monitor cache metrics (EAP)</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/monitor-sql-metrics/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Monitor SQL (Preview)</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/monitor-usage-metrics/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Monitor usage metrics</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/export-app-metrics/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Export app metrics</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV hiBcEo css-vbpl3" leftPaddingSize="1" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Monitor app logs</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/monitor-app-logs/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Overview</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/view-app-logs/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">View app logs</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/export-app-logs/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Export app logs</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/access-app-logs/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Access app logs</div></span></span></a></ul><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/view-app-installations/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">View app installations</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/view-app-storage/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">View app storage</div></span></span></a></ul><div class="css-8zknns"><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Access</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/manage-app-contributors/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Manage app contributors</div></span></span></a><div class="css-8zknns"><button class="sc-gjAXCV hiBcEo css-vbpl3" leftPaddingSize="1" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Manage environments</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/environments-and-versions/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Forge environments</div></span></span></a><a class="sc-dOkuiw kyARPC css-vbpl3" leftPaddingSize="2" href="/platform/forge/manifest-reference/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Configuring the manifest</div></span></span></a></ul></ul><div class="css-8zknns"><button class="sc-gjAXCV fEiqUH css-vbpl3" leftPaddingSize="0" type="button"><span data-item-elem-before="true" class="css-fdr7fn"><div class="css-3zleef"><span role="img" aria-label="open" style="--icon-primary-color:#B3BAC5;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M10.294 9.698a.988.988 0 010-1.407 1.01 1.01 0 011.419 0l2.965 2.94a1.09 1.09 0 010 1.548l-2.955 2.93a1.01 1.01 0 01-1.42 0 .988.988 0 010-1.407l2.318-2.297-2.327-2.307z" fill="currentColor" fill-rule="evenodd"/></svg></span></div></span><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-1mgvn46">Distribution</div></span></span></button></div><ul class="sc-cSYcjD gjDNHe"><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="https://developer.atlassian.com/platform/marketplace/listing-forge-apps/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Marketplace</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/distribute-your-apps/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">Distribute via console</div></span></span></a><a class="sc-dOkuiw kFokHU css-vbpl3" leftPaddingSize="1" href="/platform/forge/cli-reference/install/" draggable="false" aria-disabled="false"><span class="css-1gly9cj"><span class="css-5mekwu" data-item-title="true"><div class="css-jv18ke">CLI installation</div></span></span></a></ul></ul></div></li></ul></nav><div class="sc-fjNYmT cRavQB"><div class="sc-hzOKmB gWIkLp"><div class="sc-grYksN jGqvBW"><span class="sc-frudsx hsaQyA"><span class="sc-cBXKeB bWkibq">Last updated Oct 30, 2024</span></span></div></div><div class="sc-hdNmWC huMuzN"><div class="sc-imDdex hYifdp"><div class="sc-cBrjTV crKIBs"><h1 id="forge-privacy-and-security-faqs">Forge privacy and security FAQs<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h1><div class="sc-lffWgi iLIKSx"><div class="sc-fGSyRc eysgIS" width="192"><div class="sc-jkPxnQ cLWHVF"></div></div></div> <div class="sc-hkaZBZ bsbZCT"><section class="sc-giOsra cEicjz"><div class="sc-jOVcOr ccUuQb"><style data-emotion="css snhnyn">.css-snhnyn{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;}.css-snhnyn &gt;svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-snhnyn &gt;svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-snhnyn &gt;svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}</style><span aria-hidden="true" style="--icon-primary-color:#0747A6;--icon-secondary-color:#DEEBFF" class="css-snhnyn"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill-rule="evenodd"><path d="M2 12c0 5.523 4.477 10 10 10s10-4.477 10-10S17.523 2 12 2 2 6.477 2 12z" fill="currentColor"></path><rect fill="inherit" x="11" y="10" width="2" height="7" rx="1"></rect><circle fill="inherit" cx="12" cy="8" r="1"></circle></g></svg></span></div><div class="sc-SFOxd KLVHW"><div class="sc-dzOgQY RfwMt"> <p>This information is provided for informational purposes only. It is not intended to be a substitute for legal advice. As such, always consult legal counsel before acting on any matter discussed within this document.</p> </div></div></section></div> <p>This page provides a high level summary of key privacy and security information about Forge. Whether you’re looking to build a new app or integration on Forge, or are just curious about your existing apps and integrations, read on to see how Forge can help protect you and your customers.</p> <p>This information applies when Atlassian is providing Forge hosted storage and/or Forge compute.</p> <h2 id="forge-support-for-gdpr">Forge support for GDPR<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <p>The General Data Protection Regulation (GDPR) came into effect on May 25th, 2018. GDPR imposes legal obligations on companies that are located in the European Economic Area (EEA) or that process personal data relating to EEA residents. Forge developers with access to the Atlassian <a href="https://atlassianpartners.atlassian.net/" target="_blank">Partner Portal<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a> can view an overview of GDPR and implications for app developers <a href="https://atlassianpartners.atlassian.net/wiki/spaces/resources/pages/315327375/Intro+to+GDPR+for+Marketplace+Partners" target="_blank">here<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>.</p> <p>Atlassian has established contractual, technical, and organizational measures in order to help ensure that the Forge platform service provided by Atlassian complies with GDPR. For more information on Atlassian’s GDPR compliance, please see <a href="https://www.atlassian.com/trust/privacy/country/europe-and-gdpr" target="_blank">Atlassian’s GDPR Commitment<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>.</p> <p>Below are answers to some commonly asked questions regarding Forge and GDPR.</p> <h3 id="general-questions">General questions<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <div class="sc-jdfcpN jMPRQO"><table node="[object Object]"><thead class="sc-eNNmBn igxxMf"><tr class="sc-eEieub jPqTBr"><th class="sc-kNBZmU lhcjXP">Questions<br/></th><th class="sc-kNBZmU lhcjXP">Answers</th></tr></thead><tbody><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">Is there a Data Processing Agreement (DPA) for Forge?</td><td class="sc-eopZyb gzVyrk">Yes, the Forge DPA can be found <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">here</a>. </td></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">What are Atlassian’s and the Forge developers&#x27; respective roles under the DPA? </td><td class="sc-eopZyb gzVyrk">The roles are set forth in Section 1.2 of the <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">Forge DPA</a>, and are as follows: <ul> <li> Where Atlassian processes end user personal data on behalf of Forge Developers in connection with Forge, Atlassian will act as a processor, or sub-processor, and Forge Developers will act as a controller, or processor respectively, of personal data. </li><li> Where Atlassian processes Forge developers&#x27; personal data (e.g. user account information of Forge developers and their employees/collaborators) in connection with Forge, Atlassian will act as an independent controller. </li></ul> </td></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">Does Atlassian provide Forge developers with assistance regarding data subject requests? </td><td class="sc-eopZyb gzVyrk">Yes, Atlassian has built a Personal Data Reporting API to help Forge developers comply with data subject requests. For more information on the Personal Data Reporting API please see the <a href="https://developer.atlassian.com/platform/forge/user-privacy-guidelines" target="_self">User Privacy Guide for App Developers</a>. </td></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">How does Atlassian handle requests from law enforcement?</td><td class="sc-eopZyb gzVyrk">Atlassian has strictly defined policies and processes for any l<a href="https://www.atlassian.com/trust/privacy/guidelines-for-law-enforcement" target="_blank">aw enforcement requests<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a> and additionally publishes an <a href="https://www.atlassian.com/trust/privacy/transparency-report" target="_blank">annual transparency report<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>. </td></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">What are the categories of personal data that Atlassian processes as a processor on behalf of Forge developers? </td><td class="sc-eopZyb gzVyrk">The relevant personal data categories are set forth in Annex 1(B), Part A of the <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">Forge DPA</a>. </td></tr></tbody></table></div> <h3 id="sub-processor-questions">Sub-processor questions<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <div class="sc-jdfcpN jMPRQO"><table node="[object Object]"><thead class="sc-eNNmBn igxxMf"><tr class="sc-eEieub jPqTBr"><th class="sc-kNBZmU lhcjXP">Questions</th><th class="sc-kNBZmU lhcjXP">Answers</th></tr></thead><tbody><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">Does Atlassian use sub-processors to provide Forge? </td><td class="sc-eopZyb gzVyrk">Yes, Atlassian utilizes services of sub-processors as set forth in the <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">Forge DPA</a>.</td></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">Where can I find the list of Atlassian’s sub-processors? </td><td class="sc-eopZyb gzVyrk">The link can be found <a href="https://www.atlassian.com/legal/sub-processors" target="_blank">here<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>, as well as referenced in Section 1.9 of the <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">Forge DPA</a>. </td></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">Under what conditions may Atlassian engage new sub-processors? </td><td class="sc-eopZyb gzVyrk">As set forth in Section 1.9 of the <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">Forge DPA</a>, Atlassian may engage new sub-processors, provided that: <ul> <li> Atlassian maintains an up-to-date list of its sub-processors, which contains a mechanism for Forge developers to sign-up for notifications of new sub-processors, </li><li> Atlassian enters into written agreements with each Sub-processor which impose data protection terms on the Sub-processor, and </li><li> Atlassian remains liable to Forge developers if the Sub-processor fails to fulfill its data protection obligations under applicable data protection laws. </li></ul> </td></tr></tbody></table></div> <h3 id="data-transfer-questions">Data transfer questions<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <div class="sc-jdfcpN jMPRQO"><table node="[object Object]"><thead class="sc-eNNmBn igxxMf"><tr class="sc-eEieub jPqTBr"><th class="sc-kNBZmU lhcjXP">Questions</th><th class="sc-kNBZmU lhcjXP">Answers</th></tr></thead><tbody><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">Does Atlassian have an approved transfer mechanism in place? </td><td class="sc-eopZyb gzVyrk">Yes. Atlassian <a href="https://www.dataprivacyframework.gov/s/participant-search/participant-detail?id=a2zt00000008RdQAAU&amp;status=Active" target="_blank">participates in and certifies compliance with the EU-U.S. DPF<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>. You can find more information in our <a href="https://www.atlassian.com/legal/privacy-policy#other-important-privacy-information" target="_blank">Privacy Policy<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a> under the Section “Data Privacy Framework Notice”.<br/>Where adequacy does not apply, we continue to rely on the Standard Contractual Clauses (SCCs) as a transfer mechanism as set forth in Section 1.6 of the <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">Forge DPA</a>. </td></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">Where does Atlassian store and process personal data on Forge? </td><td class="sc-eopZyb gzVyrk">The information on processing locations for personal data can be found in the Atlassian <a href="https://www.atlassian.com/legal/data-transfer-impact-assessment" target="_blank">Data Transfer Impact Assessment<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>.</td></tr></tbody></table></div> <h3 id="security-related-questions">Security-related questions<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h3> <div class="sc-jdfcpN jMPRQO"><table node="[object Object]"><thead class="sc-eNNmBn igxxMf"><tr class="sc-eEieub jPqTBr"><th class="sc-kNBZmU lhcjXP">Questions</th><th class="sc-kNBZmU lhcjXP">Answers</th></tr></thead><tbody><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">What are Atlassian’s obligations in the event of a security incident relating to Atlassian’s provision of the Forge platform? </td><td class="sc-eopZyb gzVyrk">As set forth in Section 1.11 of the <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">Forge DPA</a>, upon becoming aware of a security incident, Atlassian will: <ul> <li> Notify Forge developers without undue delay, </li><li> Provide timely information relating to the security incident, and </li><li> Take reasonable steps to contain, investigate, and mitigate the effects of the security incident. </li></ul> </td></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">What are the technical and organizational measures (TOMs) employed by Atlassian to protect personal data? </td><td class="sc-eopZyb gzVyrk">The TOMs are set forth in Exhibit B of the <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">Forge DPA</a> and include, but are not limited to the following: <ul> <li>Data encryption </li><li>Security management program </li><li>Business continuity and disaster recovery plans </li><li>Vulnerability scanning and remediation </li><li>Access Controls </li><li>Employee screening and training </li></ul> </td></tr></tbody></table></div> <h2 id="forge-support-for-ccpa">Forge support for CCPA<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <p>The California Consumer Privacy Act (CCPA) came into effect on January 1, 2020. The CCPA is a California data privacy regulation that governs how certain organizations use, collect, and process personal information of California residents. The CCPA was later amended by the California Privacy Rights Acts of 2020 (CPRA), which went into effect on January 1, 2023. Forge developers with access to the Partner Portal can learn more about CCPA and implications for app developers <a href="https://atlassianpartners.atlassian.net/wiki/spaces/resources/pages/315392731/Intro+to+CCPA+for+Marketplace+Partners" target="_blank">here<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>.</p> <p>Atlassian is committed to complying with CCPA and any future modifications to the law. Accordingly, Atlassian has updated <em>i)</em> the <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">Forge DPA</a> to comply with the CCPA, and <em>ii)</em> the Atlassian Privacy Policy to include information specific to the CCPA. For more information on our organization’s compliance, please see <a href="https://www.atlassian.com/trust/compliance/resources/ccpa" target="_blank">Atlassian’s CCPA Commitment<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>.</p> <p>Below are answers to some commonly asked questions regarding Forge and CCPA.</p> <div class="sc-jdfcpN jMPRQO"><table node="[object Object]"><thead class="sc-eNNmBn igxxMf"><tr class="sc-eEieub jPqTBr"><th class="sc-kNBZmU lhcjXP">Questions<br/></th><th class="sc-kNBZmU lhcjXP">Answers<br/></th></tr></thead><tbody><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">Is CCPA included in the scope of the <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">Forge DPA</a>?</td><td class="sc-eopZyb gzVyrk">Yes. Please refer to the definition of “U.S. Data Protection Laws” under Section 1.1 of the <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">Forge DPA</a>.</td></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">What is Atlassian’s role under the CCPA in regards to end user personal data on Forge, which Atlassian processes on behalf of Forge developers? </td><td class="sc-eopZyb gzVyrk">As set forth in Section 1.5(b) of the <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">Forge DPA</a>, Atlassian may act as a Service Provider on behalf of Forge developers, to the extent Atlassian processes end user personal data which includes personal information protected under the CCPA. </td></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">Does Atlassian ‘sell’ or ‘share’ (as defined under CCPA) end user personal data, which Atlassian processes on behalf of Forge developers, under the <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">Forge DPA</a>? </td><td class="sc-eopZyb gzVyrk">No, Atlassian does not “sell” or “share” end user personal data, as defined under CCPA, in its .<br/>For more information please see Section 1.5(b) of the <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">Forge DPA</a>. </td></tr></tbody></table></div> <h2 id="forge-security-standards">Forge Security Standards<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <p>In addition to the technical and organizational measures mentioned in the <a href="https://developer.atlassian.com/platform/forge/resources/Forge-Data-Processing-Addendum.pdf" target="_self">Forge DPA</a>, Forge complies with major security standards. Forge, as part of the Atlassian Platform, has successfully completed the <a href="https://www.iso.org/standard/27001" target="_blank">ISO 27001<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a> and <a href="https://us.aicpa.org/interestareas/frc/assuranceadvisoryservices/aicpasoc2report" target="_blank">SOC 2<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a> evaluation process. Compliance reports and certificates for the Atlassian Platform, which includes Forge, may be downloaded from the <a href="https://www.atlassian.com/trust/compliance/resources" target="_blank">Atlassian Compliance Resource Center<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>.</p> <p>Below are answers to some commonly asked questions regarding Forge and its security practices.</p> <div class="sc-jdfcpN jMPRQO"><table node="[object Object]"><thead class="sc-eNNmBn igxxMf"><tr class="sc-eEieub jPqTBr"><th class="sc-kNBZmU lhcjXP">Questions<br/></th><th class="sc-kNBZmU lhcjXP">Answers<br/></th></tr></thead><tbody><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">Does Atlassian have a data retention policy for Forge? </td><td class="sc-eopZyb gzVyrk">Yes, the Forge platform follows Atlassian’s internal Standard Data Retention and Disposal policy. More information can be found in the Atlassian SOC 2 report which you can download <a href="https://www.atlassian.com/trust/compliance/resources/soc2" target="_blank">here<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>. </td></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">How often is Forge disaster recovery testing performed? </td><td class="sc-eopZyb gzVyrk">Atlassian performs disaster recovery testing for the Forge platform at least annually. </td></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">Where can I find the status/uptime of Forge? </td><td class="sc-eopZyb gzVyrk">You can find the status/uptime information at <a href="https://developer.status.atlassian.com/" target="_self">https://developer.status.atlassian.com/</a></td></tr><tr class="sc-eEieub jPqTBr"><td class="sc-eopZyb gzVyrk">Who from Atlassian has access to the Forge data? </td><td class="sc-eopZyb gzVyrk">Please refer to the “Atlassian Access Controls” section of the <a href="https://www.atlassian.com/trust/compliance/resources/soc2" target="_blank">Atlassian SOC 2 report<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a>.</td></tr></tbody></table></div> <h2 id="still-have-questions--contact-us">Still have questions? Contact us<span role="presentation" class="heading-anchor-wrapper"><button class="sc-iCwjlJ bIjwqY"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span role="img" aria-label="copy" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M12.856 5.457l-.937.92a1.002 1.002 0 000 1.437 1.047 1.047 0 001.463 0l.984-.966c.967-.95 2.542-1.135 3.602-.288a2.54 2.54 0 01.203 3.81l-2.903 2.852a2.646 2.646 0 01-3.696 0l-1.11-1.09L9 13.57l1.108 1.089c1.822 1.788 4.802 1.788 6.622 0l2.905-2.852a4.558 4.558 0 00-.357-6.82c-1.893-1.517-4.695-1.226-6.422.47"/><path d="M11.144 19.543l.937-.92a1.002 1.002 0 000-1.437 1.047 1.047 0 00-1.462 0l-.985.966c-.967.95-2.542 1.135-3.602.288a2.54 2.54 0 01-.203-3.81l2.903-2.852a2.646 2.646 0 013.696 0l1.11 1.09L15 11.43l-1.108-1.089c-1.822-1.788-4.802-1.788-6.622 0l-2.905 2.852a4.558 4.558 0 00.357 6.82c1.893 1.517 4.695 1.226 6.422-.47"/></g></svg></span></button></span></h2> <p>For any privacy or security-related questions relating to Atlassian’s provision of the Forge platform that are not covered here, please see the resources linked below:</p> <ul> <li><a href="https://www.atlassian.com/trust" target="_blank">https://www.atlassian.com/trust<style data-emotion="css 1wits42">.css-1wits42{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:16px;height:16px;}.css-1wits42 >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1wits42 >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1wits42 >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1wits42 >svg{width:16px;height:16px;}</style><span role="img" aria-label="Follow" style="--icon-primary-color:currentColor;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1wits42"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><g fill="currentColor" fill-rule="evenodd"><path d="M11.031 7A1.03 1.03 0 0010 8.036a1.05 1.05 0 001.044 1.045l3.121.014.014 3.121a1.05 1.05 0 001.045 1.044 1.03 1.03 0 001.036-1.035l-.019-4.161a1.053 1.053 0 00-1.045-1.045L11.035 7h-.004z"/><path d="M13.364 8.292l-7.072 7.071a1.002 1.002 0 000 1.415c.39.39 1.024.39 1.415 0l7.071-7.071A1.002 1.002 0 0014.071 8a1 1 0 00-.707.292z"/></g></svg></span></a></li> <li><a href="https://developer.atlassian.com/support" target="_self">Developer and marketplace support</a></li> </ul> <p>For legal advice on your obligations as a Forge developer, please reach out to your own legal counsel.</p></div><div class="sc-dCVVYJ rJVhP"><div class="sc-hARARD hrxrbx"><p class="sc-ccLTTT gfLKuW">Rate this page:</p><style data-emotion-css="fwv93l">.css-fwv93l{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:0;}.css-fwv93l [data-rating-icon-checked]{display:inline-block;}.css-fwv93l [data-rating-icon]{display:none;}.css-fwv93l label:hover ~ label [data-rating-icon-checked][data-rating-icon-checked],.css-fwv93l input:checked ~ label [data-rating-icon-checked]{display:none;}.css-fwv93l label:hover ~ label [data-rating-icon][data-rating-icon],.css-fwv93l input:checked ~ label [data-rating-icon]{display:inline-block;}.css-fwv93l:hover [data-rating-icon-checked][data-rating-icon-checked]{display:inline-block;}.css-fwv93l:hover [data-rating-icon][data-rating-icon]{display:none;}</style><div class="css-fwv93l"><style data-emotion-css="i9qcsw">.css-i9qcsw{border:0 !important;-webkit-clip:rect(1px,1px,1px,1px) !important;clip:rect(1px,1px,1px,1px) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important;}</style><label for="rating-bottom--empty" class="css-i9qcsw"></label><input type="radio" id="rating-bottom--empty" name="rating-bottom" checked="" class="css-i9qcsw"/><label for="rating-bottom--0" style="transition:transform 100ms cubic-bezier(0.15,1,0.3,1)"><div role="presentation"><div><span class="css-i9qcsw">Unusable</span><span aria-hidden="true" data-rating-icon="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12 16.373l3.98 2.193-.76-4.655 3.276-3.347-4.524-.69L12 5.687l-1.972 4.189-4.524.689L8.78 13.91l-.762 4.655L12 16.373zm0 2.283l-3.016 1.662a2 2 0 01-2.939-2.075l.599-3.656-2.57-2.624a2 2 0 011.129-3.377l3.47-.528 1.518-3.224a2 2 0 013.618 0l1.519 3.224 3.47.528a2 2 0 011.127 3.377l-2.569 2.624.599 3.656a2 2 0 01-2.94 2.075L12 18.656z" fill="currentColor"/></svg></span></span><span aria-hidden="true" data-rating-icon-checked="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12.072 17.284l-3.905 2.053a1 1 0 01-1.451-1.054l.745-4.349-3.159-3.08a1 1 0 01.554-1.705l4.366-.635 1.953-3.956a1 1 0 011.794 0l1.952 3.956 4.366.635a1 1 0 01.555 1.705l-3.16 3.08.746 4.349a1 1 0 01-1.45 1.054l-3.906-2.053z" fill="currentColor" fill-rule="evenodd"/></svg></span></span></div></div></label><input type="radio" id="rating-bottom--0" value="1" name="rating-bottom" class="css-i9qcsw"/><label for="rating-bottom--1" style="transition:transform 100ms cubic-bezier(0.15,1,0.3,1)"><div role="presentation"><div><span class="css-i9qcsw">Poor</span><span aria-hidden="true" data-rating-icon="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12 16.373l3.98 2.193-.76-4.655 3.276-3.347-4.524-.69L12 5.687l-1.972 4.189-4.524.689L8.78 13.91l-.762 4.655L12 16.373zm0 2.283l-3.016 1.662a2 2 0 01-2.939-2.075l.599-3.656-2.57-2.624a2 2 0 011.129-3.377l3.47-.528 1.518-3.224a2 2 0 013.618 0l1.519 3.224 3.47.528a2 2 0 011.127 3.377l-2.569 2.624.599 3.656a2 2 0 01-2.94 2.075L12 18.656z" fill="currentColor"/></svg></span></span><span aria-hidden="true" data-rating-icon-checked="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12.072 17.284l-3.905 2.053a1 1 0 01-1.451-1.054l.745-4.349-3.159-3.08a1 1 0 01.554-1.705l4.366-.635 1.953-3.956a1 1 0 011.794 0l1.952 3.956 4.366.635a1 1 0 01.555 1.705l-3.16 3.08.746 4.349a1 1 0 01-1.45 1.054l-3.906-2.053z" fill="currentColor" fill-rule="evenodd"/></svg></span></span></div></div></label><input type="radio" id="rating-bottom--1" value="2" name="rating-bottom" class="css-i9qcsw"/><label for="rating-bottom--2" style="transition:transform 100ms cubic-bezier(0.15,1,0.3,1)"><div role="presentation"><div><span class="css-i9qcsw">Okay</span><span aria-hidden="true" data-rating-icon="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12 16.373l3.98 2.193-.76-4.655 3.276-3.347-4.524-.69L12 5.687l-1.972 4.189-4.524.689L8.78 13.91l-.762 4.655L12 16.373zm0 2.283l-3.016 1.662a2 2 0 01-2.939-2.075l.599-3.656-2.57-2.624a2 2 0 011.129-3.377l3.47-.528 1.518-3.224a2 2 0 013.618 0l1.519 3.224 3.47.528a2 2 0 011.127 3.377l-2.569 2.624.599 3.656a2 2 0 01-2.94 2.075L12 18.656z" fill="currentColor"/></svg></span></span><span aria-hidden="true" data-rating-icon-checked="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12.072 17.284l-3.905 2.053a1 1 0 01-1.451-1.054l.745-4.349-3.159-3.08a1 1 0 01.554-1.705l4.366-.635 1.953-3.956a1 1 0 011.794 0l1.952 3.956 4.366.635a1 1 0 01.555 1.705l-3.16 3.08.746 4.349a1 1 0 01-1.45 1.054l-3.906-2.053z" fill="currentColor" fill-rule="evenodd"/></svg></span></span></div></div></label><input type="radio" id="rating-bottom--2" value="3" name="rating-bottom" class="css-i9qcsw"/><label for="rating-bottom--3" style="transition:transform 100ms cubic-bezier(0.15,1,0.3,1)"><div role="presentation"><div><span class="css-i9qcsw">Good</span><span aria-hidden="true" data-rating-icon="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12 16.373l3.98 2.193-.76-4.655 3.276-3.347-4.524-.69L12 5.687l-1.972 4.189-4.524.689L8.78 13.91l-.762 4.655L12 16.373zm0 2.283l-3.016 1.662a2 2 0 01-2.939-2.075l.599-3.656-2.57-2.624a2 2 0 011.129-3.377l3.47-.528 1.518-3.224a2 2 0 013.618 0l1.519 3.224 3.47.528a2 2 0 011.127 3.377l-2.569 2.624.599 3.656a2 2 0 01-2.94 2.075L12 18.656z" fill="currentColor"/></svg></span></span><span aria-hidden="true" data-rating-icon-checked="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12.072 17.284l-3.905 2.053a1 1 0 01-1.451-1.054l.745-4.349-3.159-3.08a1 1 0 01.554-1.705l4.366-.635 1.953-3.956a1 1 0 011.794 0l1.952 3.956 4.366.635a1 1 0 01.555 1.705l-3.16 3.08.746 4.349a1 1 0 01-1.45 1.054l-3.906-2.053z" fill="currentColor" fill-rule="evenodd"/></svg></span></span></div></div></label><input type="radio" id="rating-bottom--3" value="4" name="rating-bottom" class="css-i9qcsw"/><label for="rating-bottom--4" style="transition:transform 100ms cubic-bezier(0.15,1,0.3,1)"><div role="presentation"><div><span class="css-i9qcsw">Excellent</span><span aria-hidden="true" data-rating-icon="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12 16.373l3.98 2.193-.76-4.655 3.276-3.347-4.524-.69L12 5.687l-1.972 4.189-4.524.689L8.78 13.91l-.762 4.655L12 16.373zm0 2.283l-3.016 1.662a2 2 0 01-2.939-2.075l.599-3.656-2.57-2.624a2 2 0 011.129-3.377l3.47-.528 1.518-3.224a2 2 0 013.618 0l1.519 3.224 3.47.528a2 2 0 011.127 3.377l-2.569 2.624.599 3.656a2 2 0 01-2.94 2.075L12 18.656z" fill="currentColor"/></svg></span></span><span aria-hidden="true" data-rating-icon-checked="true"><style data-emotion="css 1afrefi">.css-1afrefi{display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:1;width:24px;height:24px;}.css-1afrefi >svg{overflow:hidden;pointer-events:none;max-width:100%;max-height:100%;color:var(--icon-primary-color);fill:var(--icon-secondary-color);vertical-align:bottom;}.css-1afrefi >svg stop{stop-color:currentColor;}@media screen and (forced-colors: active){.css-1afrefi >svg{-webkit-filter:grayscale(1);filter:grayscale(1);--icon-primary-color:CanvasText;--icon-secondary-color:Canvas;}}.css-1afrefi >svg{width:24px;height:24px;}</style><span aria-hidden="true" style="--icon-primary-color:#6B778C;--icon-secondary-color:var(--ds-surface, #FFFFFF)" class="css-1afrefi"><svg width="24" height="24" viewBox="0 0 24 24" role="presentation"><path d="M12.072 17.284l-3.905 2.053a1 1 0 01-1.451-1.054l.745-4.349-3.159-3.08a1 1 0 01.554-1.705l4.366-.635 1.953-3.956a1 1 0 011.794 0l1.952 3.956 4.366.635a1 1 0 01.555 1.705l-3.16 3.08.746 4.349a1 1 0 01-1.45 1.054l-3.906-2.053z" fill="currentColor" fill-rule="evenodd"/></svg></span></span></div></div></label><input type="radio" id="rating-bottom--4" value="5" name="rating-bottom" class="css-i9qcsw"/></div></div><div class="sc-eNPDpu iARtDw"></div></div></div></div></div><div class="sc-eNPDpu iARtDw"></div></div></div><div class="sc-jUpvKA kmRqgF"><footer class="sc-hvvHee APFeF"><div class="sc-eSePXt hbQcmX sc-fvLVrH dUcFyG"><a class="sc-iIHjhz RSHIw" href="https://www.atlassian.com/"><style data-emotion="css 1gskvga">.css-1gskvga{display:inline-block;position:relative;color:var(--logo-color);fill:var(--logo-fill);line-height:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:normal;height:24px;}.css-1gskvga >svg{height:100%;fill:inherit;}.css-1gskvga stop{stop-color:currentColor;}</style><span style="--logo-color:#5E6C84;--logo-fill:#5E6C84" aria-label="Atlassian" role="img" class="css-1gskvga"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 198 32" focusable="false" aria-hidden="true" height="32" fill="none"> <path fill=#5E6C84 d="M22.878 24.378 12.293 3.208c-.208-.458-.416-.541-.666-.541-.209 0-.459.083-.709.5-1.5 2.375-2.167 5.125-2.167 8 0 4.001 2.042 7.752 5.043 13.794.333.667.583.792 1.166.792h7.335c.542 0 .833-.208.833-.625 0-.208-.041-.333-.25-.75M7.501 14.377c-.833-1.25-1.083-1.334-1.292-1.334s-.333.083-.708.834L.208 24.46c-.166.334-.208.459-.208.625 0 .334.292.667.917.667h7.46c.5 0 .874-.416 1.083-1.208.25-1 .333-1.876.333-2.917 0-2.917-1.292-5.751-2.292-7.251z"/> <path fill=#5E6C84 d="M107.447 10.828c0 2.972 1.345 5.308 6.795 6.37 3.185.707 3.893 1.203 3.893 2.265 0 1.061-.708 1.698-2.973 1.698-2.619 0-5.733-.92-7.785-2.123v4.813c1.627.778 3.751 1.698 7.785 1.698 5.662 0 7.856-2.548 7.856-6.228m0 .07c0-3.538-1.84-5.166-7.148-6.298-2.902-.637-3.61-1.274-3.61-2.194 0-1.133 1.062-1.628 2.973-1.628 2.335 0 4.6.708 6.794 1.698v-4.6c-1.557-.779-3.892-1.345-6.653-1.345-5.237 0-7.927 2.265-7.927 5.945m72.475-5.803v20.17h4.318V9.979l1.769 4.035 6.087 11.324h5.379V5.166h-4.247v13.022l-1.628-3.821-4.883-9.201zm-27.319 0h-4.671v20.17h4.671zm-10.05 14.154c0-3.538-1.841-5.166-7.149-6.298-2.902-.637-3.609-1.274-3.609-2.194 0-1.133 1.061-1.628 2.972-1.628 2.336 0 4.601.708 6.795 1.699v-4.6c-1.557-.78-3.893-1.346-6.653-1.346-5.238 0-7.927 2.265-7.927 5.946 0 2.972 1.344 5.308 6.794 6.37 3.185.707 3.893 1.203 3.893 2.264 0 1.062-.708 1.699-2.973 1.699-2.618 0-5.733-.92-7.785-2.123v4.812c1.628.779 3.751 1.699 7.785 1.699 5.592 0 7.857-2.548 7.857-6.3M71.069 5.166v20.17h9.625l1.486-4.387h-6.44V5.166zm-19.039 0v4.317h5.167v15.854h4.741V9.483h5.592V5.166zm-6.866 0h-6.157L32 25.336h5.379l.99-3.396c1.204.353 2.478.566 3.752.566s2.548-.213 3.751-.567l.991 3.398h5.379c-.07 0-7.078-20.171-7.078-20.171M42.05 18.259c-.92 0-1.77-.141-2.548-.354L42.05 9.13l2.548 8.776a9.6 9.6 0 0 1-2.548.354zM97.326 5.166H91.17l-7.078 20.17h5.38l.99-3.396c1.203.353 2.477.566 3.751.566s2.548-.213 3.751-.567l.991 3.398h5.379zm-3.114 13.093c-.92 0-1.77-.141-2.548-.354l2.548-8.776 2.548 8.776a9.6 9.6 0 0 1-2.548.354m75.306-13.093h-6.157l-7.007 20.17h5.379l.991-3.396c1.203.353 2.477.566 3.751.566s2.548-.213 3.751-.567l.991 3.398h5.379zm-3.043 13.093c-.92 0-1.77-.141-2.548-.354l2.548-8.776 2.548 8.776a10 10 0 0 1-2.548.354"/> </svg></span></a><nav class="sc-dXfzlN insOyI"><a class="sc-iIHjhz RSHIw" href="/changelog/">Changelog</a><a class="sc-iIHjhz RSHIw" target="_blank" href="https://status.developer.atlassian.com">System status</a><a class="sc-iIHjhz RSHIw" target="_blank" href="https://www.atlassian.com/legal/privacy-policy">Privacy</a><a class="atl-policy-link atl-policy-link-text sc-iIHjhz RSHIw" target="_blank" href="https://www.atlassian.com/legal/privacy-policy#additional-disclosures-for-ca-residents">Notice at Collection</a><a class="sc-iIHjhz RSHIw" target="_blank" href="/platform/marketplace/atlassian-developer-terms/">Developer Terms</a><a class="sc-iIHjhz RSHIw" target="_blank" href="https://www.atlassian.com/legal/trademark">Trademark</a><a class="optanon-toggle-display hide-optanon-link sc-iIHjhz RSHIw">Cookie preferences</a><span class="sc-aewfc fDSCxc">© <!-- -->2025<!-- --> Atlassian</span></nav></div></footer></div></div><script nonce="BN0r0ccJynHsqbZhYEXCCGvjcvS3bEZhZHILUOMURY4=" type="text/javascript">(function(){var g=function(e,h,f,g){ this.get=function(a){for(var a=a+"=",c=document.cookie.split(";"),b=0,e=c.length;b<e;b++){for(var d=c[b];" "==d.charAt(0);)d=d.substring(1,d.length);if(0==d.indexOf(a))return d.substring(a.length,d.length)}return null}; this.set=function(a,c){var b="",b=new Date;b.setTime(b.getTime()+6048E5);b="; expires="+b.toGMTString();document.cookie=a+"="+c+b+"; path=/; "}; this.check=function(){var a=this.get(f);if(a)a=a.split(":");else if(100!=e)"v"==h&&(e=Math.random()>=e/100?0:100),a=[h,e,0],this.set(f,a.join(":"));else return!0;var c=a[1];if(100==c)return!0;switch(a[0]){case "v":return!1;case "r":return c=a[2]%Math.floor(100/c),a[2]++,this.set(f,a.join(":")),!c}return!0}; this.go=function(){if(this.check()){var a=document.createElement("script");a.type="text/javascript";a.src=g;document.body&&document.body.appendChild(a)}}; this.start=function(){var t=this;"complete"!==document.readyState?window.addEventListener?window.addEventListener("load",function(){t.go()},!1):window.attachEvent&&window.attachEvent("onload",function(){t.go()}):t.go()};}; try{(new g(100,"r","QSI_S_ZN_basBS9dBHxSA2iN","https://znbasbs9dbhxsa2in-atlassian.siteintercept.qualtrics.com/SIE/?Q_ZID=ZN_basBS9dBHxSA2iN")).start()}catch(i){}})();</script><div id="ZN_basBS9dBHxSA2iN"></div></div></div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10