> ## 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.

# Turso

> Edge SQLite databases — members & access

<Tabs>
  <Tab title="Overview">
    Connect Turso with a platform API token to sync organization members, databases and groups, 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>

    <Info>
      **What you'll see.** The Access page lists the members of one Turso **organization** with their username, email and role (**owner**, **admin**, **member** or **viewer**). Turso reports no account status or join date, so every member is shown as **Active** and each row is stamped with the date of the sync rather than the date they joined. Turso does report per-member MFA, so the **MFA** column shows **Yes** or **No**.
    </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 Turso organization member roster — usernames, emails, roles and MFA status — which appears on your **Access** page; and the organization's **databases** and **groups**, which appear on your **Inventory** page with their locations, the group each database belongs to, its version and whether it is archived.

    It calls these Turso endpoints:

    * `/v1/organizations`
    * `/v1/organizations/{slug}/members`
    * `/v1/organizations/{slug}/databases`
    * `/v1/organizations/{slug}/groups`

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

    ## Troubleshooting

    <AccordionGroup>
      <Accordion title="The Access page shows the wrong organization">
        A token can see every organization its owner belongs to, including their personal one. DSALTA prefers a team organization over a personal one and, among several teams, takes the first by slug. To pin a different organization, disconnect, then connect again with the **Organization slug** field filled in. Note that disconnecting permanently deletes the data already collected from Turso.
      </Accordion>

      <Accordion title="The connection is rejected">
        The token is invalid or revoked, or an **Organization slug** was entered that the token cannot see. Mint a new token and connect again.
      </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/compliance/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 Turso platform API token. The organization is detected automatically. Read-only.

    **Before you begin**

    * A Turso account that belongs to the organization you want reviewed. The token acts as that account, so it sees the organizations and members that account can see.

    You will need:

    | Field                            | Where to find it                                                                       | Example                      |
    | -------------------------------- | -------------------------------------------------------------------------------------- | ---------------------------- |
    | **API Token**                    | [app.turso.tech](https://app.turso.tech) → **Settings → API Tokens**, or the Turso CLI | Shown once                   |
    | **Organization slug** (optional) | The organization's name in the Turso dashboard URL                                     | Only to pin one organization |

    <Steps>
      <Step title="Start in DSALTA">
        Open **Integrations** in the DSALTA sidebar, find **Turso**, and click **Connect** to open the connect panel.
      </Step>

      <Step title="Create an API token">
        Sign in to [app.turso.tech](https://app.turso.tech) (Turso signs you in with GitHub), open **Settings → API Tokens**, and create a token. Copy it when it is shown.

        <Tip>
          If you already use the Turso CLI, the same token can be minted from a terminal. Turso's own docs recommend saving it somewhere safe at once, because it is not displayed again:

          ```bash theme={null}
          turso auth api-tokens mint dsalta
          ```
        </Tip>
      </Step>

      <Step title="Connect Turso">
        Return to the connect panel, paste the token, and click **Connect**. Team organizations are preferred automatically — enter an **Organization slug** only to pin a specific one.
      </Step>
    </Steps>

    <Check>
      DSALTA validates the token when you click **Connect**, by listing the organizations it can see and resolving the one to sync. 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 or revoked token, a token that sees no organization, or an Organization slug the token cannot see.

      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/turso/user-access-to-critical-system-should-be-valid) | Info     | Checks that everyone with Turso access is an active employee on the People page.     |
    | [Offboarded users should not have active access](/integrations/turso/offboarded-users-should-not-have-active-access) | High     | Checks that offboarded employees no longer have active Turso access.                 |
    | [MFA should be enabled for all users](/integrations/turso/mfa-enabled-for-all-users)                                 | High     | Checks that every Turso organization member has multi-factor authentication enabled. |
  </Tab>

  <Tab title="Useful links">
    | Topic       | Link                                                                               |
    | ----------- | ---------------------------------------------------------------------------------- |
    | Setup       | [Platform API quickstart](https://docs.turso.tech/api-reference/quickstart)        |
    | Setup       | [Mint an API token with the CLI](https://docs.turso.tech/cli/auth/api-tokens/mint) |
    | Remediation | [Organization members (CLI)](https://docs.turso.tech/cli/org/members/list)         |
    | General     | [Turso dashboard](https://app.turso.tech)                                          |
    | DSALTA      | [Connection error messages](/troubleshooting/connection-error-messages)            |
  </Tab>
</Tabs>
