Privacy Policy

2016-04-04 - 2018-06-29 v1.9.1 - v2.4.0

This Plugin is fully EU General Data Protection Regulation (GDPR) compliant and follows the principles of Privacy By Design and Privacy By Default.

Description of Function

The Advanced Codeblock Macro in short ACBM is a plugin for Atlassian Confluence which runs as an OSGi Bundle inside a Confluence Instance. The Plugin provides code-boxes to highlight source code on a Confluence Page.

Data Storage

Data is stored within the Confluence Instance by mechanisms provided by Confluence itself.

ACBM Classic Macro and ACBM Remote Macro

Both macros store the macro body directly in the Confluence Page. The macro-settings like 'expand first code block', 'remoteFilelUrl', optional auth-username and optional auth-password are stored by Confluence as well.

Direct Download Feature

Both macros provide a way to download the Code-Blocks specified as Macro Body via a Remote HTTP Endpoint. That feature is called 'Direct Download'. The content provided by Direct-Download-Servlets is is pre-rendered and stored via the ContentPropertyManager as part of the Confluence Page as invisible meta data.

ACBM Remote Macro

During a Confluence-Page-Render of a Page containing the ACBM Remote Macro the following happens:

  • Firstly the CacheManager is asked if a cached version of the ACBM-Object exists. If YES continue with 'Fourthly'.
    If NO then a temporary directory is created in the global temp-directory [System.getProperty("java.io.tmpdir")].

  • Secondly the remote file is downloaded via a HTTP-Library into sub-directory of the temp-directory.

  • Thirdly the downloaded file is parsed into memory into the ACBM Data-Structure and lastly stored via the CacheManager in the Cache.

  • Fourthly the Macro displays the cached ACBM Data-Structure as HTML as part of the Confluence Page.

The cache key is calculated as a SHA1 hash of the macro-settings (url, username, password). No other data is stored in any way.

Network Connection

The plugin opens either HTTP-connections on TCP Port 80 or HTTPS-connections on TCP Port 443 to the remote File URL you specify. As described in 'Data Storage' the remote files are downloaded for temporary processing.

ACBM does not download any other Data than remote file URLs you specify. It also does not upload any data to third party Endpoints.

For the direct download feature servlets are provided which let the user download the codeblocks directly as raw content (plain text).

  • /plugins/servlet/advanced-codeblock-macro-downloadcode?pagepropertykey={KEY}&pageid={PAGEID}&macroid={MACROID}
  • /plugins/servlet/advanced-codeblock-macro-downloadlist?pageid={PAGEID}&macroid={MACROID}

Collection of Personal Information

No personal information is collected.

Security Measures

The plugin uses built in Atlassian Objects to enforce Authorization meaning it depends on the security configuration of your confluence. Whoever has the permissions to edit a Confluence Page can also edit the ACBM macro settings.

For the direct download feature the servlets are secured by internal Confluence authentication and authorization mechanisms so that basic auth is required. Only users with Confluence View Page permission can download content via these servlets provided by macros on the same Confluence page.

It depends on the user-input if the pom.xml files are loaded via HTTPS or plain HTTP. You are encouraged to only use HTTPS Connections.

The plugin is provided over a secure TLS (https) connection when installed via the Atlassian Marketplace.

The user of ACBM should enable TLS (https) for Confluence to secure Application against ethernet sniffing to avoid insecure authorization.