Launchpad
Connect Launchpad to Safeguard: what it provides, how to set it up, and the frameworks it provides evidence for.
Connect Launchpad to collect version control evidence with automated compliance tests, switched on per workspace.
| Category | Version Control |
| Connect with | API token |
| What a connection produces | Automated compliance tests |
| Launchpad's guide | launchpad.net |
Connect with an API token
-
In Launchpad:
- Pick a consumer key: a string that identifies the application, such as the program name without a version number. This is the Consumer key.
- Send a form-URL-encoded POST to https://launchpad.net/+request-token (not api.launchpad.net) with oauth_consumer_key set to the consumer key, oauth_signature_method set to PLAINTEXT, and oauth_signature set to &. Save the returned oauth_token and oauth_token_secret (request token).
- Open https://launchpad.net/+authorize-token?oauth_token=\{oauth_token\} in a browser and, on the "Integrating [application name] into your Launchpad account" screen, choose the access level (see permission_steps).
- Send a form-encoded POST to https://launchpad.net/+access-token with oauth_token (the request token), oauth_consumer_key, oauth_signature_method set to PLAINTEXT, and oauth_signature set to & followed by the request token's oauth_token_secret.
- The response returns the permanent oauth_token and oauth_token_secret. Use these as the OAuth token and OAuth token secret, and store them securely.
- On the Launchpad authorization screen, choose Read Anything to allow access to private data as well as public data; Read Non-Private Data permits viewing public information only. Do not choose Change Non-Private Data or Change Anything.
Where to find the other values:
- Team: The team's Launchpad page URL is https://launchpad.net/~<team-name>/; the part after ~ is the team name.
Launchpad issues this credential through its API or its support team, not through its admin screens.
Sourced from the Launchpad manual's source in Canonical's official GitHub organization (canonical/launchpad-manual); the rendered manual at ubuntu.com/docs/launchpad returned HTTP 503. Launchpad has no UI for creating API keys: credentials come from the OAuth 1.0 PLAINTEXT exchange above, with a browser step where the user picks the access level (No access, Read Non-Private Data, Change Non-Private Data, Read Anything, Change Anything). The resulting token acts as the authorizing user, so that user must be able to see the team's private data. Authorized tokens are listed and can be revoked at https://launchpad.net/people/+me/+oauth-tokens (Revoke authorization). For public teams the token fields can be left empty.
Source: raw.githubusercontent.com, raw.githubusercontent.com, raw.githubusercontent.com, documentation.ubuntu.com, checked 2026-10-07.
The permissions Safeguard needs:
READ_PRIVATE (private teams only). -
On Compliance › Connectors, open Launchpad, click Connect, choose API token and fill in:
Field What to enter Team Required. Consumer key (optional) Stored encrypted and never shown again. OAuth token (optional) Stored encrypted and never shown again. OAuth token secret (optional) Stored encrypted and never shown again. -
Click Connect with token.
Frameworks
Safeguard's automated tests read Launchpad and map to the controls below. When a test passes, the result is evidence toward each control it maps to, in every framework listed. It is evidence toward a control, not proof that the control is met on its own.
| Framework | Evidence | Controls | Tests |
|---|---|---|---|
| SOC2 | Automated tests | CC6.2, CC6.3 | 2 |
| ISO/IEC 27001 | Automated tests | A.5.16, A.5.18, A.6.5 | 2 |
| HIPAA Security Rule | Automated tests | 164.308(a)(3), 164.308(a)(4) | 2 |
| PCI DSS | Automated tests | 7.2.4, 8.2.5 | 2 |
| NIST CSF 2.0 | Automated tests | PR.AA-01, PR.AA-05 | 2 |
These tests are switched on per workspace by the Safeguard team.
Related
- Version Control connectors
- Compliance connectors: how connecting works, card statuses and multiple accounts
- Connector setup reference: every connector in one table
- Frameworks and connectors: how connectors provide evidence for frameworks