keelapps/Coverage for Bitbucket/Privacy policy
Privacy policy — Coverage for Bitbucket
The short version
Coverage for Bitbucket (“the app”) is published by Keelapps. It has two parts: a pipe that runs in your own Bitbucket Pipelines and writes coverage and test reports onto your commits, and a Forge app that reads those reports and shows them on pull requests. Neither sends your data anywhere outside Bitbucket. The app stores nothing and declares no external network permissions, which Atlassian enforces at the platform level. There is no Keelapps server, no analytics, no telemetry and no third party.
What the app reads
When someone opens a pull request, the app reads, as that person and with their Bitbucket permissions:
- the pull request's source and destination commits and branch names;
- the Coverage and Tests reports on those commits, and their annotations;
- the destination branch's recent commits, to find a report to compare with;
- when a commit has no Tests report, the test counts and failed test cases Bitbucket Pipelines collected, with their output.
When someone merges and the merge check is turned on, the app reads the same reports, as the app, for the repository and pull request Bitbucket names in the merge event.
What it reads is shown on the pull request and then discarded. The app has no storage of any kind, and it never reads your source code.
What the pipe writes
The pipe runs inside your pipeline, on your build, and writes two Code Insights reports to your own Bitbucket repository through the Pipelines proxy. They hold coverage totals; the paths of changed files and the line ranges not covered; and the names, results, durations and output (up to 2,000 characters each) of your tests. They are stored by Bitbucket on your commits, like any other Code Insights report. Keelapps never receives them.
The pipe's container image is downloaded by Bitbucket Pipelines from GitHub Container Registry. That download sends nothing from your build: the pipe makes no network request other than to your own Bitbucket repository and, to compare with the target branch, to fetch it from your own Git remote.
What it never does
- No data leaves Bitbucket. The app cannot make an outbound call, and the pipe talks only to your own repository. There is no analytics, no telemetry and no third-party service.
- Nothing is written by the app. It requests read scopes only: no write to pull requests, repositories or pipelines, and no storage.
- The vendor cannot browse your data. What Keelapps can see is the app's logs: like every Forge app's, they are shared with the developer by default, and your workspace administrator can switch that off. They hold the error text Bitbucket returns when a request fails, which can name a repository or a commit, and never coverage data, test output or code. Support requests are answered from what you tell us, not from your data.
- The app requests no scope beyond the three listed in its documentation.
Retention and deletion
- The app keeps nothing, so there is nothing for it to delete.
- The reports stay on your commits until Bitbucket removes them or you delete them through Bitbucket's Code Insights API. Each new run of the pipe replaces the reports on that commit. Uninstalling the app leaves them in place.
Data residency
Whatever your Bitbucket Cloud workspace's is. The reports are stored by Bitbucket, and the app stores nothing, so Coverage for Bitbucket introduces no additional residency considerations.
Sub-processors
None. Atlassian hosts the app and stores the reports. GitHub hosts the pipe's public container image and receives no data from your builds.
Changes
Material changes to what is read, written or where will be reflected here and in the Marketplace listing before they ship.
Contact
support@keelapps.atlassian.net — for questions about this policy, and for data access, correction or deletion requests.