> ## Documentation Index
> Fetch the complete documentation index at: https://help.dsalta.com/llms.txt
> Use this file to discover all available pages before exploring further.

# LaunchDarkly

> Feature flags — members & access

<Tabs>
  <Tab title="Overview">
    Connect LaunchDarkly with an access token to sync account members, projects, and account-level audit log entries, and run access reviews. Read-only.

    <Info>
      **Read-only access.** DSALTA only reads data from this integration. It never creates, modifies, or deletes anything in your environment, and every remediation step is performed by your team directly in the third-party product.
    </Info>

    <Note>
      DSALTA collects this integration's data when you connect it — you can refresh it at any time with **Sync from integrations** on the **Integrations** page. The compliance checks below re-run once a day at 02:00 America/New\_York.
    </Note>

    ## What DSALTA reads

    DSALTA reads the LaunchDarkly user roster — names, emails, roles, MFA status and account creation dates, which appears on your **Access** page. LaunchDarkly's member API has no account-status field; pending invitations and no-access members are dropped before the sync, so every member listed is shown as Active. It also reads your LaunchDarkly resources, which appear on your **Inventory** page, and account-level audit log entries, which appear on your **Changes** page.

    It calls these LaunchDarkly endpoints:

    * `/caller-identity`
    * `/account`
    * `/members`
    * `/projects`
    * `/auditlog`

    Every request is a read. DSALTA has no code path that creates, modifies, or deletes anything in your LaunchDarkly environment.

    ## Troubleshooting

    <AccordionGroup>
      <Accordion title="The connection fails to validate">
        Invalid access token.
      </Accordion>
    </AccordionGroup>

    <AccordionGroup>
      <Accordion title="How do I check whether the connection is healthy?">
        Open **Integrations** in the DSALTA sidebar, stay on the **Connected** tab, and click **Manage** on the integration's card. Open the **Status** tab: it shows either **Connected and working properly** or **Connection issues detected**.

        Use the **Status** tab, not **Overview** — Overview always reports **Connected** regardless of the real state.
      </Accordion>

      <Accordion title="A check shows Failed and nothing changed on my side">
        On an integration-powered check, **Failed** normally means DSALTA was blocked rather than that you are non-compliant. Open the test, go to **Source Data**, and read the result code: **403** is a missing permission, **428** is a setting DSALTA still needs, **500** is a failure on DSALTA's side.

        A real compliance gap shows **207** and leaves the test looking **Completed**. See [Understanding Test Results](/guides/data-library/test-results).
      </Accordion>

      <Accordion title="Data looks out of date">
        Compliance checks re-run once a day at 02:00 America/New\_York. To refresh sooner, open **Integrations → Connected** and click **Sync from integrations** at the top right — it refreshes every connected integration at once.
      </Accordion>

      <Accordion title="How do I repair a broken connection?">
        There is no Reconnect, Repair or Refresh Token button. The only repair available is to disconnect and connect again.

        <Warning>
          **Disconnecting is destructive and cannot be undone.** DSALTA removes the access records, inventory, vulnerabilities, code changes, incidents and device records collected from this integration, and deletes the test results tied to the connection. Export anything you still need as audit evidence first — see [Integration errors](/troubleshooting/integration-errors).
        </Warning>
      </Accordion>

      <Accordion title="Configure scope will not let me change anything">
        That is expected. **Configure scope** is read-only — it shows what DSALTA is permitted to read, and has no Save action. To change what DSALTA can see, change the permissions on the credential in the third-party product, then disconnect and connect again.
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="How to connect">
    A LaunchDarkly access token with the Reader role or higher. Read-only.

    **Before you begin**

    * A LaunchDarkly account (free tier works)
    * An access token with the Reader role or higher

    You will need:

    | Field            | Where to find it                                            | Example                     |
    | ---------------- | ----------------------------------------------------------- | --------------------------- |
    | **Access Token** | [Open](https://app.launchdarkly.com/settings/authorization) | `LaunchDarkly access token` |

    <Steps>
      <Step title="Start in DSALTA">
        Open **Integrations** in the DSALTA sidebar, find **LaunchDarkly**, and click **Connect** to open the connect panel. Leave it open — it lists every value you need, and you create those in the steps below.
      </Step>

      <Step title="Open Account settings → Authorization">
        Go to app.launchdarkly.com/settings/authorization.

        LaunchDarkly labels this page **Organization settings → Authorization** in the current UI — open it from the gear icon in the left sidebar, then select Authorization. Access tokens are in the **Access tokens** table on that page.

        <img src="https://mintcdn.com/dsalta/4UzgskHSsjeDN5e5/images/integrations/launchdarkly/01-authorization-access-tokens.png?fit=max&auto=format&n=4UzgskHSsjeDN5e5&q=85&s=22a4d73ad155ccdcca55cc014e996d39" alt="LaunchDarkly Organization settings → Authorization page showing the Authorized applications section and the Access tokens table with the Create token button" style={{maxWidth:"720px",width:"100%",borderRadius:"8px"}} width="2928" height="1682" data-path="images/integrations/launchdarkly/01-authorization-access-tokens.png" />
      </Step>

      <Step title="Create an access token">
        Click Create token, give it a name (e.g. DSALTA), set the role to Reader (or higher), and click Save Token. Copy it — it's shown only once.

        <Tip>Prefer a **service token** over a personal token if your plan offers one. LaunchDarkly's creation dialog defaults to a personal token, whose permissions follow the member who created it: "If your own permissions are ever reduced, personal tokens you have created have reduced scope as well." So if the creator is later downgraded — or removed from the workspace — DSALTA's reads start failing or returning less data. A service token's permissions are fixed at creation and are LaunchDarkly's recommended option for long-lived integrations. Note that "Service tokens are only available to customers on select plans"; on a plan without them, create the personal token from a stable admin account.</Tip>

        Pick the built-in **Reader** base role. Reader is enough for everything DSALTA reads (account members, projects and the account audit log) and is the least privilege that works. Do not pick Custom unless you have to — "This option is available only if your LaunchDarkly subscription includes custom roles."
      </Step>

      <Step title="Connect LaunchDarkly">
        Paste your access token, then click Connect.
      </Step>
    </Steps>

    <Check>
      DSALTA validates the credential when you click **Connect**. On success the integration moves to the **Connected** tab, and **Manage → Status** reads **Connected and working properly**. Checks begin reporting after the first sync.
    </Check>

    <Warning>
      **If the connection is rejected.** Invalid access token.

      The on-screen message is generic — see [Connection error messages](/troubleshooting/connection-error-messages).
    </Warning>
  </Tab>

  <Tab title="Automated checks">
    Each check below re-runs once a day, at 02:00 America/New\_York, while this integration is connected. Click any check for step-by-step remediation guidance.

    | Check                                                                                                                       | Severity | What it verifies                                                                        |
    | --------------------------------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------- |
    | [User access to Critical System should be valid](/integrations/launchdarkly/user-access-to-critical-system-should-be-valid) | Info     | Checks that everyone with LaunchDarkly access is an active employee on the People page. |
    | [Offboarded users should not have active access](/integrations/launchdarkly/offboarded-users-should-not-have-active-access) | High     | Checks that offboarded employees no longer have active LaunchDarkly access.             |
    | [MFA should be enabled for all users](/integrations/launchdarkly/mfa-enabled-for-all-users)                                 | High     | Checks that every active LaunchDarkly member has multi-factor authentication enabled.   |
  </Tab>

  <Tab title="Useful links">
    | Topic   | Link                                                                                      |
    | ------- | ----------------------------------------------------------------------------------------- |
    | Setup   | [Create a LaunchDarkly access token](https://app.launchdarkly.com/settings/authorization) |
    | Setup   | [LaunchDarkly — API access tokens](https://launchdarkly.com/docs/home/account/api)        |
    | General | [LaunchDarkly website](https://launchdarkly.com)                                          |
    | DSALTA  | [Connection error messages](/troubleshooting/connection-error-messages)                   |
  </Tab>
</Tabs>
