# 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 covers each:

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

Seven more aren't built yet: `bot_check:`
([Bot protection](/docs/bot-protection.md)), `documents:`
([Documents](/docs/documents.md)), `grants:`
([OAuth grants](/docs/oauth-grants.md)),
`privacy:` ([Data requests](/docs/data-requests.md)),
`publishing:` ([Where events travel](/docs/where-events-travel.md)),
`scanning:` ([Image variants and scanning](/docs/files.md#image-variants-and-scanning))
and `telemetry:` ([Telemetry](/docs/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.
