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

# Onboarding (macOS App)

# Onboarding (macOS App)

This doc describes the **current** first‑run onboarding flow. The goal is a
smooth “day 0” experience: pick where the Gateway runs, connect auth, run the
wizard, and let the agent bootstrap itself.
For a general overview of onboarding paths, see [Getting Started](/datzi/start/getting-started).

<Steps>
  <Step title="Approve macOS warning">
    <Frame>
      <img alt="macOS security warning dialog during onboarding approval" />
    </Frame>
  </Step>

  <Step title="Approve find local networks">
    <Frame>
      <img alt="System prompt showing allow local network access request" />
    </Frame>
  </Step>

  <Step title="Welcome and security notice">
    <Frame>
      <img alt="Welcome screen with onboarding overview and security notice" />
    </Frame>
  </Step>

  <Step title="Local vs Remote">
    <Frame>
      <img alt="Gateway configuration options for local and remote setups" />
    </Frame>

    Where does the **Gateway** run?

    * **This Mac (Local only):** onboarding can run OAuth flows and write credentials
      locally.
    * **Remote (over SSH/Tailnet):** onboarding does **not** run OAuth locally;
      credentials must exist on the gateway host.
    * **Configure later:** skip setup and leave the app unconfigured.

    <Tip>
      **Gateway auth tip:**

      * The wizard now generates a **token** even for loopback, so local WS clients must authenticate.
      * If you disable auth, any local process can connect; use that only on fully trusted machines.
      * Use a **token** for multi‑machine access or non‑loopback binds.
    </Tip>
  </Step>

  <Step title="Permissions">
    <Frame>
      <img alt="Permissions checklist shown during Datzi onboarding" />
    </Frame>

    Onboarding requests TCC permissions needed for:

    * Automation (AppleScript)
    * Notifications
    * Accessibility
    * Screen Recording
    * Microphone
    * Speech Recognition
    * Camera
    * Location
  </Step>

  <Step title="CLI">
    <Info>This step is optional</Info>
    The app can install the global `datzi` CLI via npm/pnpm so terminal workflows
    and launchd tasks work out of the box.
  </Step>

  <Step title="Onboarding Chat (dedicated session)">
    After setup, the app opens a dedicated onboarding chat session so the agent can
    introduce itself and guide next steps. This keeps first‑run guidance separate
    from your normal conversation. See [Bootstrapping](/datzi/start/bootstrapping) for
    what happens on the gateway host during the first agent run.
  </Step>
</Steps>
