Security

Applies to API Docs for Confluence and all Fernlight apps

Architecture

AreaHow it works
HostingAtlassian Forge. The app's code runs in Atlassian's managed runtime, and there are no Fernlight servers.
Data egressNone. The app declares no external fetch permissions, and Forge blocks any outbound network call that isn't declared. The app is eligible for Atlassian's Runs on Atlassian badge.
Data storageSpecs are Confluence page attachments, and settings live in the page. The app uses no Forge storage and no external databases.
Data residencyContent stays in your Confluence site, so it follows your organisation's Atlassian data residency settings.
Access controlEvery Confluence API call is made as the current user (asUser), so page and space restrictions are always enforced. The app never reads content with elevated app permissions.
SecretsThe app stores no API tokens, passwords or credentials.
Front-end isolationThe UI runs in a sandboxed Forge Custom UI iframe under Atlassian's Content Security Policy. Markdown in specs is sanitised with DOMPurify before it is rendered.
Spec parsingExternal $ref references are never resolved, so a spec cannot make the app fetch remote URLs or local files.

Permissions requested

ScopeWhy
read:page:confluenceIdentify the page that hosts the macro.
read:attachment:confluence, readonly:content.attachment:confluenceList spec attachments and their versions, and download them for rendering and comparison.
write:attachment:confluenceSave a pasted or uploaded spec as a page attachment.
read:confluence-content.allRequired by the attachment download endpoint used for PDF/Word export.

Development practices

Reporting a vulnerability

Email security@fernlight.dev with a description and the steps to reproduce. We acknowledge reports within 2 business days, and aim to fix critical issues within 7 days and high-severity issues within 28 days, in line with Atlassian's vulnerability SLAs. Please give us a reasonable opportunity to fix an issue before you disclose it publicly. We will not take action against good-faith research that avoids privacy violations and service disruption.

Incidents

If a security incident affects customer data, we will notify affected customers and Atlassian without undue delay, and within 72 hours of becoming aware of it.