## The four categories

`necessary` (always granted), `preferences`, `statistics`, `marketing`. Choose
which optional ones to show:

```js
lightning("init", { categories: ["preferences", "statistics", "marketing"] });
```

`necessary` is always included and can't be toggled off. See
[How it works](/how-it-works/#the-four-categories) for what each governs.

## Regulation model

Resolved [at the edge](/how-it-works/#regulation-is-resolved-at-the-edge) from
the visitor's region:

- **`gdpr`** — opt-in; optional categories default denied, banner shown.
- **`ccpa`** — opt-out; optional categories default granted, GPC honoured, "Do
  Not Sell or Share" offered.
- **`none`** — no banner.

Force one model everywhere with `geo`:

```js
lightning("init", { geo: "gdpr" }); // "auto" (default) | "gdpr" | "ccpa" | "none"
```

## Global Privacy Control

Honoured by default under US law. Turn it off only if you have a specific reason:

```js
lightning("init", { respectGpc: false }); // default: true
```

## Re-prompting

```js
lightning("init", { consentExpiryDays: 180 }); // 0 = never re-prompt (default)
```

After the set number of days a stored decision expires and the banner returns.

:::note[More detail coming]
Being migrated from the regulation and configuration sections of
`docs/INSTALL.md`.
:::