# What `application { }` holds

`application { }` in `app.jadpo` holds the settings for the whole app,
each in a section of its own. These are all the sections it takes, and
the page that decides each:

| Section | What it sets | Decided in |
|---|---|---|
| `jadpo:` | The Jadpo release line the project is written for | [The root](the-root.md) |
| `display_name:` | The app's name, as people see it | [The application and revocation](the-application-and-revocation.md) |
| `revocation_delay:` | How long a disabled caller or a revoked session may keep working | [The application and revocation](the-application-and-revocation.md) |
| `connections:` | Every database, driver and package the app connects to | [Connecting in `app.jadpo`](connecting-in-app-jadpo.md) |
| `deployables:` | What is built to run, and where | [Declared deployables](declared-deployables.md) |
| `apis:` | The app's APIs and their versions | [APIs and versions](apis-and-versions.md) |
| `client_address:` | Where a request's client address is read | [Client addresses](client-addresses.md) |
| `translations:` | Whether the root translations need a review | [Review](what-the-compiler-checks-of-translations.md#review) |
| `rate_limits:` | Where rate limits are counted | [Rate limits](rate-limits.md) |
| `email:` | The connection every email goes through, and its sender | [Email](email.md) |
| `events:` | The store events are kept in | [Where the event is kept](emitting-an-event.md#where-the-event-is-kept) |
| `schedules:` | The store schedules' state is kept in | [Schedules](schedules.md) |
| `steps:` | How an action's steps are kept and sealed | [Several changing calls in one action](several-changing-calls-in-one-action.md) |
| `receiving:` | The queues read into the app's events | [Events from outside](events-from-outside.md) |
| `ai:` | The model connection, its models and its limits | [The `ai` capability](the-ai-capability.md) |

Seven more are decided and not built yet: `bot_check:`
([Bot protection](bot-protection.md)), `documents:`
([Documents](documents.md)), `grants:`
([OAuth grants](acting-for-each-user-oauth-grants.md)),
`privacy:` ([Data requests](data-requests.md)),
`publishing:` ([Where events travel](where-events-travel.md)),
`scanning:` ([Image variants and scanning](files.md#image-variants-and-scanning))
and `telemetry:` ([Telemetry](telemetry.md)). Each is
`toolchain.not_built_yet` where it is written, since accepting it would
read as a protection or a service the app doesn't have.

Any other section is `semantic.application_section_unknown`, so a
misspelt setting meant to protect the app is never dropped without a word.
When it is a near miss of a section, such as `revocation_dela:`, the
error's edit respells it.
