# Installing the beta

The beta builds are **unsigned**: there is no Apple Developer ID and no
Windows code-signing certificate behind them, so both systems warn the first
time. Nothing is wrong with the app; a signature costs money and a beta for
friends does not need one. Here is exactly what each system says and what to
click.

## macOS

1. Open `NLHE-Solver-<version>-macOS-<arch>.dmg` and drag **NLHE Solver** to
   Applications.
2. The first launch must be **right-click (or Control-click) the app → Open →
   Open**. Double-clicking shows "cannot be opened because the developer
   cannot be verified" with no way past it; the right-click route offers the
   Open button. Later launches are ordinary double-clicks.
3. If macOS instead says the app **is damaged**, the download was quarantined
   in a way that route cannot clear. In Terminal:

   ```
   xattr -dr com.apple.quarantine "/Applications/NLHE Solver.app"
   ```

   Then open it normally.

## Windows

1. Run `NLHE Solver_<version>_x64-setup.exe`.
2. SmartScreen shows **"Windows protected your PC"**. Click **More info →
   Run anyway**. The publisher line reads "Unknown publisher", which is what
   an unsigned installer looks like.
3. Windows Defender may scan the bundled solver on first launch; the first
   solve can be slower while it does.

## First run, both systems

- The app asks you to **sign in**. New accounts require an email address,
  password, and the six-digit verification code sent to that address. The app
  serves nothing until verification and sign-in complete.
- Everything solves locally on your own machine. Ranges, boards and results
  never leave it; the account exists only to open the app.
- Every verified open-beta account has full access: it can divide a machine-wide
  thread budget across simultaneous Job Manager solves, build board aggregate
  reports, and re-solve around authored node locks. The app never silently
  exceeds the declared CPU or safe-memory envelope.
- Solve outputs live in `~/nlhe_solver_artifacts` (macOS/Linux) or
  `%USERPROFILE%\nlhe_solver_artifacts` (Windows). Delete anything under
  `runtime/product_solve_jobs` to reclaim space; leave the rest alone.

## Board abstractions

Nothing to install. The board-runout pack a preflop solve needs travels
inside the app and is put in place the first time it starts, which is why
the download is around 400 MB and the very first launch takes a few seconds
longer. Every street solves out of the box.

## If something goes wrong

The app writes a log:

- macOS: `~/Library/Logs/NLHESolver/NLHESolver.log`
- Windows: `%LOCALAPPDATA%\NLHESolver\logs\`

Send that file with a description of what you did.
