Skip to content

Products

Compliance Officer Service Expert-led compliance, end to end Compliance Portal Share security documents securely Open-source platform Deploy Probo on your own infrastructure

Resources

Probo stories How teams get compliant with Probo Blog Ideas and guidance from the Probo team Guides & tools Practical compliance guides and free tools Love from Customers What customers say about working with Probo Changelog Latest product updates Download Get the Probo Agent

Company

About The people and vision powering Probo Careers Join the team building Probo Brand assets Official logos and visual resources Security Review our security and compliance posture
Overview Understand Probo and its core concepts Product Explore Probo's GRC capabilities Developers Explore GraphQL, CLI, MCP, n8n, and webhooks Deployment Probo Cloud, self-hosting, and configuration

Explore

GitHub Explore our open-source compliance tools

Configuration file reference

Complete reference for all 198 probod JSON and YAML configuration fields, covering type, defaults, and environment variable overrides

View as Markdown

This reference documents 198 fields accepted by the current probod configuration schema. It is generated from 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.

FieldTypeSerializationDescriptionSource
unit.metrics.addrstringAlways emittedView field
unit.tracing.addrstringOmitted when emptyView field
unit.tracing.max-batch-sizeintegerAlways emittedView field
unit.tracing.batch-timeoutintegerAlways emittedView field
unit.tracing.export-timeoutintegerAlways emittedView field
unit.tracing.max-queue-sizeintegerAlways emittedView field
FieldTypeSerializationDescriptionSource
probod.base-urlstringOmitted when emptyView field
probod.encryption-keystringAlways emittedView field
probod.chrome-dp-addrstringOmitted when emptyView field
probod.brandingbooleanAlways emittedView field
FieldTypeSerializationDescriptionSource
probod.pg.addrstringOmitted when emptyView field
probod.pg.usernamestringOmitted when emptyView field
probod.pg.passwordstringOmitted when emptyView field
probod.pg.databasestringOmitted when emptyView field
probod.pg.pool-sizeintegerAlways emittedView field
probod.pg.min-pool-sizeintegerAlways emittedView field
probod.pg.max-conn-idle-time-secondsintegerAlways emittedView field
probod.pg.max-conn-lifetime-secondsintegerAlways emittedView field
probod.pg.max-conn-lifetime-jitter-secondsintegerAlways emittedView field
probod.pg.health-check-period-secondsintegerAlways emittedView field
probod.pg.ca-cert-bundlestringOmitted when emptyView field
probod.pg.debugbooleanAlways emittedView field
FieldTypeSerializationDescriptionSource
probod.api.addrstringOmitted when emptyView field
probod.api.proxy-protocol.trusted-proxiesstring[]Omitted when emptyView field
probod.api.cors.allowed-originsstring[]Omitted when emptyView field
probod.api.extra-header-fieldsobjectOmitted when emptyView field
probod.api.graphql.parser-token-limitintegerAlways emittedView field
probod.api.graphql.complexity-limitintegerAlways emittedView field
probod.api.graphql.query-cache-sizeintegerAlways emittedView field
probod.api.graphql.disable-suggestionbooleanAlways emittedView field
FieldTypeSerializationDescriptionSource
probod.auth.cookie.domainstringOmitted when emptyView field
probod.auth.cookie.secretstringAlways emittedView field
probod.auth.cookie.durationintegerAlways emittedView field
probod.auth.cookie.namestringOmitted when emptyView field
probod.auth.cookie.securebooleanAlways emittedView field
probod.auth.cookie.same-siteCookieSameSiteOmitted when emptyView field
probod.auth.password.iterationsintegerAlways emittedView field
probod.auth.password.pepperstringAlways emittedView field
probod.auth.disable-signupbooleanAlways emittedView field
probod.auth.invitation-confirmation-token-validityintegerAlways emittedView field
probod.auth.password-reset-token-validityintegerAlways emittedView field
probod.auth.magic-link-token-validityintegerAlways emittedView field
probod.auth.email-confirmation-token-validityintegerAlways emittedView field
probod.auth.saml.session-durationintegerAlways emittedView field
probod.auth.saml.cleanup-interval-secondsintegerAlways emittedView field
probod.auth.saml.certificatestringAlways emittedView field
probod.auth.saml.domain-verification-interval-secondsintegerAlways emittedView field
probod.auth.saml.domain-verification-resolver-addrstringOmitted when emptyView field
probod.auth.google.client-idstringOmitted when emptyView field
probod.auth.google.client-secretstringOmitted when emptyView field
probod.auth.google.enabledbooleanOmitted when emptyView field
probod.auth.microsoft.client-idstringOmitted when emptyView field
probod.auth.microsoft.client-secretstringOmitted when emptyView field
probod.auth.microsoft.enabledbooleanOmitted when emptyView field
probod.auth.oauth2-server.signing-keys[].kidstringAlways emittedView field
probod.auth.oauth2-server.signing-keys[].activebooleanAlways emittedView field
probod.auth.oauth2-server.access-token-durationintegerAlways emittedView field
probod.auth.oauth2-server.refresh-token-durationintegerAlways emittedView field
probod.auth.oauth2-server.authorization-code-durationintegerAlways emittedView field
probod.auth.oauth2-server.device-code-durationintegerAlways emittedView field
probod.auth.oauth2-server.cimd-allowed-client-idsstring[]Omitted when emptyView field
FieldTypeSerializationDescriptionSource
probod.identity-federation.enabledbooleanAlways emittedView field
probod.identity-federation.issuer-base-urlstringOmitted when emptyIssuerBaseURL is the base of the advertised issuer, for example https://proboidentity.com. It defaults to {base-url}/federation, so a self-hosted deployment needs no second domain. This value becomes immutable the moment a customer registers it with their cloud provider: changing it requires every customer to redeploy infrastructure they own.View field
probod.identity-federation.signing-keys[].kidstringAlways emittedView field
probod.identity-federation.signing-keys[].activebooleanAlways emittedView field
probod.identity-federation.cloudformation-template-urlstringOmitted when emptyCloudFormationTemplateURL is the public S3 HTTPS URL used to build the AWS console quick-create link for the audit role.View field
probod.identity-federation.terraform-module-sourcestringOmitted when emptyTerraformModuleSource is the module address copied into the Terraform install snippet.View field
FieldTypeSerializationDescriptionSource
probod.itam.device-enrollment-token-validityintegerAlways emittedView field
FieldTypeSerializationDescriptionSource
probod.trust-center.http-addrstringOmitted when emptyView field
probod.trust-center.https-addrstringOmitted when emptyView field
probod.trust-center.base-domainstringOmitted when emptyView field
probod.trust-center.tls-modeCompliancePortalTLSModeOmitted when emptyView field
probod.trust-center.proxy-protocol.trusted-proxiesstring[]Omitted when emptyView field
FieldTypeSerializationDescriptionSource
probod.aws.regionstringOmitted when emptyView field
probod.aws.bucketstringOmitted when emptyView field
probod.aws.access-key-idstringOmitted when emptyView field
probod.aws.secret-access-keystringOmitted when emptyView field
probod.aws.endpointstringOmitted when emptyView field
probod.aws.use-path-stylebooleanAlways emittedView field
FieldTypeSerializationDescriptionSource
probod.notifications.mailer.mailer-intervalintegerAlways emittedView field
probod.notifications.mailer.sender-namestringOmitted when emptyView field
probod.notifications.mailer.sender-emailstringOmitted when emptyView field
probod.notifications.mailer.smtp.addrstringOmitted when emptyView field
probod.notifications.mailer.smtp.userstringOmitted when emptyView field
probod.notifications.mailer.smtp.passwordstringOmitted when emptyView field
probod.notifications.mailer.smtp.tls-requiredbooleanAlways emittedView field
probod.notifications.mailer.smtp.hello-namestringOmitted when emptyView field
probod.notifications.slack.sender-intervalintegerAlways emittedView field
probod.notifications.slack.signing-secretstringOmitted when emptyView field
probod.notifications.webhook.sender-intervalintegerAlways emittedView field
probod.notifications.webhook.request-timeoutintegerAlways emittedView field
probod.notifications.webhook.cache-ttlintegerAlways emittedView field
probod.notifications.webhook.stale-afterintegerAlways emittedView field
probod.notifications.webhook.retry-baseintegerAlways emittedView field
probod.notifications.webhook.retry-maxintegerAlways emittedView field
probod.notifications.webhook.max-concurrencyintegerAlways emittedView field
probod.notifications.document.intervalintegerAlways emittedInterval is how often the worker scans for pending requests.View field
probod.notifications.document.debounce-delayintegerAlways emittedDebounceDelay is how long a request must have been pending before its first notification is sent.View field
probod.notifications.document.reminder-intervalintegerAlways emittedReminderInterval 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
FieldTypeSerializationDescriptionSource
probod.connectors[].providerstringAlways emittedView field
probod.connectors[].protocolconnector.ProtocolTypeAlways emittedView field
probod.connectors[].configobjectOmitted when emptyView field
probod.connectors[].settingsobjectOmitted when emptyView field
FieldTypeSerializationDescriptionSource
probod.connector-endpoints.{name}.authstringOmitted when emptyView field
probod.connector-endpoints.{name}.tokenstringOmitted when emptyView field
probod.connector-endpoints.{name}.probestringOmitted when emptyView field
probod.connector-endpoints.{name}.identitystringOmitted when emptyIdentity 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
probod.connector-endpoints.{name}.api-basestringOmitted when emptyView field
FieldTypeSerializationDescriptionSource
probod.llm.providers.{name}.typestringAlways emitted“openai”, “anthropic”, “bedrock”View field
probod.llm.providers.{name}.api-keystringOmitted when emptyfor OpenAI and AnthropicView field
probod.llm.defaults.providerstringOmitted when emptykey into AgentsConfig.ProvidersView field
probod.llm.defaults.model-namestringOmitted when emptyView field
probod.llm.defaults.temperaturenumberOmitted when emptyView field
probod.llm.defaults.max-tokensintegerOmitted when emptyView field
probod.llm.probo.providerstringOmitted when emptykey into AgentsConfig.ProvidersView field
probod.llm.probo.model-namestringOmitted when emptyView field
probod.llm.probo.temperaturenumberOmitted when emptyView field
probod.llm.probo.max-tokensintegerOmitted when emptyView field
probod.llm.evidence-describer.providerstringOmitted when emptykey into AgentsConfig.ProvidersView field
probod.llm.evidence-describer.model-namestringOmitted when emptyView field
probod.llm.evidence-describer.temperaturenumberOmitted when emptyView field
probod.llm.evidence-describer.max-tokensintegerOmitted when emptyView field
probod.llm.third-party-vetter.providerstringOmitted when emptykey into AgentsConfig.ProvidersView field
probod.llm.third-party-vetter.model-namestringOmitted when emptyView field
probod.llm.third-party-vetter.temperaturenumberOmitted when emptyView field
probod.llm.third-party-vetter.max-tokensintegerOmitted when emptyView field
probod.llm.third-party-disambiguation.providerstringOmitted when emptykey into AgentsConfig.ProvidersView field
probod.llm.third-party-disambiguation.model-namestringOmitted when emptyView field
probod.llm.third-party-disambiguation.temperaturenumberOmitted when emptyView field
probod.llm.third-party-disambiguation.max-tokensintegerOmitted when emptyView field
probod.llm.tracker-mapping.providerstringOmitted when emptykey into AgentsConfig.ProvidersView field
probod.llm.tracker-mapping.model-namestringOmitted when emptyView field
probod.llm.tracker-mapping.temperaturenumberOmitted when emptyView field
probod.llm.tracker-mapping.max-tokensintegerOmitted when emptyView field
probod.llm.tracker-enrichment.providerstringOmitted when emptykey into AgentsConfig.ProvidersView field
probod.llm.tracker-enrichment.model-namestringOmitted when emptyView field
probod.llm.tracker-enrichment.temperaturenumberOmitted when emptyView field
probod.llm.tracker-enrichment.max-tokensintegerOmitted when emptyView field
probod.llm.common-third-party-enrichment.providerstringOmitted when emptykey into AgentsConfig.ProvidersView field
probod.llm.common-third-party-enrichment.model-namestringOmitted when emptyView field
probod.llm.common-third-party-enrichment.temperaturenumberOmitted when emptyView field
probod.llm.common-third-party-enrichment.max-tokensintegerOmitted when emptyView field
probod.llm.slackbot.providerstringOmitted when emptykey into AgentsConfig.ProvidersView field
probod.llm.slackbot.model-namestringOmitted when emptyView field
probod.llm.slackbot.temperaturenumberOmitted when emptyView field
probod.llm.slackbot.max-tokensintegerOmitted when emptyView field
probod.llm.tools.firecrawl-api-keystringOmitted when emptyView field
FieldTypeSerializationDescriptionSource
probod.evidence-describer.intervalintegerAlways emittedseconds between pollsView field
probod.evidence-describer.stale-afterintegerAlways emittedseconds before a claim is recycledView field
probod.evidence-describer.max-concurrencyintegerAlways emittedView field
FieldTypeSerializationDescriptionSource
probod.third-party-vetting-worker.intervalintegerAlways emittedseconds between pollsView field
probod.third-party-vetting-worker.stale-afterintegerAlways emittedseconds before a claim is recycledView field
probod.third-party-vetting-worker.max-concurrencyintegerAlways emittedView field
FieldTypeSerializationDescriptionSource
probod.tracker-mapping-worker.intervalintegerAlways emittedseconds between pollsView field
probod.tracker-mapping-worker.max-concurrencyintegerAlways emittedView field
probod.tracker-mapping-worker.stale-afterintegerAlways emittedseconds before a claim is recycledView field
probod.tracker-mapping-worker.agent-timeoutintegerAlways emittedseconds, single agent runView field
probod.tracker-mapping-worker.agent-max-turnsintegerAlways emittedView field
probod.tracker-mapping-worker.disambiguation-agent-timeoutintegerAlways emittedseconds, single disambiguation runView field
FieldTypeSerializationDescriptionSource
probod.common-pattern-enrichment-worker.intervalintegerAlways emittedseconds between pollsView field
probod.common-pattern-enrichment-worker.max-concurrencyintegerAlways emittedView field
probod.common-pattern-enrichment-worker.stale-afterintegerAlways emittedseconds before a claim is recycledView field
probod.common-pattern-enrichment-worker.agent-timeoutintegerAlways emittedseconds, single agent runView field
probod.common-pattern-enrichment-worker.agent-max-turnsintegerAlways emittedView field
FieldTypeSerializationDescriptionSource
probod.common-third-party-enrichment-worker.intervalintegerAlways emittedseconds between pollsView field
probod.common-third-party-enrichment-worker.max-concurrencyintegerAlways emittedView field
probod.common-third-party-enrichment-worker.stale-afterintegerAlways emittedseconds before a claim is recycledView field
probod.common-third-party-enrichment-worker.agent-timeoutintegerAlways emittedseconds, single agent runView field
probod.common-third-party-enrichment-worker.agent-max-turnsintegerAlways emittedView field
probod.common-third-party-enrichment-worker.confidence-thresholdnumberAlways emittedView field
probod.common-third-party-enrichment-worker.max-attemptsintegerAlways emittedView field
FieldTypeSerializationDescriptionSource
probod.custom-domains.renewal-intervalintegerAlways emittedView field
probod.custom-domains.provision-intervalintegerAlways emittedView field
probod.custom-domains.resolver-addrstringOmitted when emptyView field
probod.custom-domains.cname-targetstringAlways emittedView field
probod.custom-domains.caa-issuer-domainstringAlways emittedView field
probod.custom-domains.acme.directorystringOmitted when emptyView field
probod.custom-domains.acme.emailstringOmitted when emptyView field
probod.custom-domains.acme.key-typestringOmitted when emptyView field
probod.custom-domains.acme.root-castringOmitted when emptyView field
FieldTypeSerializationDescriptionSource
probod.scim-bridge.sync-intervalintegerAlways emittedView field
probod.scim-bridge.poll-intervalintegerAlways emittedView field
FieldTypeSerializationDescriptionSource
probod.esign.tsa-urlstringOmitted when emptyView field
FieldTypeSerializationDescriptionSource
probod.slackbot.enabledbooleanAlways emittedView field
probod.slackbot.signing-secretstringOmitted when emptyView field
probod.slackbot.client-idstringOmitted when emptyView field
probod.slackbot.client-secretstringOmitted when emptyView field
probod.slackbot.redirect-uristringOmitted when emptyView field

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

VariantFieldTypeSerializationSource
OAuth 2.0probod.connectors[].config.client-idstringAlways emittedView field
OAuth 2.0probod.connectors[].config.client-secretstringAlways emittedView field
OAuth 2.0probod.connectors[].config.integration-slugstringOmitted when emptyView field
Managed API keyprobod.connectors[].config.api-keystringAlways emittedView field
Managed API keyprobod.connectors[].config.resource-idstringOmitted when emptyView field
GitHub Appprobod.connectors[].config.app-idstringAlways emittedView field
GitHub Appprobod.connectors[].config.client-idstringAlways emittedView field
GitHub Appprobod.connectors[].config.client-secretstringAlways emittedView field
GitHub Appprobod.connectors[].config.slugstringAlways emittedView field
GitHub Appprobod.connectors[].config.private-keystringAlways emittedView field

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