> ## Documentation Index
> Fetch the complete documentation index at: https://eurusys-6c0957fa.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Access & credentials

> Everything in the MBKYC Nexus repositories is private. Here's how you get credentials and authenticate downloads.

Every MBKYC artifact — SDKs, desktop service packages, the C library — is published to a **private Nexus** repository. All downloads require authentication, so before you can pull anything you need two things from your ICP contact:

<Steps>
  <Step title="Your Nexus host">
    The base URL of your repository, e.g. `https://repo.client.ae`. Throughout these docs we use `repo.client.ae` as a placeholder — replace it with the host you're given.
  </Step>

  <Step title="A service-account username & password">
    A read-only account scoped to your organization's repositories. Treat it like any other secret.
  </Step>
</Steps>

<Info>
  These Nexus credentials are **only** for downloading packages. They are unrelated to your **API key** (used at runtime to authenticate SDK calls) — see [API keys](/dashboard/api-keys).
</Info>

## Authenticating a download

Every package manager has its own way to store credentials (covered in [Configure your package manager](/distribution/configure-nexus)). The lowest-common-denominator that always works is HTTP basic auth with `curl -u`:

```bash theme={null}
# Set once in your shell
export NEXUS_USER="your-username"
export NEXUS_PASSWORD="your-password"

# Download any raw artifact (example: the Swift XCFramework)
curl -fsSL -u "$NEXUS_USER:$NEXUS_PASSWORD" \
  https://repo.client.ae/repository/mbkyc-raw/mbkyc/swift-sdk/0.5.0/MBKYCSDK.xcframework.zip \
  -o MBKYCSDK.xcframework.zip
```

The same `-u "$NEXUS_USER:$NEXUS_PASSWORD"` pattern works for any raw artifact — SDK bundles, the macOS/Linux/Windows **service packages**, and the GPG signing key.

<Warning>
  **A 401 means your credentials didn't reach the server.** Double-check the username/password, that the host is correct, and that your account is authorized for that repository. If your password contains shell-special characters (`@`, `$`, `!`, …), wrap it in single quotes or let `curl` prompt for it (`-u "$NEXUS_USER"`).
</Warning>

## Keep credentials out of source control

<Warning>
  Never commit Nexus credentials. Use environment variables, a credentials file outside the repo (e.g. `~/.netrc`, `~/.gradle/gradle.properties`), or your CI secret store. The per-manager setup in [Configure your package manager](/distribution/configure-nexus) shows the right place for each toolchain.
</Warning>

<Card title="Next: pick your package" icon="box" href="/distribution/package-matrix">
  See the package matrix for the exact artifact and version for your platform.
</Card>
