Keelcroft / Azure DevOps Sync for Jira / Privacy
Privacy Policy
Effective 26 September 2026. Azure DevOps Sync for Jira is published by Keelcroft. Privacy contact: support@keelcroft.com.
This app sends your issue content to Azure DevOps.
That is the purpose of a sync, and it is the most important thing to understand before installing. The sections below state exactly which fields leave Jira and where they go.
Scope
This policy explains how Azure DevOps Sync for Jira processes information when installed in Jira Cloud. The app runs entirely on Atlassian Forge. There is no vendor-hosted backend: Forge calls your Azure DevOps instance directly, and no customer data is relayed through infrastructure operated by Keelcroft. The app contains no advertising, no external analytics, and no AI services.
Information transferred to Azure DevOps
Only the fields a project administrator has enabled for the Jira to Azure DevOps direction, and only for issues an administrator has explicitly linked to a work item:
- The issue summary.
- The issue status, translated through the status map you set.
- The issue labels.
- The issue description as plain text, only if you switch it on. It is off by default.
Summaries, descriptions and labels may contain personal information chosen by your organisation. The app does not read or transfer comments, attachments, worklogs, custom fields, reporters, assignees, watchers, or any issue that has not been linked.
Information transferred to Jira
The mirror of the above, for the fields enabled in the Azure DevOps to Jira direction: work item title, state, tags, and optionally the description as plain text.
Information stored by the app
- Connection settings: your Azure DevOps organisation URL, project name, work item type, field and status maps, conflict policy, and the identifiers of the service hooks the app created.
- Link records: the Jira issue ID and key, the Azure DevOps work item ID and URL, per-field content digests, the agreement state, and timestamps. Digests are one-way SHA-256 hashes and cannot be turned back into field values.
- An event journal recording the origin of each change, the identifiers of the two records involved, the outcome, which fields were written, and any verification mismatch. It does not store issue or work item content, which is why a replay always re-reads both platforms rather than reusing a stored copy.
Credentials
The Azure DevOps personal access token or Microsoft Entra client secret you supply, and the webhook credentials this app generates, are written to Atlassian Forge encrypted secret storage. They are never returned to the app's user interface, never written to a log, and never sent anywhere other than the Microsoft endpoints below. The interface only ever reports whether a credential is present.
External destinations
- dev.azure.com — reading and writing work items, and managing service hooks.
- vssps.dev.azure.com — Azure DevOps identity endpoints.
- login.microsoftonline.com — exchanging Microsoft Entra service principal credentials for an access token. Not contacted when you use a personal access token.
- A host your own administrator adds — Azure DevOps Server only, through Atlassian's customer-managed egress controls. The app cannot add hosts itself.
Authorization and retention
Creating, changing, enabling or disabling a connection, and linking or unlinking an issue, all require Jira project administrator rights, which the app re-checks on the server for every such request. A connection is scoped to a single Jira project and cannot read or write another project's records.
- Connection settings and link records are kept until the connection is disconnected or the app is uninstalled.
- Event journal entries expire 90 days after their latest write.
- Forge retains hosted storage for 28 days after uninstall.
Contact
Send privacy, access or deletion questions to support@keelcroft.com. Report suspected vulnerabilities to the same address with the subject line “Security”. Include the Jira site, but never send passwords or API tokens.