# Configuration file reference

This reference documents **175 fields** accepted by the current `probod` configuration schema. It is generated from [`pkg/probodconfig`](https://github.com/getprobo/probo/tree/main/pkg/probodconfig), so every serialized field is included.

JSON and YAML use the same field names and hierarchy. Array paths use `[]`; map paths use `{name}` to represent a user-defined key.

The serialization column describes whether an empty value can be omitted from generated files. It does not by itself indicate whether a value is operationally required.

## Unit

| Field                         | Type    | Serialization      | Description | Source                                                                                   |
| ----------------------------- | ------- | ------------------ | ----------- | ---------------------------------------------------------------------------------------- |
| `unit.metrics.addr`           | string  | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/config.go#L39) |
| `unit.tracing.addr`           | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/config.go#L44) |
| `unit.tracing.max-batch-size` | integer | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/config.go#L45) |
| `unit.tracing.batch-timeout`  | integer | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/config.go#L46) |
| `unit.tracing.export-timeout` | integer | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/config.go#L47) |
| `unit.tracing.max-queue-size` | integer | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/config.go#L48) |

## Core application

| Field                   | Type    | Serialization      | Description | Source                                                                                   |
| ----------------------- | ------- | ------------------ | ----------- | ---------------------------------------------------------------------------------------- |
| `probod.base-url`       | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/config.go#L58) |
| `probod.encryption-key` | string  | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/config.go#L59) |
| `probod.chrome-dp-addr` | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/config.go#L80) |
| `probod.branding`       | boolean | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/config.go#L84) |

## PostgreSQL

| Field                                        | Type    | Serialization      | Description | Source                                                                                      |
| -------------------------------------------- | ------- | ------------------ | ----------- | ------------------------------------------------------------------------------------------- |
| `probod.pg.addr`                             | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/pg_config.go#L32) |
| `probod.pg.username`                         | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/pg_config.go#L33) |
| `probod.pg.password`                         | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/pg_config.go#L34) |
| `probod.pg.database`                         | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/pg_config.go#L35) |
| `probod.pg.pool-size`                        | integer | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/pg_config.go#L36) |
| `probod.pg.min-pool-size`                    | integer | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/pg_config.go#L37) |
| `probod.pg.max-conn-idle-time-seconds`       | integer | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/pg_config.go#L38) |
| `probod.pg.max-conn-lifetime-seconds`        | integer | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/pg_config.go#L39) |
| `probod.pg.max-conn-lifetime-jitter-seconds` | integer | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/pg_config.go#L40) |
| `probod.pg.health-check-period-seconds`      | integer | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/pg_config.go#L41) |
| `probod.pg.ca-cert-bundle`                   | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/pg_config.go#L42) |
| `probod.pg.debug`                            | boolean | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/pg_config.go#L43) |

## API

| Field                                       | Type     | Serialization      | Description | Source                                                                                       |
| ------------------------------------------- | -------- | ------------------ | ----------- | -------------------------------------------------------------------------------------------- |
| `probod.api.addr`                           | string   | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/api_config.go#L47) |
| `probod.api.proxy-protocol.trusted-proxies` | string[] | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/api_config.go#L32) |
| `probod.api.cors.allowed-origins`           | string[] | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/api_config.go#L24) |
| `probod.api.extra-header-fields`            | object   | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/api_config.go#L50) |
| `probod.api.graphql.parser-token-limit`     | integer  | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/api_config.go#L40) |
| `probod.api.graphql.complexity-limit`       | integer  | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/api_config.go#L41) |
| `probod.api.graphql.query-cache-size`       | integer  | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/api_config.go#L42) |
| `probod.api.graphql.disable-suggestion`     | boolean  | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/api_config.go#L43) |

## Auth

| Field                                                   | Type           | Serialization      | Description | Source                                                                                         |
| ------------------------------------------------------- | -------------- | ------------------ | ----------- | ---------------------------------------------------------------------------------------------- |
| `probod.auth.cookie.domain`                             | string         | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L84)  |
| `probod.auth.cookie.secret`                             | string         | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L85)  |
| `probod.auth.cookie.duration`                           | integer        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L86)  |
| `probod.auth.cookie.name`                               | string         | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L87)  |
| `probod.auth.cookie.secure`                             | boolean        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L88)  |
| `probod.auth.cookie.same-site`                          | CookieSameSite | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L89)  |
| `probod.auth.password.iterations`                       | integer        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L119) |
| `probod.auth.password.pepper`                           | string         | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L120) |
| `probod.auth.disable-signup`                            | boolean        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L57)  |
| `probod.auth.invitation-confirmation-token-validity`    | integer        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L58)  |
| `probod.auth.password-reset-token-validity`             | integer        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L59)  |
| `probod.auth.magic-link-token-validity`                 | integer        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L60)  |
| `probod.auth.email-confirmation-token-validity`         | integer        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L61)  |
| `probod.auth.saml.session-duration`                     | integer        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/saml_config.go#L28)  |
| `probod.auth.saml.cleanup-interval-seconds`             | integer        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/saml_config.go#L29)  |
| `probod.auth.saml.certificate`                          | string         | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/saml_config.go#L30)  |
| `probod.auth.saml.private-key`                          | string         | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/saml_config.go#L31)  |
| `probod.auth.saml.domain-verification-interval-seconds` | integer        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/saml_config.go#L32)  |
| `probod.auth.saml.domain-verification-resolver-addr`    | string         | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/saml_config.go#L33)  |
| `probod.auth.google.client-id`                          | string         | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/oidc_config.go#L24)  |
| `probod.auth.google.client-secret`                      | string         | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/oidc_config.go#L25)  |
| `probod.auth.google.enabled`                            | boolean        | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/oidc_config.go#L26)  |
| `probod.auth.microsoft.client-id`                       | string         | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/oidc_config.go#L24)  |
| `probod.auth.microsoft.client-secret`                   | string         | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/oidc_config.go#L25)  |
| `probod.auth.microsoft.enabled`                         | boolean        | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/oidc_config.go#L26)  |
| `probod.auth.oauth2-server.signing-keys[].private-key`  | string         | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L78)  |
| `probod.auth.oauth2-server.signing-keys[].kid`          | string         | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L79)  |
| `probod.auth.oauth2-server.signing-keys[].active`       | boolean        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L80)  |
| `probod.auth.oauth2-server.access-token-duration`       | integer        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L70)  |
| `probod.auth.oauth2-server.refresh-token-duration`      | integer        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L71)  |
| `probod.auth.oauth2-server.authorization-code-duration` | integer        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L72)  |
| `probod.auth.oauth2-server.device-code-duration`        | integer        | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L73)  |
| `probod.auth.oauth2-server.cimd-allowed-client-ids`     | string[]       | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/auth_config.go#L74)  |

## ITAM

| Field                                          | Type    | Serialization  | Description | Source                                                                                        |
| ---------------------------------------------- | ------- | -------------- | ----------- | --------------------------------------------------------------------------------------------- |
| `probod.itam.device-enrollment-token-validity` | integer | Always emitted | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/itam_config.go#L24) |

## Compliance portal

| Field                                                | Type     | Serialization      | Description | Source                                                                                       |
| ---------------------------------------------------- | -------- | ------------------ | ----------- | -------------------------------------------------------------------------------------------- |
| `probod.trust-center.http-addr`                      | string   | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/config.go#L89)     |
| `probod.trust-center.https-addr`                     | string   | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/config.go#L90)     |
| `probod.trust-center.base-domain`                    | string   | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/config.go#L91)     |
| `probod.trust-center.proxy-protocol.trusted-proxies` | string[] | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/api_config.go#L32) |

## Object storage

| Field                          | Type    | Serialization      | Description | Source                                                                                       |
| ------------------------------ | ------- | ------------------ | ----------- | -------------------------------------------------------------------------------------------- |
| `probod.aws.region`            | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/aws_config.go#L24) |
| `probod.aws.bucket`            | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/aws_config.go#L25) |
| `probod.aws.access-key-id`     | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/aws_config.go#L26) |
| `probod.aws.secret-access-key` | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/aws_config.go#L27) |
| `probod.aws.endpoint`          | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/aws_config.go#L28) |
| `probod.aws.use-path-style`    | boolean | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/aws_config.go#L29) |

## Notifications

| Field                                             | Type    | Serialization      | Description                                                                                                                                                                                                                                                                               | Source                                                                                                 |
| ------------------------------------------------- | ------- | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| `probod.notifications.mailer.mailer-interval`     | integer | Always emitted     | —                                                                                                                                                                                                                                                                                         | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/mailer_config.go#L24)        |
| `probod.notifications.mailer.sender-name`         | string  | Omitted when empty | —                                                                                                                                                                                                                                                                                         | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/mailer_config.go#L25)        |
| `probod.notifications.mailer.sender-email`        | string  | Omitted when empty | —                                                                                                                                                                                                                                                                                         | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/mailer_config.go#L26)        |
| `probod.notifications.mailer.smtp.addr`           | string  | Omitted when empty | —                                                                                                                                                                                                                                                                                         | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/mailer_config.go#L31)        |
| `probod.notifications.mailer.smtp.user`           | string  | Omitted when empty | —                                                                                                                                                                                                                                                                                         | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/mailer_config.go#L32)        |
| `probod.notifications.mailer.smtp.password`       | string  | Omitted when empty | —                                                                                                                                                                                                                                                                                         | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/mailer_config.go#L33)        |
| `probod.notifications.mailer.smtp.tls-required`   | boolean | Always emitted     | —                                                                                                                                                                                                                                                                                         | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/mailer_config.go#L34)        |
| `probod.notifications.mailer.smtp.hello-name`     | string  | Omitted when empty | —                                                                                                                                                                                                                                                                                         | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/mailer_config.go#L35)        |
| `probod.notifications.slack.sender-interval`      | integer | Always emitted     | —                                                                                                                                                                                                                                                                                         | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/slack_config.go#L24)         |
| `probod.notifications.slack.signing-secret`       | string  | Omitted when empty | —                                                                                                                                                                                                                                                                                         | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/slack_config.go#L25)         |
| `probod.notifications.webhook.sender-interval`    | integer | Always emitted     | —                                                                                                                                                                                                                                                                                         | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/notifications_config.go#L31) |
| `probod.notifications.webhook.cache-ttl`          | integer | Always emitted     | —                                                                                                                                                                                                                                                                                         | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/notifications_config.go#L32) |
| `probod.notifications.document.interval`          | integer | Always emitted     | Interval is how often the worker scans for pending requests.                                                                                                                                                                                                                              | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/notifications_config.go#L39) |
| `probod.notifications.document.debounce-delay`    | integer | Always emitted     | DebounceDelay is how long a request must have been pending before its first notification is sent.                                                                                                                                                                                         | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/notifications_config.go#L42) |
| `probod.notifications.document.reminder-interval` | integer | Always emitted     | ReminderInterval is the base reminder cadence in seconds. Reminders are sent at 1x, 2x and 3x this interval after the previous email, then stop. Reminder sends that fall on Saturday or Sunday are deferred to Monday at the same clock time; the first (debounced) notice is unchanged. | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/notifications_config.go#L47) |

## Connectors

| Field                          | Type                   | Serialization      | Description | Source                                                                                             |
| ------------------------------ | ---------------------- | ------------------ | ----------- | -------------------------------------------------------------------------------------------------- |
| `probod.connectors[].provider` | string                 | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/connector_config.go#L33) |
| `probod.connectors[].protocol` | connector.ProtocolType | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/connector_config.go#L34) |
| `probod.connectors[].config`   | object                 | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/connector_config.go#L36) |
| `probod.connectors[].settings` | object                 | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/connector_config.go#L38) |

## Connector Endpoints

| Field                                        | Type   | Serialization      | Description                                                                                                                                                                                                                                                                                                    | Source                                                                                             |
| -------------------------------------------- | ------ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `probod.connector-endpoints.{name}.auth`     | string | Omitted when empty | —                                                                                                                                                                                                                                                                                                              | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/connector_config.go#L67) |
| `probod.connector-endpoints.{name}.token`    | string | Omitted when empty | —                                                                                                                                                                                                                                                                                                              | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/connector_config.go#L68) |
| `probod.connector-endpoints.{name}.probe`    | string | Omitted when empty | —                                                                                                                                                                                                                                                                                                              | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/connector_config.go#L69) |
| `probod.connector-endpoints.{name}.identity` | string | Omitted when empty | Identity is the host a provider's driver resolves its real data host from, for providers that split the two. It must move together with Probe — probod refuses to start on a mismatch, because a moved probe with a stale identity host reports healthy while every data call still reaches the real provider. | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/connector_config.go#L75) |
| `probod.connector-endpoints.{name}.api-base` | string | Omitted when empty | —                                                                                                                                                                                                                                                                                                              | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/connector_config.go#L76) |

## AI providers and agents

| Field                                                  | Type    | Serialization      | Description                      | Source                                                                                        |
| ------------------------------------------------------ | ------- | ------------------ | -------------------------------- | --------------------------------------------------------------------------------------------- |
| `probod.llm.providers.{name}.type`                     | string  | Always emitted     | "openai", "anthropic", "bedrock" | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L27)  |
| `probod.llm.providers.{name}.api-key`                  | string  | Omitted when empty | for OpenAI and Anthropic         | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L28)  |
| `probod.llm.defaults.provider`                         | string  | Omitted when empty | key into AgentsConfig.Providers  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L34)  |
| `probod.llm.defaults.model-name`                       | string  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L35)  |
| `probod.llm.defaults.temperature`                      | number  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L36)  |
| `probod.llm.defaults.max-tokens`                       | integer | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L37)  |
| `probod.llm.probo.provider`                            | string  | Omitted when empty | key into AgentsConfig.Providers  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L34)  |
| `probod.llm.probo.model-name`                          | string  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L35)  |
| `probod.llm.probo.temperature`                         | number  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L36)  |
| `probod.llm.probo.max-tokens`                          | integer | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L37)  |
| `probod.llm.evidence-describer.provider`               | string  | Omitted when empty | key into AgentsConfig.Providers  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L34)  |
| `probod.llm.evidence-describer.model-name`             | string  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L35)  |
| `probod.llm.evidence-describer.temperature`            | number  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L36)  |
| `probod.llm.evidence-describer.max-tokens`             | integer | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L37)  |
| `probod.llm.third-party-vetter.provider`               | string  | Omitted when empty | key into AgentsConfig.Providers  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L34)  |
| `probod.llm.third-party-vetter.model-name`             | string  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L35)  |
| `probod.llm.third-party-vetter.temperature`            | number  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L36)  |
| `probod.llm.third-party-vetter.max-tokens`             | integer | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L37)  |
| `probod.llm.third-party-disambiguation.provider`       | string  | Omitted when empty | key into AgentsConfig.Providers  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L34)  |
| `probod.llm.third-party-disambiguation.model-name`     | string  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L35)  |
| `probod.llm.third-party-disambiguation.temperature`    | number  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L36)  |
| `probod.llm.third-party-disambiguation.max-tokens`     | integer | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L37)  |
| `probod.llm.tracker-mapping.provider`                  | string  | Omitted when empty | key into AgentsConfig.Providers  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L34)  |
| `probod.llm.tracker-mapping.model-name`                | string  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L35)  |
| `probod.llm.tracker-mapping.temperature`               | number  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L36)  |
| `probod.llm.tracker-mapping.max-tokens`                | integer | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L37)  |
| `probod.llm.tracker-enrichment.provider`               | string  | Omitted when empty | key into AgentsConfig.Providers  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L34)  |
| `probod.llm.tracker-enrichment.model-name`             | string  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L35)  |
| `probod.llm.tracker-enrichment.temperature`            | number  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L36)  |
| `probod.llm.tracker-enrichment.max-tokens`             | integer | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L37)  |
| `probod.llm.common-third-party-enrichment.provider`    | string  | Omitted when empty | key into AgentsConfig.Providers  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L34)  |
| `probod.llm.common-third-party-enrichment.model-name`  | string  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L35)  |
| `probod.llm.common-third-party-enrichment.temperature` | number  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L36)  |
| `probod.llm.common-third-party-enrichment.max-tokens`  | integer | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L37)  |
| `probod.llm.tools.firecrawl-api-key`                   | string  | Omitted when empty | —                                | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L104) |

## Evidence Describer

| Field                                       | Type    | Serialization  | Description                        | Source                                                                                       |
| ------------------------------------------- | ------- | -------------- | ---------------------------------- | -------------------------------------------------------------------------------------------- |
| `probod.evidence-describer.interval`        | integer | Always emitted | seconds between polls              | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L44) |
| `probod.evidence-describer.stale-after`     | integer | Always emitted | seconds before a claim is recycled | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L45) |
| `probod.evidence-describer.max-concurrency` | integer | Always emitted | —                                  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L46) |

## Third Party Vetting Worker

| Field                                               | Type    | Serialization  | Description                        | Source                                                                                       |
| --------------------------------------------------- | ------- | -------------- | ---------------------------------- | -------------------------------------------------------------------------------------------- |
| `probod.third-party-vetting-worker.interval`        | integer | Always emitted | seconds between polls              | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L53) |
| `probod.third-party-vetting-worker.stale-after`     | integer | Always emitted | seconds before a claim is recycled | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L54) |
| `probod.third-party-vetting-worker.max-concurrency` | integer | Always emitted | —                                  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L55) |

## Tracker Mapping Worker

| Field                                                        | Type    | Serialization  | Description                        | Source                                                                                       |
| ------------------------------------------------------------ | ------- | -------------- | ---------------------------------- | -------------------------------------------------------------------------------------------- |
| `probod.tracker-mapping-worker.interval`                     | integer | Always emitted | seconds between polls              | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L66) |
| `probod.tracker-mapping-worker.max-concurrency`              | integer | Always emitted | —                                  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L67) |
| `probod.tracker-mapping-worker.stale-after`                  | integer | Always emitted | seconds before a claim is recycled | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L68) |
| `probod.tracker-mapping-worker.agent-timeout`                | integer | Always emitted | seconds, single agent run          | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L69) |
| `probod.tracker-mapping-worker.agent-max-turns`              | integer | Always emitted | —                                  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L70) |
| `probod.tracker-mapping-worker.disambiguation-agent-timeout` | integer | Always emitted | seconds, single disambiguation run | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L71) |

## Common Pattern Enrichment Worker

| Field                                                     | Type    | Serialization  | Description                        | Source                                                                                       |
| --------------------------------------------------------- | ------- | -------------- | ---------------------------------- | -------------------------------------------------------------------------------------------- |
| `probod.common-pattern-enrichment-worker.interval`        | integer | Always emitted | seconds between polls              | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L78) |
| `probod.common-pattern-enrichment-worker.max-concurrency` | integer | Always emitted | —                                  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L79) |
| `probod.common-pattern-enrichment-worker.stale-after`     | integer | Always emitted | seconds before a claim is recycled | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L80) |
| `probod.common-pattern-enrichment-worker.agent-timeout`   | integer | Always emitted | seconds, single agent run          | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L81) |
| `probod.common-pattern-enrichment-worker.agent-max-turns` | integer | Always emitted | —                                  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L82) |

## Common Third Party Enrichment Worker

| Field                                                              | Type    | Serialization  | Description                        | Source                                                                                       |
| ------------------------------------------------------------------ | ------- | -------------- | ---------------------------------- | -------------------------------------------------------------------------------------------- |
| `probod.common-third-party-enrichment-worker.interval`             | integer | Always emitted | seconds between polls              | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L92) |
| `probod.common-third-party-enrichment-worker.max-concurrency`      | integer | Always emitted | —                                  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L93) |
| `probod.common-third-party-enrichment-worker.stale-after`          | integer | Always emitted | seconds before a claim is recycled | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L94) |
| `probod.common-third-party-enrichment-worker.agent-timeout`        | integer | Always emitted | seconds, single agent run          | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L95) |
| `probod.common-third-party-enrichment-worker.agent-max-turns`      | integer | Always emitted | —                                  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L96) |
| `probod.common-third-party-enrichment-worker.confidence-threshold` | number  | Always emitted | —                                  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L97) |
| `probod.common-third-party-enrichment-worker.max-attempts`         | integer | Always emitted | —                                  | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/llm_config.go#L98) |

## Custom Domains

| Field                                      | Type    | Serialization      | Description | Source                                                                                                  |
| ------------------------------------------ | ------- | ------------------ | ----------- | ------------------------------------------------------------------------------------------------------- |
| `probod.custom-domains.renewal-interval`   | integer | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/custom_domains_config.go#L24) |
| `probod.custom-domains.provision-interval` | integer | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/custom_domains_config.go#L25) |
| `probod.custom-domains.resolver-addr`      | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/custom_domains_config.go#L26) |
| `probod.custom-domains.cname-target`       | string  | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/custom_domains_config.go#L27) |
| `probod.custom-domains.caa-issuer-domain`  | string  | Always emitted     | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/custom_domains_config.go#L28) |
| `probod.custom-domains.acme.directory`     | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/custom_domains_config.go#L33) |
| `probod.custom-domains.acme.email`         | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/custom_domains_config.go#L34) |
| `probod.custom-domains.acme.key-type`      | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/custom_domains_config.go#L35) |
| `probod.custom-domains.acme.account-key`   | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/custom_domains_config.go#L36) |
| `probod.custom-domains.acme.root-ca`       | string  | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/custom_domains_config.go#L37) |

## SCIM Bridge

| Field                              | Type    | Serialization  | Description | Source                                                                                               |
| ---------------------------------- | ------- | -------------- | ----------- | ---------------------------------------------------------------------------------------------------- |
| `probod.scim-bridge.sync-interval` | integer | Always emitted | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/scim_bridge_config.go#L24) |
| `probod.scim-bridge.poll-interval` | integer | Always emitted | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/scim_bridge_config.go#L25) |

## Electronic signatures

| Field                  | Type   | Serialization      | Description | Source                                                                                   |
| ---------------------- | ------ | ------------------ | ----------- | ---------------------------------------------------------------------------------------- |
| `probod.esign.tsa-url` | string | Omitted when empty | —           | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/config.go#L53) |

## Connector configuration variants

`probod.connectors[].config` depends on the connector protocol:

| Variant         | Field                                         | Type   | Serialization      | Source                                                                                             |
| --------------- | --------------------------------------------- | ------ | ------------------ | -------------------------------------------------------------------------------------------------- |
| OAuth 2.0       | `probod.connectors[].config.client-id`        | string | Always emitted     | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/connector_config.go#L80) |
| OAuth 2.0       | `probod.connectors[].config.client-secret`    | string | Always emitted     | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/connector_config.go#L81) |
| OAuth 2.0       | `probod.connectors[].config.integration-slug` | string | Omitted when empty | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/connector_config.go#L86) |
| Managed API key | `probod.connectors[].config.api-key`          | string | Always emitted     | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/connector_config.go#L96) |
| Managed API key | `probod.connectors[].config.resource-id`      | string | Omitted when empty | [View field](https://github.com/getprobo/probo/blob/main/pkg/probodconfig/connector_config.go#L97) |

Connector `settings` is a provider-specific object and therefore has no fixed set of child fields in the shared configuration schema.
