Privacy Policy
Last updated: October 2, 2026
1. Introduction
This Privacy Policy explains how CodeDoc for Confluence (formerly CodeDoc AI; "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.
In the Advanced edition, AI pages can instead use Atlassian AI: AI models hosted on Atlassian's platform (Forge LLMs). No AI key is needed for this, and no third-party AI account is involved.
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:
- Source code (AI pages): Fetched from your Git repositories by the Atlassian Forge runtime (running on Atlassian's infrastructure) using your access token. The code is loaded into the Forge runtime's memory, processed there, and forwarded to your AI provider. Code is not cached or retained after the job execution completes.
- Files for sync blocks: The file a sync block shows is read from your Git repository in the same way. The App writes the part you chose into that block on the Confluence page. Nothing from sync blocks is sent to an AI provider.
- Confluence data: Space names and page IDs — used to create or update documentation pages in the spaces you select.
- AI API: Your source code is sent to your chosen AI provider using your API key, or, with Atlassian AI (Advanced edition), to the AI models hosted on Atlassian's platform, for documentation generation. The response (generated documentation) is published to Confluence.
- Version check (optional): For a sync block where you switch on "Compare with the latest release", the App sends the public name of the image or package named in the file (for example "nginx") to its public registry to read the newest release. No file content, repository, page or user information is sent.
4. Data We Store
The App stores the following data using Atlassian Forge Storage (hosted and managed by Atlassian within your Confluence Cloud instance):
- AI provider configuration (provider type, encrypted API key, selected model)
- Git provider configuration (provider type, encrypted access token, display name, base URL)
- Repository list (repository URLs, branches, provider references)
- Job configuration (selected repositories, documentation preset, trigger settings, target space)
- Generation history (job name, status, timestamp, token usage, page link — no source code or generated content)
- Job execution status (ephemeral progress state during active job runs)
- Webhook deduplication data (recent event IDs to prevent duplicate processing — no payload content)
- Webhook signature secret (if configured by you for webhook verification)
- Sync block records (page and block ID, block settings, a checksum of the last synced content, status and last error — not the file content)
- Anonymous daily usage counts per feature (for example "a sync block was updated"), without any page, space, repository, file or user information
- Atlassian AI usage per month (Advanced edition): credits, token counts, number of runs and model name — no source code or generated content
- Version check answers: public release numbers and support dates per image or package name, kept for 12 hours
- App-level settings (general preferences and configuration flags)
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
- We do not collect, transmit, or store any personally identifiable information (PII).
- We do not send any data to our own servers or to any third-party analytics, tracking, or advertising platforms.
- We do not use cookies, tracking pixels, or any form of user tracking.
- We do not have access to your API keys, access tokens, or source code.
- We do not retain or log the content of your source code or the generated documentation.
Technical logs and usage counts: Like most Forge apps, the App writes technical logs (for example "a sync run ended with an error") and the anonymous, aggregated usage counts listed above to Atlassian's app logging, which Atlassian makes available to us as the app vendor. They contain no personal data, no source code and no page content, and 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 Git provider (GitHub, GitLab, Bitbucket, or Azure DevOps) — to read source code files from your repositories.
- Your AI provider (Anthropic, OpenAI, or Google AI) — to generate documentation from the source code, if you use your own key. With Atlassian AI (Advanced edition) the code is processed on Atlassian's platform instead.
- Public registries (Docker Hub, npm, PyPI, GitHub releases, endoflife.date) — only for sync blocks with the version check, and only the public name of an image or package.
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).
Your credentials (BYOK)
Your credentials (BYOK) — or Atlassian AI (Advanced)
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. No data is transmitted to our own servers or any other third party.
7. Data Processing Location
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.
8. Data Retention
- Configuration data (providers, jobs, repositories) is retained in Forge Storage as long as the App is installed. Uninstalling the App removes all stored data.
- Generation history (metadata only — no source code or content) is stored until you clear it via the "Clear History" function or uninstall the App.
- Source code is never stored. It is fetched from Git into the Atlassian Forge runtime, processed in memory, forwarded to the AI provider or Atlassian AI, and discarded within the same job execution.
- Version check answers are kept for 12 hours; Atlassian AI usage counts per month as long as the App is installed.
- Generated documentation is stored as standard Confluence pages. These pages persist independently of the App and are not deleted upon uninstallation.
9. GDPR Compliance
The App does not collect or process personal data. Configuration data stored in Forge Storage does not contain PII. Since we do not collect personal data, GDPR data subject requests (access, rectification, erasure, portability) are not directly applicable to the App's own storage.
However, if your source code or generated documentation contains personal data, please note that this data is loaded into and processed by the Atlassian Forge runtime (on Atlassian's infrastructure) and is also transmitted to your AI provider as part of the generation process — or, with Atlassian AI, processed by AI models on Atlassian's platform under Atlassian's terms (see section 2). Review both Atlassian's and your AI provider's GDPR compliance and data processing agreements before processing code that contains personal data.
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:
- Runs in a sandboxed Forge environment with restricted network access (only allowlisted domains).
- API keys and access tokens are stored in Atlassian Forge encrypted storage.
- All external data transfers use TLS encryption.
- No credentials are logged, exposed in error messages, or transmitted to us.
- The App uses minimal Confluence API scopes:
storage:app,read:space,read:page, andwrite:page.
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