Privacy Policy

CodeDoc for Confluence · Last updated: October 12, 2026

1. Introduction

This Privacy Policy explains how CodeDoc for Confluence (formerly CodeDoc; "the App"), developed by Janek Behrens ("we", "us", "our"), handles data when installed on your Atlassian Confluence Cloud instance. We are committed to protecting your privacy and being transparent about our data practices.

2. Your Own Keys, and Atlassian AI

The App works with credentials you provide: access tokens for Git hosting providers (GitHub, GitLab, Bitbucket Cloud, Azure DevOps, or your own GitHub Enterprise or GitLab server) and, if you use AI pages with your own provider, API keys for AI services (Anthropic, OpenAI, or Google AI). The App uses these credentials solely to perform the functions you initiate. We do not have access to your API keys or tokens — they are stored in your Confluence instance's encrypted Forge storage and are never transmitted to us.

For Bitbucket, the App accepts repository, project and workspace access tokens. A Bitbucket connection made before version 8 with a personal API token or app password was entered as email:token or username:password, so its stored token also contains the e-mail address or user name of that account; CodeDoc marks such connections until an admin replaces them with an access token.

In the Advanced edition, AI pages use Atlassian AI unless an own AI key is connected and chosen in Settings: AI models hosted on Atlassian's platform (Forge LLMs). No AI key is needed for this, and no third-party AI account is involved. Your own key stays optional. In the Standard edition, AI pages need your own key.

Atlassian AI is a service of Atlassian, not of us. For an AI page, the App sends the selected files and the writing instructions to it and receives the generated page. How Atlassian processes, protects and retains this data, and which model providers it uses, is governed by Atlassian: see the Atlassian Privacy Policy, Atlassian's AI trust information and the Atlassian Customer Agreement.

3. Data We Access

The App accesses the following data solely to provide its functionality:

4. Data We Store

The App stores the following data using Atlassian Forge Storage (hosted and managed by Atlassian within your Confluence Cloud instance):

We do not store your source code or the generated documentation content. Source code is read, processed, and discarded within a single job execution. Generated documentation is written directly to Confluence.

5. Data We Do NOT Collect

Technical logs and usage counts: Like most Forge apps, the App writes technical log lines (for example "a sync run ended with an error") and, once a day, anonymous usage counters to Atlassian's app logging, which Atlassian makes available to us as the app vendor. Log lines may contain IDs of AI pages, jobs, connected repositories, Confluence pages and spaces from your site, as well as counts, statuses, provider and model names and durations, but never names, titles, repository or server addresses, branch names, file contents, account IDs, e-mail addresses or free text (free text is described only by a short hash and its length). We use them only to find errors and to see which features are used.

6. Third-Party Data Transmission

When you run a documentation job, the App transmits data to the following third-party services using your own credentials:

Your own Git servers are reached only after a site admin of your Atlassian site approved their address; Atlassian keeps that approval and shows it in Atlassian Administration (Connected apps).

Atlassian Forge Runtime Hub — sandboxed, on Atlassian infrastructure
↕ fetch code (HTTPS)
Your Git Provider GitHub / GitLab / Bitbucket / Azure DevOps / own server
Your credentials (BYOK)
Webhook triggers: Git → Forge (inbound)
↕ send code · receive docs
Your AI Provider Anthropic / OpenAI / Google AI
Your credentials (BYOK) — or Atlassian AI (Advanced)
↕ read/write pages
Confluence Cloud Documentation pages published here

Blue = Atlassian infrastructure   |   Orange = services you configure with your own credentials

Important: Each third-party provider has its own data handling and retention policies. We have no control over how your Git provider or AI provider processes, stores, or retains data sent to them. You are responsible for reviewing and accepting the terms and privacy policies of the services you connect.

We do not send data to any services beyond those you explicitly configure, and, for sync blocks with the version check, the public registries named above. No data is transmitted to our own servers or any other third party.

7. Data Processing Location and Data Residency

The App's backend logic runs entirely within the Atlassian Forge runtime environment as part of the Atlassian Forge platform. Data is processed on Atlassian's infrastructure. Outbound connections are made only to the Git and AI providers you configure (including own Git servers a site admin approved) and, for sync blocks with the version check, to the public registries named above, using Forge's allowlisted external fetch mechanism. Atlassian AI runs on Atlassian's platform.

The App does not offer data residency options. Everything listed in section 4 is stored in Forge hosted storage on Atlassian's infrastructure, and the App has no servers of its own. Because the App connects to Git and AI services you choose, it does not carry Atlassian's data residency (PINNED) status. Source code and other files the App reads from your Git provider are processed in memory and discarded; the text sent to your AI provider or to Atlassian AI is handled by that service, which decides location and retention. The technical logs are handled by Atlassian's app logging.

8. Data Retention

9. GDPR Compliance

As personal data, the App itself stores Atlassian account IDs (section 4), the name of the Git account behind each Git connection, and, in a Bitbucket connection made before version 8 with a personal token, the e-mail address or user name inside that token (section 2); everything else it keeps is configuration and run metadata. All of it stays in Forge Storage for your site. If your source code or generated documentation contains personal data, that data is read by the Atlassian Forge runtime and, for AI pages, sent to the AI provider you connected with your own key, or processed by Atlassian AI (Advanced edition). Transfers to an AI provider outside the EEA are made on your instruction and under the agreement you hold with that provider; for Atlassian AI, Atlassian's agreement applies (see section 2). We have no servers of our own; our only sub-processor is Atlassian, which hosts the App on Forge under Atlassian's Forge Data Processing Addendum (with Standard Contractual Clauses for transfers outside the EEA). Review your provider's data processing terms before you process code that contains personal data.

For a request about the stored account IDs, an admin can clear the run history, remove sync blocks, or contact us; after an uninstall, Atlassian deletes all App data 28 days later (section 8).

If you have any GDPR-related concerns, please contact us at the email address below.

10. Security

The App follows Atlassian Forge security best practices:

For comprehensive details, see our Security Statement.

11. Children's Privacy

The App is a business productivity tool and is not directed at children under 16. We do not knowingly collect data from children.

12. Changes to This Policy

We may update this Privacy Policy from time to time. Changes will be reflected in the "Last updated" date above. Continued use of the App after changes constitutes acceptance of the updated policy.

13. Contact

For questions or concerns about this Privacy Policy, contact us at:
Email: support@janekbehrens.de