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

# Hugging Face

> Machine-learning hub — members & access

<Tabs>
  <Tab title="Overview">
    Connect Hugging Face with an access token to sync organization members, models, datasets and Spaces, 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>
      **What you'll see.** Hugging Face keeps member email addresses private, so the Access page shows each organization member by **username** and full name, with their organization role (**admin**, **write**, **contributor** or **read**). Because there is no email, DSALTA matches members to your People page by username — first against the username recorded on the People page, then against the part of each person's email before the @. Hugging Face reports no account status, join date or MFA state, so every member is shown as **Active** with MFA **Unknown**, and each row is stamped with the date of the sync.
    </Note>

    <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 Hugging Face organization member roster — usernames, full names and roles — which appears on your **Access** page; and the organization's **models**, **datasets** and **Spaces**, which appear on your **Inventory** page with their visibility (public or private), download and like counts and last-modified date. Repository contents are never read.

    It calls these Hugging Face endpoints:

    * `/api/whoami-v2`
    * `/api/organizations/{slug}/members`
    * `/api/models?author={slug}`
    * `/api/datasets?author={slug}`
    * `/api/spaces?author={slug}`

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

    ## Troubleshooting

    <AccordionGroup>
      <Accordion title="Members show No matching person on the People page">
        Matching is by username, not email. Make sure each employee's People record carries their Hugging Face username, or that the part of their work email before the @ is exactly that username — a username of `jsmith` matches `jsmith@example.com`, but not `jsmith.doe@example.com`.
      </Accordion>

      <Accordion title="The connection is rejected with an organization error">
        The token's owner must belong to at least one organization — the roster is organization-scoped. If you entered an **Organization slug**, it must be the slug from the organization page URL: Hugging Face normalizes the name typed at sign-up, so the real slug can differ from it. Leave the field empty to let DSALTA pick the alphabetically first organization the token can see.
      </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 Hugging Face access token (Read type suffices). The organization is detected automatically. Read-only.

    **Before you begin**

    * A Hugging Face account that is a member of the organization you want reviewed. The member roster is organization-scoped, and the token inherits your membership.

    You will need:

    | Field                            | Where to find it                                   | Example                      |
    | -------------------------------- | -------------------------------------------------- | ---------------------------- |
    | **Access Token**                 | **Settings → Access Tokens → New token**           | `hf_…`                       |
    | **Organization slug** (optional) | The organization page URL, `huggingface.co/<slug>` | Only to pin one organization |

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

      <Step title="Create an access token">
        Sign in to [huggingface.co](https://huggingface.co), open **Settings → Access Tokens**, and click **New token**. Give it a name and choose the **Read** role — it is enough, because DSALTA only reads. Copy the token (it starts with `hf_`).

        <Tip>
          Hugging Face recommends one token per use and, for production, **fine-grained** tokens. If your organization only allows fine-grained tokens, create one scoped to the organization with read access to its repositories and members. Organizations that require administrator approval hold new fine-grained tokens in a **Pending** state until approved — DSALTA cannot read the roster until then.
        </Tip>
      </Step>

      <Step title="Connect Hugging Face">
        Return to the connect panel, paste the token, and click **Connect**. The organization is detected automatically. Only fill in **Organization slug** when the token can see several organizations and you need a specific one — copy it from the organization page URL rather than typing the name, because Hugging Face normalizes names.
      </Step>
    </Steps>

    <Check>
      DSALTA validates the token when you click **Connect**, by reading the token's own account and its organizations. 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 whose owner belongs to no organization, or an Organization slug that is not among the token's organizations.

      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/hugging-face/user-access-to-critical-system-should-be-valid) | Info     | Checks that everyone with Hugging Face access is an active employee on the People page. |
    | [Offboarded users should not have active access](/integrations/hugging-face/offboarded-users-should-not-have-active-access) | High     | Checks that offboarded employees no longer have active Hugging Face access.             |
  </Tab>

  <Tab title="Useful links">
    | Topic       | Link                                                                             |
    | ----------- | -------------------------------------------------------------------------------- |
    | Setup       | [User access tokens](https://huggingface.co/docs/hub/security-tokens)            |
    | Remediation | [Managing organizations](https://huggingface.co/docs/hub/organizations-managing) |
    | General     | [Hugging Face](https://huggingface.co)                                           |
    | DSALTA      | [Connection error messages](/troubleshooting/connection-error-messages)          |
  </Tab>
</Tabs>
