Data security and privacy
This page describes what Mermaid Diagrams for Confluence and Jira stores and processes, where, and how it's protected. Use it for your security review, together with the privacy and security tab of the Marketplace listings for Confluence and Jira.
Where the app runsβ
The app is built on Atlassian Forge. Its code and storage run on Atlassian's infrastructure, and Apportunity has no servers of its own. Diagrams are drawn in the reader's browser.
Both apps meet Atlassian's Runs on Atlassian requirements: they use only Atlassian-hosted compute and storage, follow your site's data residency, and send data out only for analytics, which admins can switch off.
What the app storesβ
| Product | Data | Where | Why |
|---|---|---|---|
| Confluence | Each macro's diagram code and display size | An attachment of the page or blog post, named mermaid-<id>-source.json | To draw the diagrams |
| Confluence | A PNG image of each macro's first diagram | An attachment of the page or blog post, named mermaid-<id>-preview.png | To show the diagram in Confluence PDF and Word exports |
| Jira | Each work item's panel diagrams and display size, with the account ID of the last person who saved them and when | Forge hosted storage, in your site's app installation | To draw the diagrams, and to warn when two people save at once |
Because Confluence diagrams are page attachments, they follow the page: copied with it, moved with it, exported with it and deleted with it. Confluence's attachment history keeps earlier versions.
Mermaid code blocks in pages, descriptions and comments stay in Confluence or Jira. The app reads them to draw them, and changes them only when someone converts or edits them.
The app never stores page titles, work item content beyond the diagrams, people's names or email addresses, or anything about viewers.
How data flowsβ
- A reader opens a page or work item. The app's frontend, served by Forge, asks the app's Forge functions for the diagrams.
- In Confluence, the diagrams are read from the page's attachments with the reader's own permissions. In Jira, the app's functions first check that the reader can see the work item, then read the diagrams from Forge storage.
- The reader's browser draws the diagrams. Icons for architecture diagrams are bundled with the app, so nothing is loaded from outside Atlassian.
- When someone saves, the browser sends the diagram code to the app's functions, which store it.
Diagram content never leaves Atlassian.
Analytics and error reportsβ
The app sends error reports, logs and usage counts to Sentry, hosted in the US, so we can find and fix problems.
| Item | Detail |
|---|---|
| Sent | The error or event, your site's ID, a pseudonymous user ID, and technical details such as the browser and app version |
| Never sent | Diagram code, page or work item titles and keys, file names, and people's names or email addresses. Mermaid's error messages quote diagram code, so they're counted, never sent |
| How | The browser never contacts Sentry. Reports go through the app's Forge functions, which replace the user with a pseudonymous ID and add the site ID |
To switch analytics off, open the app in Connected apps in Atlassian Administration, select View app details, and turn off Analytics access. You can turn off Logs access and Custom metrics access there too. The app works the same with all of them off.
Data residencyβ
Confluence diagrams are page attachments, so they live wherever your Confluence data lives. In Jira, Forge hosted storage keeps the app's data in the same location as your Jira site, and moves it with the site. See Atlassian's Forge data residency page.
Encryption, retention and deletionβ
All traffic between browsers, Forge, Confluence and Jira uses HTTPS. Atlassian encrypts Confluence attachments and Forge hosted storage at rest.
| Event | What happens to the data |
|---|---|
| You delete a diagram and save | It's removed from the macro or panel. In Confluence, earlier versions stay in the attachment history until the attachment or page is deleted |
| You uninstall the Confluence app | Diagrams stay with their pages |
| You uninstall the Jira app | Atlassian keeps panel diagrams for 28 days, then deletes them. To restore them after reinstalling, contact support within 21 days |
AI featuresβ
Draft with AI opens Claude, ChatGPT or Gemini in a new browser tab with a fixed prompt. It only happens when someone selects it, and the app sends the assistant nothing else: no diagram code, page content or user data. What a person types into the assistant is between them and that service.
There is no setting to turn Draft with AI off. It only opens a link to a public website, which your browser policies control.
App permissionsβ
The scopes the app asks for when it's installed.
Confluenceβ
| Scope | What the app uses it for |
|---|---|
read:page:confluence, read:confluence-content.all, read:confluence-content.summary | Read the page or blog post a macro is on, and find Mermaid code blocks on it |
write:page:confluence, write:confluence-content | Save the page when someone turns code blocks into macros |
read:attachment:confluence, readonly:content.attachment:confluence | Read stored diagrams and preview images |
write:confluence-file | Save diagrams and preview images as attachments |
read:confluence-content.permission | Check whether the person can edit the page |
read:confluence-user | Show who saved a diagram when two people save at once |
storage:app | Forge storage for the app's own needs |
read:space:confluence, read:confluence-space.summary, write:confluence-space, search:confluence, read:confluence-props, write:confluence-props | Not used by the current version |
Jiraβ
| Scope | What the app uses it for |
|---|---|
read:jira-work | Read work item descriptions and comments to find Mermaid code, and check permissions |
write:jira-work | Save a Mermaid code block that someone edits in a description or comment |
read:jira-user | Show who saved a diagram when two people save at once |
storage:app | Keep panel diagrams in Forge hosted storage |
Subprocessorsβ
| Subprocessor | Purpose | Data |
|---|---|---|
| Atlassian | Hosting, storage and compute (Forge) | All app data |
| Sentry (Functional Software, Inc.), US | Error reports, logs and usage counts | Site ID, pseudonymous user ID, technical error details |
Report a security issueβ
Report a vulnerability or ask a security question through the support portal.
Relatedβ
- Permissions: which Confluence and Jira permissions apply to each action.
- Install, update and uninstall the app: what happens to diagrams when you uninstall.
- The app's admin page: the same facts, inside Atlassian Administration.