# Policies

Every key of a program's `policies`.

| Key | Type | Description |
|---|---|---|
| `strict` | `boolean` | When `true`, any warning fails the job, including a failing `$asserts` entry. Defaults to `false`. |
| `include_raw` | `boolean` | When `true`, the result carries the raw string of every field, not only of fields that failed or came out null, and `vars` are returned under `meta.vars`. Defaults to `false`. |
| `on_session_expired` | `"fail" \| "park" \| "refresh"` | What a job does when its session has expired: `refresh` (the default) runs the session's refresh program and carries on, `park` stops as `needs_attention` for a person to sign in, `fail` fails with `session_expired`. |
| `captcha` | `"park" \| "solve" \| "fail"` | What a job does when it meets a captcha: `park` (the default) waits for a person, `solve` buys a solve from the configured solver, `fail` fails the job. |
| `screenshot` | `"never" \| "on_failure" \| "always"` | When steps are screenshotted: `never`, `on_failure` (the default) or `always`. |
