> ## Documentation Index
> Fetch the complete documentation index at: https://support.lilt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Feature Flag Reference

This page lists every configurable feature flag and org setting exposed by the LILT platform. For the on-premises Admin CLI and environment-variable procedures, see [Enable/Disable Features](/kb/enable-features).

## Translation & Workflow

<ResponseField name="additionalGuidelines" type="Admin CLI" pre={["org"]}>
  Free-text additional guidelines attached to Prompt Response jobs. Set during job creation and persisted onto the job's settings by `createJob`; surfaced back in the job details/additional-guidelines field for prompt-response job types.
</ResponseField>

<ResponseField name="autoAssignDueDates" type="Admin CLI" pre={["org"]}>
  Enables bulk auto-assignment of due dates across projects, surfaced in the "Bulk Assign Due Dates" project-list modal and its onboarding-flow counterpart, and used by the project assignment API service when computing/submitting bulk due-date assignments.
</ResponseField>

<ResponseField name="autoConfirmExactMatchesAndRepetitions" type="Org Settings UI" pre={["org", "project"]}>
  Controls whether exact TM matches and repetitions are automatically confirmed without requiring translator/reviewer action. Read into the CAT editor's settings object (`useCATSettings`) as `autoConfirmExactMatchesAndRepetitions`. Editable via the project's Workflow Settings form and listed in `projectSettingKeys` so a project can override the org default.
</ResponseField>

<ResponseField name="autoPretranslateAcceptAndLock" type="Org Settings UI" pre={["org"]}>
  When automatic pretranslation (`EnableAutoPretranslate`) is on, controls whether pretranslated segments are automatically accepted and locked rather than left pending for translator review. Read at document/job creation (`createJob`, `createDocument`, `addDocumentToProject`) and by `PretranslateSettingsService`, which maps it to the `autoAccept` flag returned to the pretranslate pipeline. Editable via the project's Workflow Settings form alongside the other `AutoPretranslate*` sub-settings.
</ResponseField>

<ResponseField name="autoPretranslateCaseSensitiveTranslation" type="Admin CLI" pre={["org"]}>
  Org-level toggle added alongside the other `AutoPretranslate*` sub-settings (see `add-pretranslation-setting-keys` migration) to control case sensitivity of pretranslate TM matching, but `PretranslateSettingsService.getPretranslateSettings` actually sources its `caseSensitive` result from the separate `CaseSensitiveTMMatch` setting, not this one. No current front-end or server code path reads this setting, so treat it as reserved/likely inert (superseded by `CaseSensitiveTMMatch`).
</ResponseField>

<ResponseField name="autoPretranslateExactMatchesAuthorship" type="Org Settings UI" pre={["org"]}>
  When automatic pretranslation (`EnableAutoPretranslate`) is on, controls whether exact TM matches used for pretranslation are attributed to the matched translator (authorship) rather than the system. Read at document/job creation and by `PretranslateSettingsService`, which maps it to the `takeMatchAttribution` flag returned to the pretranslate pipeline. Editable via the project's Workflow Settings form alongside the other `AutoPretranslate*` sub-settings.
</ResponseField>

<ResponseField name="autoPretranslateUseMtForUnmatchedSegments" type="Org Settings UI" pre={["org"]}>
  When automatic pretranslation (`EnableAutoPretranslate`) is on, controls whether MT (machine translation) output is used to pretranslate segments that don't have a TM match, versus leaving unmatched segments untranslated. Read at document/job creation and by `PretranslateSettingsService`, which switches the pretranslate mode between `TRANSLATE_WITH_TM` and `TRANSLATE_WITH_TM_AND_MT` based on this value. Editable via the project's Workflow Settings form alongside the other `AutoPretranslate*` sub-settings.
</ResponseField>

<ResponseField name="defaultPostProcessing" type="Org Settings UI" pre={["org"]}>
  Toggles whether post-processing is enabled by default at job creation. Read by `createJob`/`JobsController` on the server (when explicit per-job `enablePostProcessing` isn't provided) to seed the job's post-processing flag, and by `VerifiedTranslationOptions`/ `FileTranslationTab` on the client to initialize the job-creation form.
</ResponseField>

<ResponseField name="defaultVerifiedTranslationJobCreation" type="Org Settings UI" pre={["org", "project"]}>
  Sets whether newly created jobs default to the "verified translation" workflow. Read by `TranslateHomepage`/`FileTranslationTab` to initialize the job-creation form. Editable via the org's Job Form Editor and listed in `projectSettingKeys` so a project can override the org default.
</ResponseField>

<ResponseField name="defaultWorkflow" type="Org Settings UI" pre={["org", "project"]}>
  Sets the workflow template pre-selected by default when creating a new job/project. Read by `useWorkflows`/`SettingDefaultWorkflow` on the client and by `createJob`/`createNewProject` on the server to seed a job's workflow when the caller doesn't specify one explicitly. Editable in the org's General Settings form and listed in `projectSettingKeys` so a project can override the org default.
</ResponseField>

<ResponseField name="disableTMFuzzyMatch" type="Admin CLI" pre={["org"]}>
  Org-level, non-user-facing (`isUserFacing: false`) toggle historically intended to disable TM fuzzy matching. No current front-end or server code path reads this setting outside of the on-prem default-value migration, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableASR" type="Admin CLI" pre={["org"]}>
  Org-level toggle intended to enable Automatic Speech Recognition (ASR) functionality. No current front-end or server code path reads this setting outside of the on-prem default-value migration, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableAutoPretranslate" type="Org Settings UI" pre={["org", "project"]}>
  Master toggle for automatic pretranslation of new documents/jobs: when enabled, incoming segments are pretranslated from TM/MT at document creation (`createDocument`/`addDocumentToProject`) instead of starting blank, and the sibling `AutoPretranslate*` settings (accept & lock, exact-match authorship, MT-for-unmatched) only take effect while this is on. Surfaced as an editable field in both the org-level General Settings form and a project's Workflow Settings form, and listed in `projectSettingKeys`/`projectSettings` so a project can override the org default.
</ResponseField>

<ResponseField name="enableAutoPretranslationSetting" type="Admin CLI" pre={["org"]}>
  Org-level toggle originally added alongside `EnableAutoPretranslate` and its sibling sub-settings (see `add-pretranslation-setting-keys` migration), but unlike those siblings it is not user-facing (`isUserFacing: false`) and no current front-end or server code path reads it. Treat as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableAutoRevisions" type="Admin CLI" pre={["org"]}>
  Marks a project/job as using the auto-revisions feature of an AI-optimized (Human+AI Optimized) workflow. Not user-toggled directly — `createJob`/`createNewProject` write this setting automatically (scoped to the project) whenever the selected workflow is one of the `kOptmizedWorkflowNames` optimized workflows.
</ResponseField>

<ResponseField name="enableBackwardPropagation" type="Admin CLI" pre={["org"]}>
  Org-level toggle intended to control backward propagation of translation/TM corrections (e.g. applying a later correction back to earlier matching segments). No current front-end or server code path reads this setting outside of the on-prem default-value migration, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableDataLabeling" type="Admin CLI" pre={["org"]}>
  Org-level toggle for the Data Labeling workflow feature: gates the "Data Labeling" nav sidebar item and homepage card, and filters which workflow templates `useWorkflowTemplates` offers for prompt-response jobs (only `kDataLabelingWorkflowNames` templates are surfaced when enabled). Also read by `WorkflowSettingsForm` to decide whether to show the related "Prompt Labeling" project setting.
</ResponseField>

<ResponseField name="enableDirectToCloudUploads" type="Admin CLI" pre={["org"]}>
  Org-level toggle that enables direct-to-cloud (client-to-storage) uploads for job file uploads, bypassing the app server for large files. Read at client startup (`client_initial_state_provider`) and applied via `setEnableDirectToCloudUploads` in the cloud upload middleware.
</ResponseField>

<ResponseField name="enableFilteredTMX" type="Admin CLI" pre={["org"]}>
  Controls whether the TM export modal (`ExportTmxModal`) offers the filtered-export option when exporting a memory as TMX, letting users scope the export with field-based filters (`ExportTmxFilters`/`MemoryExportFilter`) instead of exporting the full memory.
</ResponseField>

<ResponseField name="enableFixedLinguistPayment" type="Admin CLI" pre={["org"]}>
  Org-level toggle that switches job creation to use the project-level quote-and-recalculation flow with a loading indicator, instead of the legacy per-job quoting path.
</ResponseField>

<ResponseField name="enableGoogleTranslateInTMLookup" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to enable use of Google Translate results when performing TM (Translation Memory) lookups. No current front-end or server code path reads this setting outside of the on-prem default-value migration, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableJobJiraTickets" type="Admin CLI" pre={["org"]}>
  Org-level toggle that enables automatic Jira ticket creation for jobs. Checked in the job-created notification handler; tickets are only created when this setting is enabled and the requesting user is external (non-`@lilt.com`).
</ResponseField>

<ResponseField name="enableJobsFlow" type="Admin CLI" pre={["org"]}>
  Legacy 2021-era rollout flag for the Jobs feature area. Not user-facing (`isUserFacing: false`) and not read anywhere in the current front client/server code; Jobs are now a standard, always-on part of the platform, so this flag appears vestigial.
</ResponseField>

<ResponseField name="enableJobsListPaginated" type="Admin CLI" pre={["org"]}>
  Legacy rollout flag for the paginated Jobs list view. Not user-facing (`isUserFacing: false`) and no longer read anywhere in the front client/server code; on-prem and cloud migrations now force its default to `true` fleet-wide, indicating the paginated list is standard behavior and this flag is vestigial.
</ResponseField>

<ResponseField name="enableJobV2" type="Admin CLI" pre={["org"]}>
  Routes an organization into the redesigned Job/Translate experience: gates the Job Form Editor, Translate V2, and Instant Job Details routes and the "translate" nav link destination, falling back to the legacy Translate/Home pages when disabled. Rolled out per-org via a dedicated enablement migration rather than an admin toggle.
</ResponseField>

<ResponseField name="enableOrgDefaultMemory" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to enable an org-default translation memory. No current front-end or server code path reads this setting outside of the on-prem default-value migrations, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enablePostProcessing" type="Admin CLI" pre={["org"]}>
  Job-level setting (default off) that determines whether post-processing (PP) runs on a job. Read during job creation (`createJob`) and by connector auto-delivery logic, which waits for PP to complete before delivering if this is enabled.
</ResponseField>

<ResponseField name="enableQuickTranslate" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to enable a "Quick Translate" feature. No current front-end or server code path reads this setting outside of a test fixture and the on-prem default-value migrations, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableRejectWorkflows" type="Admin CLI" pre={["org"]}>
  Org-level workflow toggle whose on-prem default is forced to `true` (ID 135). Not read anywhere in the current front client/server code (distinct from the actively-used `EnableRejectDocument` project setting), so its behavior is presumably enforced downstream.
</ResponseField>

<ResponseField name="enableStringInfoFiles" type="Admin CLI" pre={["org"]}>
  Org-level toggle that allows uploading `.string.info` companion files alongside source files. Read by `useAcceptedFileFormats` to add `.info` to the set of accepted upload extensions during job creation.
</ResponseField>

<ResponseField name="enableSubfiltersSegmentation" type="Admin CLI" pre={["org"]}>
  Org-level toggle intended to control segmentation of subfilters in the Custom File Processing / file filter configuration feature. The underlying setting key was deleted outright by a later migration (`removeEnableSubfilterSegmentation`) and no current front-end or server code path reads it, so treat it as reserved/removed.
</ResponseField>

<ResponseField name="enableUniversalFileUploadEnterprise" type="Org Settings UI" pre={["org"]}>
  Org-level toggle for "Universal File Upload" (enterprise): when enabled, all accepted file types are allowed for upload and OCR pre-processing is started automatically for uploaded files (`ocrMiddleware`), and translate-job submission forces every job through the pre-processing pipeline (`submitJobThunk`/`submitJob`). Read in several job-creation and file-upload flows (`FileCard`, `useAcceptedFileFormats`, `QuotingActions`).
</ResponseField>

<ResponseField name="enableUnlockExactMatchedSegmentsByStage" type="Org Settings UI" pre={["org", "project"]}>
  Controls whether segments can be unlocked stage-by-stage in the CAT editor (`catUnlockSegmentsByStage` in `useCATSettings`, sourced from `useDocumentCATSettings`). The setting's DB/string key retains the name "enableUnlockExactMatchedSegmentsByStage" for back-compat, but usage has since expanded to cover all segments, not just exact matches — do not rely on the key name to infer scope. Editable via the project's Workflow Settings form and listed in `projectSettingKeys` so a project can override the org default.
</ResponseField>

<ResponseField name="enableVideoDubbing" type="Admin CLI" pre={["org"]}>
  Org-level feature toggle for the Video Dubbing job type. Read by `useEnableVideoDubbing` to control whether Video Dubbing is offered as an option in Instant Translate and job creation.
</ResponseField>

<ResponseField name="enableWorkflows" type="Admin CLI" pre={["org"]}>
  Legacy org-level toggle originally meant to gate the CAT/document editor's workflow features. `useCATSettings` now hardcodes `enableWorkflows: true` in the settings object it builds ("hardcoded to true until cat removal"), and the only remaining server-side reference (`setEnableWorkflowFlagForOrganization`) is explicitly marked "DEPRECATED - only used in a migration". Treat as deprecated/inert.
</ResponseField>

<ResponseField name="externalModelId" type="Admin CLI" pre={["org"]}>
  Non-user-facing, project-scoped setting storing the numeric id of an external MT model wired up at project creation. Read by the GraphQL `Project.externalModel` field resolver (only evaluated when the client selects that field) to look up and return the model, mirroring Core's `JobStatsManagerImpl.addExternalModelsIfAvailable` selection logic — the setting is the sole source of truth, with no memory/language-pair fallback heuristic.
</ResponseField>

<ResponseField name="humanAIOptimizedWorkflow" type="Org Settings UI" pre={["org", "project"]}>
  Org/project-level default for whether newly created jobs use the "AI-optimized" (human+AI hybrid) workflow. Drives the "optimize workflow" toggle default at job creation, is only actionable when the selected default workflow is recognized as AI-optimized and AI Review is enabled, and is configurable from both the org's Default Workflow settings and a domain's workflow preferences.
</ResponseField>

<ResponseField name="nonTranslatablePatterns" type="Admin CLI" pre={["org"]}>
  Org-level JSON setting declaring which opt-in non-translatable (NT) placeholder syntaxes (e.g. double\_brace, single\_brace, percent\_format) the org uses, replacing hardcoded per-customer org-ID lists in core's NTHandler. The universal `${foo}` handling is always on and is not controlled by this setting.
</ResponseField>

<ResponseField name="showVerifiedQuotingV2" type="Admin CLI" pre={["org"]}>
  Setting key for a "verified quoting v2" job-creation experience, conceptually paired with the now-deprecated `ShowRequiredQuotingV2`. As of this writing it has no read call site anywhere in `client/` or `server/`; the only reference outside its own enum declaration is the on-prem defaults migration (`changeDefaultSettingOnPrem`), which forces its default to `false` on-prem. The feature it was intended to gate does not appear to be wired up yet.
</ResponseField>

<ResponseField name="surfaceEnableAutoRevisionsOrgSetting" type="Admin CLI" pre={["org"]}>
  Org-level toggle added alongside `EnableAutoRevisions` to control whether that setting is surfaced in the org settings UI. No current front-end or server code path reads this setting outside of the on-prem default-value migration, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

## Review & QA

<ResponseField name="aiQAExcludeExactMatches" type="Org Settings UI" pre={["org"]}>
  Org-level toggle, nested under `EnableAIQA` in `settingKeysGroups`, that excludes exact TM matches from AI QA checks. Listed in `invertedSettingKeys`, so its stored/displayed boolean is the inverse of the UI label's sense; defaults to `true` per its rollout migration.
</ResponseField>

<ResponseField name="automaticBatchQaCustomerReviewer" type="Org Settings UI" pre={["org", "project"]}>
  Automatically marks the batch-level QA check as done for the secondary (customer) review stage instead of requiring a customer reviewer to run/confirm it manually. Mirrors `AutomaticBatchQaTranslator` and `AutomaticBatchQaReviewer` for the customer-review role and is configured from the org's and a project's Workflow Settings forms (the secondary-reviewer column of the Workflow Settings table).
</ResponseField>

<ResponseField name="automaticBatchQaReviewer" type="Org Settings UI" pre={["org", "project"]}>
  Automatically marks the batch-level QA check as done for the review stage instead of requiring a reviewer to run/confirm it manually. Mirrors `AutomaticBatchQaTranslator` for the review role and is configured from the org's and a project's Workflow Settings forms.
</ResponseField>

<ResponseField name="automaticBatchQaTranslator" type="Org Settings UI" pre={["org", "project"]}>
  Automatically marks the batch-level QA check as done for the translation stage instead of requiring a translator to run/confirm it manually. Read in the CAT editor via project/document settings resolution and configured from the org's and a project's Workflow Settings forms.
</ResponseField>

<ResponseField name="defaultReviewSamplingSize" type="Org Settings UI" pre={["org", "project"]}>
  Default percentage of translated segments sampled for the primary review stage when a new project or job is created. Prefills `sampleReviewPercentage` at project/job creation time and is the sampling-rate control shown in both the org-level Workflow Settings and a project's Workflow Settings form.
</ResponseField>

<ResponseField name="defaultSecondaryReviewSamplingSize" type="Org Settings UI" pre={["org", "project"]}>
  Default percentage of segments sampled for the secondary (customer) review stage when a new project or job is created. Behaves like `DefaultReviewSamplingSize` but applies to the secondary review workflow stage, and is set from the same org/project Workflow Settings forms.
</ResponseField>

<ResponseField name="enableAIQA" type="Org Settings UI" pre={["org"]}>
  Org-level toggle for AI-powered QA checks on document segments. Referenced in document QA issue counting and QA check result endpoints, and groups the `AiQAExcludeExactMatches` sub-setting in `settingKeysGroups`.
</ResponseField>

<ResponseField name="enableAIReview" type="Admin CLI" pre={["org"]}>
  Org-level toggle for the AI Review workflow stage/option. Referenced by workflow-template and default-workflow UI, domain preferences, and the Verified Translation advanced options when deciding whether AI Review can be offered as a workflow stage.
</ResponseField>

<ResponseField name="enableBlockReviewUnlessTranslationDone" type="Org Settings UI" pre={["org"]}>
  Controls whether a document can be sent to review while translation is still incomplete. Read into the CAT editor's settings object (`useCATSettings`, `useDocumentCATSettings`) as `enableBlockReviewUnlessTranslationDone` and consulted by `useAllowedActions` to gate the "send to review" document action (`DocumentDropdown`).
</ResponseField>

<ResponseField name="enableCustomerReviewQA" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to enable a customer-review QA flow. No current front-end or server code path reads this setting outside of the on-prem default-value migration, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableCustomQAConfig" type="Admin CLI" pre={["org"]}>
  Org-level toggle that gates the ability to upload a custom QA configuration. Wired into `shared/permissions.ts` as the `requiredSetting` for the `qaConfig.upload` permission, so the permission is only granted when this setting is enabled.
</ResponseField>

<ResponseField name="enableMarkForReview" type="Admin CLI" pre={["org"]}>
  Enables the "mark for review" action in the CAT/document editor, letting a translator or reviewer explicitly flag a segment as needing another look during a later review stage. Resolved per-document via the CAT settings hooks and read through the active-settings selectors; not exposed on the org settings UI.
</ResponseField>

<ResponseField name="enableMQMIssueType" type="Admin CLI" pre={["org"]}>
  Legacy boolean toggle (added 2023, `isUserFacing: true`) originally intended to gate MQM issue-type functionality. No live consumer was found in current client or server code — only settings migrations reference it, including `turnDeprecatedSettingsOff`, which forces it to `false` org-wide as part of a bulk cleanup of deprecated settings.
</ResponseField>

<ResponseField name="enableNeuralAutoReview" type="Admin CLI" pre={["org"]}>
  Org-level toggle intended to enable automatic, neural-model-driven review of translated segments. No current front-end or server code path reads this setting outside of the on-prem default-value migration, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enablePII" type="Org Settings UI" pre={["org"]}>
  Org-level toggle that enables PII redaction. When enabled, `shouldRedactPII` causes PII to be redacted for any user who lacks the `ExportPII` permission.
</ResponseField>

<ResponseField name="enableRejectDocument" type="Admin CLI" pre={["org", "project"]}>
  Historically gated whether a linguist/reviewer could reject a document back out of a workflow stage. Read into the CAT editor's settings object via `useDocumentCATSettings`, but `useCATSettings` currently hardcodes `enableRejectDocument: false` for every caller ("temporarily hide enableRejectDocument"), so the feature is disabled in the editor regardless of this setting's stored value. Listed in `projectSettingKeys`/`workflowOnlySettingKeys` so a project can still override the (currently inert) org default.
</ResponseField>

<ResponseField name="enableTmEditorQa" type="Admin CLI" pre={["org"]}>
  Enables the QA ("consistency check") view inside the Translation Memory / Termbase editor, including the "Run QA" action and the QA results sidebar. When disabled, a user viewing the QA tab is redirected back to the main termbase view.
</ResponseField>

<ResponseField name="enableTmEditorQaGrammarSpelling" type="Admin CLI" pre={["org"]}>
  Extends the Translation Memory / Termbase QA consistency-check to also flag grammar and spelling issues, not just term-consistency mismatches. Gates the grammar/spelling error display in the Termbase QA mismatch view (client) and selects the grammar/spelling consistency-check type on the server (`getConsistencyCheckType`).
</ResponseField>

<ResponseField name="enableVerifySegments" type="Admin CLI" pre={["org"]}>
  Org-level toggle for the Verify Segments feature. When disabled, the on-prem Analyst role is filtered out of the org's available roles (`getRoles`), and document CAT settings hide the "verify segments" capability in the editor.
</ResponseField>

<ResponseField name="mandatoryErrorFlagging" type="Org Settings UI" pre={["org"]}>
  Requires translators/reviewers to explicitly flag segment-level errors during translation and review. Surfaced as a toggle group ("mandate error logging for the stages") in the org Settings UI and consumed by the CAT editor settings hooks to control error-flagging behavior in the editor.
</ResponseField>

<ResponseField name="mandatoryErrorFlaggingSecondaryReviewCommercial" type="Org Settings UI" pre={["org"]}>
  Controls whether error flagging is mandatory during the secondary commercial review stage. Read into the CAT editor's settings object (`useCATSettings`, `useDocumentCATSettings`) as `mandatoryErrorFlaggingSecondaryReviewCommercial`, with document-level overrides taking precedence over org/domain defaults. Editable via the org's General Settings tab (`settingsTabs.ts`).
</ResponseField>

<ResponseField name="multimediaQAChecks" type="Org Settings UI" pre={["org"]}>
  Org-level JSON configuration for multimedia QA checks (caption duration, reading speed/chars-per-line for word- and character-based languages, max lines), each with min/max thresholds and a blocking flag. Configured on the General Settings custom tab and consumed by the editor's document CAT settings.
</ResponseField>

<ResponseField name="qaCheckPrompts" type="Org Settings UI" pre={["org"]}>
  Org-level JSON setting holding the list of custom AI QA check prompts an org has authored. Rendered and edited via the Custom QA Checks settings tab (`CustomQAChecksTab`), which reads and writes the `prompts: string[]` shape.
</ResponseField>

<ResponseField name="requireBatchQaCustomerReviewer" type="Org Settings UI" pre={["org", "project"]}>
  Requires a batch-level QA check to be completed for the customer review stage before a customer reviewer can finish their work on a document. Mirrors `RequireBatchQaTranslator` for the customer-review role and is configured from the org's Workflow Settings form.
</ResponseField>

<ResponseField name="requireBatchQaReviewer" type="Org Settings UI" pre={["org", "project"]}>
  Requires a batch-level QA check to be completed for the review stage before a reviewer can finish their work on a document. Mirrors `RequireBatchQaTranslator` for the review role and is configured from the org's and a project's Workflow Settings forms.
</ResponseField>

<ResponseField name="requireBatchQaTranslator" type="Org Settings UI" pre={["org", "project"]}>
  Requires a batch-level QA check to be completed for the translation stage before a translator can finish their work on a document. Read in the CAT editor via project/document settings resolution and configured from the org's and a project's Workflow Settings forms.
</ResponseField>

<ResponseField name="requireDistinctReviewers" type="Admin CLI" pre={["org"]}>
  Org-level toggle intended to require that different linguists occupy the translator and reviewer roles on the same document/job (i.e. disallow self-review). No current front-end or server code path reads this setting outside of the on-prem default-value migration, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="reviewSamplingExcludeExactMatches" type="Org Settings UI" pre={["org", "project"]}>
  Excludes 100%/exact TM matches from the primary review sampling calculation, so exact matches are not counted toward `DefaultReviewSamplingSize`. Surfaced as the "include exact matches" toggle in the Reviewer column of the org's and a project's Workflow Settings forms; stored as an inverted setting key.
</ResponseField>

<ResponseField name="secondaryReviewSamplingExcludeExactMatches" type="Org Settings UI" pre={["org", "project"]}>
  Excludes 100%/exact TM matches from the secondary (customer) review sampling calculation, mirroring `ReviewSamplingExcludeExactMatches` for the secondary review stage. Surfaced as the "include exact matches" toggle in the Secondary Reviewer column of the org's and a project's Workflow Settings forms; stored as an inverted setting key.
</ResponseField>

<ResponseField name="showPreviousStageCommentsSecondaryReviewCommercial" type="Org Settings UI" pre={["org", "project"]}>
  Controls whether comments left during a prior review stage are shown to the secondary commercial reviewer. Read into the CAT editor's settings object (`useCATSettings`, `useDocumentCATSettings`) as `showPreviousStageCommentsSecondaryReviewCommercial` and listed in `projectSettingKeys`/`workflowOnlySettingKeys` so a project can override the org default via the project's Workflow Settings form.
</ResponseField>

<ResponseField name="skipReviewerIfTranslatorPreferred" type="Admin CLI" pre={["org"]}>
  Org-level workflow toggle whose on-prem default is forced to `true` (ID 79). Not read anywhere in the current front client/server code, so the reviewer-skip behavior implied by its name is presumably enforced downstream (e.g. in the workflow/assignment engine) rather than in front itself.
</ResponseField>

## Editor

<ResponseField name="caseSensitiveTMMatch" type="Org Settings UI" pre={["org"]}>
  Controls whether TM match lookups treat differing letter case as a mismatch. Read into the CAT editor's settings object (`useCATSettings`/`useDocumentCATSettings`) to drive case-sensitive TM-match behavior, and separately consumed directly by `PretranslateSettingsService` to set the `caseSensitive` flag used when pretranslating new documents/jobs from TM. Rendered generically as part of the "Translate or CAT" settings group on the org's General Settings tab, alongside `Disable101TMMatches` and `EnableTargetCharLimit`.
</ResponseField>

<ResponseField name="catMTSuggestionProvider" type="Admin CLI" pre={["org"]}>
  Controls which MT suggestion provider is used for CAT/MT suggestions in the editor. Listed in both `editorSettingKeys` and `translateOrCatSettingKeys`, and read by the editor's `useDocumentCATSettings` hook to determine which provider's suggestions to fetch and display for a given document.
</ResponseField>

<ResponseField name="controlCopyAndPaste" type="Org Settings UI" pre={["org"]}>
  Controls copy/paste behavior in the CAT editor. The stored numeric option is mapped via `mapControlCopyAndPasteOptions` to one of `"allow" | "warn" | "block"` and passed to the `@lilt/cat` editor package as `controlCopyAndPaste`. Rendered generically as part of the "Translate or CAT" settings group on the org's General Settings tab.
</ResponseField>

<ResponseField name="disable101TMMatches" type="Org Settings UI" pre={["org"]}>
  Excludes 100%/exact TM matches from the CAT editor's TM-match behavior. Rendered generically as part of the "Translate or CAT" settings group (`translateOrCatSettingKeys`) on the org's General Settings tab, alongside `CaseSensitiveTMMatch` and `EnableTargetCharLimit`.
</ResponseField>

<ResponseField name="enableCatInfiniteScroll" type="Admin CLI" pre={["org"]}>
  Org-level toggle intended to enable infinite-scroll pagination of segments in the CAT editor. The value is fetched into `selectCatSettings`, but no current front-end code path threads it into the `CatSettings` object built by `useCATSettings`/ `useDocumentCATSettings`, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableNextWordSuggestions" type="Admin CLI" pre={["org"]}>
  Enables next-word autocomplete suggestions in the CAT editor. Read into the editor's settings object (`useCATSettings`/`useDocumentCATSettings`) as `enableNextWordSuggestions` and passed straight through to the `@lilt/cat` editor package's `CatSettings`.
</ResponseField>

<ResponseField name="enablePromptLabeling" type="Org Settings UI" pre={["org", "project"]}>
  Project-level toggle that surfaces prompt-labeling controls for the CAT editor: it decides whether the prompt-labeling option is shown in the project's Workflow Settings form and is passed through to project CAT settings consumed by the segment editor.
</ResponseField>

<ResponseField name="enableTargetCharLimit" type="Org Settings UI" pre={["org"]}>
  Enables enforcement of a target-segment character limit in the CAT editor. Read into the editor's settings object (`useCATSettings`/`useDocumentCATSettings`) as `enableTargetCharLimit`. Rendered generically as part of the "Translate or CAT" settings group on the org's General Settings tab, alongside `CaseSensitiveTMMatch` and `Disable101TMMatches`.
</ResponseField>

<ResponseField name="TSFStyleGuide" type="Org Settings UI" pre={["org"]}>
  Org-level Text Specification Framework style guide, stored as a JSON object (hard line breaks, tags/placeholders, and special rules, each with an enabled flag). Surfaced in the editor via `useStyleGuide`/`useCATSettings` to drive CAT-side style checks.
</ResponseField>

## AI Providers & Models

<ResponseField name="aiReviewModelsPreferences" type="Org Settings UI" pre={["org"]}>
  JSON preferences blob storing the org's selected AI-review provider, added by the `add-ai-review-provider-setting` migration with a default value of `{ defaultValue: LLMProvider.NEURAL }`. Used to pick which model backs automated AI review scoring.
</ResponseField>

<ResponseField name="audioToTextModelsPreferences" type="Org Settings UI" pre={["org"]}>
  JSON preferences blob analogous to `GenerativeModelsPreferences` but for audio-to-text (speech-to-text) models — consumed as one of the `ServicesProps.type` variants in the AI Providers V2 services tab for managing which audio-to-text provider/model is active for the org.
</ResponseField>

<ResponseField name="enableAmazonTextract" type="Admin CLI" pre={["org"]}>
  Legacy per-provider toggle intended to control availability of the Amazon Textract OCR option. It is not read by the current `useImageToTextLLMOptions` hook, which always shows Amazon Textract (`isVisible: true`) and gates only on live credential configuration and the org's `ImageToTextModelsPreferences`; only data migrations reference this setting name. Appears superseded/dormant.
</ResponseField>

<ResponseField name="enableAmazonTranscribe" type="Admin CLI" pre={["org"]}>
  Legacy per-provider toggle intended to control availability of the Amazon Transcribe ASR option. It is not read by the current `useSpeechToTextLLMOptions` hook, which always shows the Amazon Transcribe option (`isVisible: true`) and gates only on live service validation/credential configuration; only data migrations reference this setting name. Appears superseded/dormant.
</ResponseField>

<ResponseField name="enableAmazonTranslate" type="Admin CLI" pre={["org"]}>
  Legacy per-provider toggle intended to control availability of the Amazon Translate MT provider. It has no read call site in `client/` or `server/` today; only data migrations reference it (enabled by default for SaaS, forced off on-prem per `changeDefaultSettingOnPrem`). Provider availability in the current AIProvidersV2 UI is instead driven by `EnabledAIProviders` plus live credential configuration.
</ResponseField>

<ResponseField name="enableAzureGPT35" type="Admin CLI" pre={["org"]}>
  Legacy per-provider toggle intended to control availability of the Azure GPT-3.5 translation/generation model. It has no read call site in `client/` or `server/` today — only data migrations reference it (turned on org-wide by `turnDeprecatedSettingsOn`, forced off on-prem). Provider availability in the current AIProvidersV2 UI is instead driven by `EnabledAIProviders` plus live per-provider credential configuration, so this flag appears to be superseded/dormant rather than actively gating anything.
</ResponseField>

<ResponseField name="enableAzureGPT5" type="Admin CLI" pre={["org"]}>
  Gates the Azure-hosted GPT-5 option in the LILT Create / AI Hub generative model list — a separate entry from OpenAI's own GPT-5 that reuses the org's existing Azure LLM configuration (`isConfigured: true // Azure GPT-5 uses same Azure configuration`).
</ResponseField>

<ResponseField name="enableBedrockAI21Jurassic" type="Admin CLI" pre={["org"]}>
  Legacy per-provider toggle intended to control availability of the AWS Bedrock AI21 Jurassic model. It has no read call site in `client/` or `server/` today; only data migrations reference it (forced off both by default and on-prem). Appears superseded/dormant.
</ResponseField>

<ResponseField name="enableBedrockClaude2" type="Admin CLI" pre={["org"]}>
  Legacy per-provider toggle intended to control availability of the AWS Bedrock Claude 2 model. It has no read call site in `client/` or `server/` today; only data migrations reference it (forced off on-prem). Appears superseded/dormant.
</ResponseField>

<ResponseField name="enableBedrockClaude3Sonnet" type="Admin CLI" pre={["org"]}>
  Legacy per-provider toggle intended to control availability of the AWS Bedrock Claude 3 Sonnet model. It has no read call site in `client/` or `server/` today; only data migrations reference it (turned on org-wide by `turnDeprecatedSettingsOn`, forced off on-prem). Appears superseded/dormant.
</ResponseField>

<ResponseField name="enableBedrockTitan" type="Admin CLI" pre={["org"]}>
  Legacy per-provider toggle intended to control availability of the AWS Bedrock Titan model. It has no read call site in `client/` or `server/` today; only data migrations reference it (forced off on-prem). Appears superseded/dormant.
</ResponseField>

<ResponseField name="enableBedrockTitanTextExpress" type="Admin CLI" pre={["org"]}>
  Legacy per-provider toggle intended to control availability of the AWS Bedrock Titan Text Express model. It has no read call site in `client/` or `server/` today; only data migrations reference it (turned on org-wide by `turnDeprecatedSettingsOn`, forced off on-prem). Appears superseded/dormant.
</ResponseField>

<ResponseField name="enabledAIProviders" type="Org Settings UI" pre={["org"]}>
  JSON object of enabled external AI providers (e.g. \{"aws": true, "google": true}).
</ResponseField>

<ResponseField name="enableDeepL" type="Admin CLI" pre={["org"]}>
  Legacy per-provider toggle intended to control availability of the DeepL MT provider. It has no read call site in `client/` or `server/` today; only data migrations reference it (turned on org-wide by `turnDeprecatedSettingsOn`, forced off on-prem). Provider availability in the current AIProvidersV2 UI (DeepL is offered unconditionally alongside Lilt Contextual AI, Amazon, Google, and Anthropic in `useProviderList`) is instead driven by `EnabledAIProviders` plus live credential configuration.
</ResponseField>

<ResponseField name="enableGoogleCloudASR" type="Admin CLI" pre={["org"]}>
  Legacy per-provider toggle intended to control availability of the Google Cloud ASR option. Not read by the current `useSpeechToTextLLMOptions` hook (Google Cloud ASR visibility there is unconditional, gated only by live service validation/credential configuration); only data migrations reference this setting name. Appears superseded/dormant.
</ResponseField>

<ResponseField name="enableGoogleCloudVision" type="Admin CLI" pre={["org"]}>
  Legacy per-provider toggle intended to control availability of the Google Cloud Vision OCR option. Not read by the current `useImageToTextLLMOptions` hook (Google Cloud Vision visibility there is unconditional, gated only by live credential configuration); only data migrations reference this setting name. Appears superseded/dormant.
</ResponseField>

<ResponseField name="enableGooglePalm2" type="Admin CLI" pre={["org"]}>
  Legacy per-provider toggle intended to control availability of the Google PaLM 2 generative model. It has no read call site in `client/` or `server/` today; only data migrations reference it. Appears superseded/dormant, likely predating removal of PaLM 2 from the model lineup entirely.
</ResponseField>

<ResponseField name="enableGoogleTranslate" type="Admin CLI" pre={["org"]}>
  Legacy per-provider toggle intended to control availability of the Google Translate MT provider. It has no read call site in `client/` or `server/` today; only data migrations reference it (enabled org-wide by `turnDeprecatedSettingsOn`, forced off on-prem). Provider availability in the current AIProvidersV2 UI is instead driven by `EnabledAIProviders` plus live credential configuration.
</ResponseField>

<ResponseField name="enableGoogleTranslateV3" type="Admin CLI" pre={["org"]}>
  Setting key seemingly intended to gate availability of the Google Translate v3 API as a distinct provider/model option. Unlike its siblings in this group, it has zero references anywhere else in the repository — not even in a data migration — so it cannot currently affect any behavior.
</ResponseField>

<ResponseField name="enableGoogleTranslateV3Migration" type="Admin CLI" pre={["org"]}>
  Setting key seemingly intended to gate a migration path from the legacy Google Translate API to v3 (e.g. for switching existing orgs over without changing their selected provider). Like `EnableGoogleTranslateV3`, it has zero references anywhere else in the repository — not even in a data migration — so it cannot currently affect any behavior.
</ResponseField>

<ResponseField name="enableLiltHostedNvidia" type="Admin CLI" pre={["org"]}>
  Shows the "Lilt-hosted Nvidia" translation provider as a selectable option in MT provider pickers (`useProviderList`/`useLLMOptions` on the Contextual AI / target-language provider forms, and the AIProvidersV2 Services tab), in addition to the always-available Lilt Contextual AI, Amazon, DeepL, Google, and Anthropic options. No org-settings-ui form exposes it directly; it's flipped via data migration/admin-cli, and is forced off by default on-prem.
</ResponseField>

<ResponseField name="enableLLaMa2" type="Admin CLI" pre={["org"]}>
  Legacy per-provider toggle intended to control availability of a LLaMa 2 translation/generation model. It has no read call site in `client/` or `server/` today; only data migrations reference it (turned on org-wide by `turnDeprecatedSettingsOn`, forced off on-prem). Appears superseded/dormant.
</ResponseField>

<ResponseField name="enableLLMConfigurationSettings" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to gate a dedicated LLM Configuration Settings UI/flow. No current front-end or server code path reads this setting outside of the on-prem default-value migrations, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableMcp" type="Org Settings UI" pre={["org"]}>
  Org-level toggle to enable the Model Context Protocol (MCP) integration.
</ResponseField>

<ResponseField name="enableOCR" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to enable OCR (Optical Character Recognition) functionality. No current front-end or server code path reads this setting outside of the on-prem default-value migrations (OCR triggering elsewhere in the codebase is instead driven by `EnableUniversalFileUploadEnterprise`), so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableOpenAIGPT3_5" type="Admin CLI" pre={["org"]}>
  Gates the OpenAI GPT-3.5 option in the LILT Create / AI Hub generative model list (`useGenerativeLLMOptions`'s `createOpenAIModel` helper sets `isVisible` from this setting). Added by the `add-lilt-create-provider-settings` migration and defaulted off for on-prem deployments (`changeDefaultSettingOnPrem`); also force-disabled org-wide by the `turnDeprecatedSettingsOn`/`changeDefaultValuesOfDeprecatedSettings` migration sweeps alongside the other older OpenAI models.
</ResponseField>

<ResponseField name="enableOpenAIGPT4" type="Admin CLI" pre={["org"]}>
  Gates the OpenAI GPT-4 option in the LILT Create / AI Hub generative model list. Also read directly (outside the AI Hub list) as a general "is OpenAI configured/enabled" check in several unrelated call sites — `useLLMOptions`, `useAIProvidersLLMOptions`, and the target-language provider list (`useProvidersList`) all gate OpenAI-provider visibility on this single flag rather than a dedicated one.
</ResponseField>

<ResponseField name="enableOpenAIGPT4_Turbo" type="Admin CLI" pre={["org"]}>
  Gates the OpenAI GPT-4 Turbo option in the LILT Create / AI Hub generative model list, alongside the plain GPT-4 and GPT-3.5 options. Added by the same `add-lilt-create-provider-settings` migration and defaulted off on-prem.
</ResponseField>

<ResponseField name="enableOpenAIGPT4O" type="Admin CLI" pre={["org"]}>
  Gates the OpenAI GPT-4o option in the LILT Create / AI Hub generative model list. Added later than the other GPT-4 variants (dedicated `add-enable-gpt4o-setting` migration) and defaulted off for on-prem.
</ResponseField>

<ResponseField name="enableOpenAIGPT5" type="Admin CLI" pre={["org"]}>
  Gates the OpenAI GPT-5 option (`createOpenAIModel` with high speed, high cost, high quality) in the LILT Create / AI Hub generative model list.
</ResponseField>

<ResponseField name="enableOpenAIGPT5Mini" type="Admin CLI" pre={["org"]}>
  Gates the OpenAI GPT-5 Mini option (high speed, medium cost, high quality) in the LILT Create / AI Hub generative model list.
</ResponseField>

<ResponseField name="enableOpenAIGPT5Nano" type="Admin CLI" pre={["org"]}>
  Gates the OpenAI GPT-5 Nano option (high speed, low cost, medium quality) in the LILT Create / AI Hub generative model list.
</ResponseField>

<ResponseField name="enableOpenAiWhisper" type="Admin CLI" pre={["org"]}>
  Controls visibility of the OpenAI Whisper ASR option (both the on-prem "Lilt-hosted" variant and the SaaS Azure-backed variant) in the AIHub speech-to-text provider list (`useSpeechToTextLLMOptions`), independent of the Amazon Transcribe and Google Cloud ASR options which are always shown. Combined with live per-provider credential configuration to determine whether the option is actually usable.
</ResponseField>

<ResponseField name="enableTesseract" type="Admin CLI" pre={["org"]}>
  Setting originally added (`add-enable-tesseract-provider`, `isUserFacing: false`) to gate the Tesseract/"Lilt Contextual AI" OCR option. The current `useImageToTextLLMOptions` hook no longer reads it directly — Tesseract's visibility there is driven purely by `isOnPrem` — though a companion spec still mocks this setting, suggesting the read was refactored away without updating the test. Only data migrations (turned on org-wide by `turnDeprecatedSettingsOn`, forced on for on-prem defaults) still reference it live.
</ResponseField>

<ResponseField name="GeneratedContentPreferences" type="API" pre={["org", "project"]}>
  JSON blob of preferences (style guide overrides, preferred LLM provider) for LILT Create generated content, matching the `GeneratedContentPreferences` shape consumed as `GeneratedContentTemplateParams.preferences`. Not user-facing (`isUserFacing: false`); its migration deletes rows from OrganizationSettings, ProjectSettings, and UserSettings alike, indicating it can be stored at multiple scopes rather than only the org level.
</ResponseField>

<ResponseField name="GeneratedContentService" type="Org Settings UI" pre={["org"]}>
  Selects which generative model/service backs LILT Create's content generation (`useGeneratedContentService`), consumed by `useSupportedLanguages` to determine supported languages for the selected model. Editable via the org's General Settings tab (`GeneralSettings.tsx`, `SettingsTabs/custom`) and kept current by migrations that flip its value across Gemini model versions.
</ResponseField>

<ResponseField name="generativeModelsPreferences" type="Org Settings UI" pre={["org"]}>
  JSON preferences blob holding the org's per-model enable/disable state and defaults for generative (LLM) models — `useGenerativeLLMOptions` reads `preferences.value.enabledModels` to decide which configured model each provider row should show as enabled, and it's the primary settingName threaded through the AI Providers V2 services tab (`ServiceCard`, `useAIProviders`, `useBedrockServices`) for saving updates to generative model selection.
</ResponseField>

<ResponseField name="imageToTextModelsPreferences" type="Org Settings UI" pre={["org"]}>
  JSON preferences blob analogous to `GenerativeModelsPreferences` but for image-to-text (OCR) models — read by `useImageToTextLLMOptions` and the job-creation OCR provider picker (`useOCRProvider`) to determine the org's configured OCR provider/model.
</ResponseField>

<ResponseField name="translationModelsPreferences" type="Org Settings UI" pre={["org"]}>
  JSON preferences blob analogous to `GenerativeModelsPreferences` but for translation (MT) models — used across job creation (`ModelSelector`, `JobForm`, `useFillPromptLangPairs`) to determine which translation model/provider is enabled and available for a given org.
</ResponseField>

<ResponseField name="viewContextualAI" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to gate visibility of Contextual AI / LLM-related UI. No current front-end or server code path reads this specific setting outside of the on-prem default-value migrations (the large set of Contextual-AI-branded containers found in the codebase are not gated by this key), so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="ENABLE_EXTERNAL_MODEL_CONFIG" type="Environment Variable" pre={["org"]}>
  Shows the External Models tab under Organization Settings, letting admins toggle which external AI providers are available.
</ResponseField>

## Authentication & Security

<ResponseField name="enableWSO2Login" type="Admin CLI" pre={["org"]}>
  Org-level toggle that allows WSO2-backed OIDC login for an organization. Checked in `addMember` when the org's authentication type is `EMBEDDED_OIDC`, to decide whether WSO2 login is permitted for newly added members.
</ResponseField>

<ResponseField name="sessionTimeout" type="Admin CLI" pre={["org"]}>
  Org-level numeric override (in minutes) for how long a user's login session stays valid. Read by `getSessionCookieTimeout`/ `setSessionCookieTimeout`, cached per-user for 4 hours; a value of 0 (or unset) means no custom timeout is applied.
</ResponseField>

## Connectors

<ResponseField name="allowedConnectors" type="Admin CLI" pre={["org"]}>
  String setting (default `""`) added by the `add-allowedConnectors-SettingKeyNames` migration to restrict which connectors an org is allowed to use. No live reader was found in current client or server code beyond the migration that created it — it appears to be an unused/dormant setting today.
</ResponseField>

<ResponseField name="enableAutoDeliveryBlocking" type="Admin CLI" pre={["org"]}>
  Org-level toggle for the auto-delivery feature. When enabled, jobs whose documents are all marked done are automatically delivered (subject to post-processing — if PP is still active, delivery waits until PP completes). When disabled (default), automatic delivery is blocked unconditionally and a PM must click Deliver manually. The DB key name retains "Blocking" for back-compat with existing org settings rows; do not rely on the name to infer the runtime behavior. Manual (PM-initiated) delivery is always allowed regardless of this setting.
</ResponseField>

<ResponseField name="enableConnectorsBuilder" type="Admin CLI" pre={["org"]}>
  Org-level toggle intended to enable the Connectors Builder feature. No current front-end or server code path reads this setting outside of the on-prem default-value migration, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableConnectorsManualSubmission" type="Admin CLI" pre={["org"]}>
  Org-level toggle to allow manual submissions for connectors flows. When enabled, users can select content from a connector and submit it manually.
</ResponseField>

<ResponseField name="enableConnectorsView" type="Admin CLI" pre={["org"]}>
  Org-level toggle for the Connectors nav entry: gates the "Connectors" link/card on the homepage and manage-home navigation (`NavigationCards`/`ManageHomepage`, via `useHasSetting`).
</ResponseField>

## Analytics

<ResponseField name="customAnalyticsKey" type="Admin CLI" pre={["org"]}>
  Customer identifier embedded into the Looker Studio embed URL for the AnalyticsV2 Custom Analytics tab (`AnalyticsV2/CustomAnalytics`).
</ResponseField>

<ResponseField name="enableAIAccuracyPerModel" type="Admin CLI" pre={["org"]}>
  Enables the per-model breakdown view in the Analytics "AI Accuracy" tab, letting users see AI accuracy metrics broken out by individual model rather than only in aggregate.
</ResponseField>

<ResponseField name="enableAnalyticsV2" type="Org Settings UI" pre={["org"]}>
  Switches the Analytics page over to the AnalyticsV2 experience (`AnalyticsPage`/`DataAnalytics/index.tsx`), which otherwise falls back to the legacy `DataAnalytics` view. Set to `true` as part of new organizations' default settings (`setDefaultOrgSettings`).
</ResponseField>

<ResponseField name="enableCustomAnalytics" type="Org Settings UI" pre={["org"]}>
  Shows the Custom Analytics tab inside AnalyticsV2 (`AnalyticsV2/index.tsx`), which embeds a customer-specific Looker Studio report via `CustomAnalyticsKey`.
</ResponseField>

<ResponseField name="enableFinancialData" type="Admin CLI" pre={["org"]}>
  Org-level toggle that gates access to financial data in Analytics reports — when disabled, `useReports` treats the org as having no financial data and hides financial figures from report views.
</ResponseField>

<ResponseField name="enableFinancialsAnalytics" type="Org Settings UI" pre={["org"]}>
  Shows the Financials tab inside AnalyticsV2 (`AnalyticsV2/index.tsx`), exposing financial reporting alongside the Overview, AI Accuracy, and Quality tabs.
</ResponseField>

<ResponseField name="enableLQA" type="Admin CLI" pre={["org"]}>
  Switches an organization's Analytics dashboards (Overview and Quality tabs) from the legacy "average errors per word" quality metric to the LQA (Language Quality Assessment) score, swapping in the average quality score widget in place of the average errors/words widget. Not exposed on the org settings UI; toggled per organization by Lilt staff.
</ResponseField>

<ResponseField name="enableOPMStats" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to gate access to the Linguist Stats "OPM" (operations-per-minute) productivity report under Insights. No current front-end or server code path reads this specific setting to gate that report outside of the on-prem default-value migrations, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableOpportunitySync" type="Admin CLI" pre={["org"]}>
  Org-level toggle that automatically links Salesforce opportunities to projects. Non-user-facing; only referenced by its creation migration and the on-prem default-settings migration — no live application reader was found beyond that.
</ResponseField>

<ResponseField name="grossMarginPercentHumanAiOptimized" type="Admin CLI" pre={["org"]}>
  Org-level target gross margin percentage (0-100) associated with Human+AI Optimized workflow jobs. Defaults to 80; validated as a 0-100 percentage but not yet read by any front-end or server code path in this repo — likely feeds a downstream pricing/margin-reporting consumer.
</ResponseField>

<ResponseField name="grossMarginPercentVerified" type="Admin CLI" pre={["org"]}>
  Org-level target gross margin percentage (0-100) associated with Verified-translation jobs. Defaults to 70; validated as a 0-100 percentage but not yet read by any front-end or server code path in this repo — likely feeds a downstream pricing/margin-reporting consumer.
</ResponseField>

<ResponseField name="programInsightsKey" type="Admin CLI" pre={["org"]}>
  Customer identifier embedded into the Looker Studio embed URL for the legacy Program Insights report (`Homepage/ProgramInsights`, `DataAnalytics/ProgramInsights`), used to parameterize the report to the current organization.
</ResponseField>

<ResponseField name="usageAnalytics" type="Admin CLI" pre={["org"]}>
  Gates the "by user" drill-down modals (Quality by User, AI Accuracy by User) inside AnalyticsV2 (read via `useHasUsageAnalyticsEnabled`/ `useHasSetting`, and directly in `AnalyticsV2/index.tsx`) so only orgs with this flag can open per-user breakdowns from chart clicks. Not user-editable; enabled per-org via a series of one-off data migrations (`create-enableUsageAnalytics-org-setting`, later migrations flipping the default to `true`).
</ResponseField>

<ResponseField name="viewEmbeddedAppInsights" type="Admin CLI" pre={["org"]}>
  Gates visibility of the "Insights" nav link in the app header and access to the embedded Volume & Leverage insights report/route. When disabled, users are redirected away from the report page. Not exposed on the org settings UI; toggled per organization by Lilt staff.
</ResponseField>

<ResponseField name="viewEmbeddedAppInsightsB" type="Admin CLI" pre={["org"]}>
  Org-level toggle intended as a secondary/variant flag alongside `ViewEmbeddedAppInsights` for embedded app insights access. No current front-end or server code path reads this setting outside of the on-prem default-value migration, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="viewLinguistStats" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to gate access to the Linguist Stats report under Insights. No current front-end or server code path reads this specific setting outside of the on-prem default-value migrations — visibility of that report area is instead governed by the separate `Permissions.LinguistStatsRead` role-permission system — so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="viewProgramInsights" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to gate access to the Program Insights homepage/analytics widget. No current front-end or server code path reads this specific setting outside of the on-prem default-value migrations, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="viewProjectsStats" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to gate access to the Projects Stats report under Insights/Analytics. No current front-end or server code path reads this specific setting outside of the on-prem default-value migrations, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

## Users & Assignment

<ResponseField name="accountLinguistQualitiesIsAvailable" type="Admin CLI" pre={["org"]}>
  Org-level flag whose name implies gating availability of the Linguist Qualities feature for the account. Not read anywhere in the current front client/server code — the related `selectIsLinguistQualitiesEnabled` selector is role-based only and does not consult this setting — so its enforcement point (if still active) is presumably outside this repo.
</ResponseField>

<ResponseField name="autoTriggerAssignment" type="Admin CLI" pre={["org"]}>
  Org-level toggle that allows automatic assignment (AA) to be triggered immediately when a job transitions to "Ready to Start", rather than waiting for the next scheduled AA run. Read by the client's `autoAssignmentTrigger` utility.
</ResponseField>

<ResponseField name="enableAutoAssignment" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to enable automatic assignment of work to linguists. The underlying setting key was deleted outright by a later migration (`remove-enable-auto-assign-setting`) and no current front-end or server code path reads it, so treat it as reserved/removed.
</ResponseField>

<ResponseField name="enableCustomerReviewerDomainAssignment" type="Admin CLI" pre={["org"]}>
  Org-level toggle allowing domains (not just individual users) to be assigned as the customer reviewer on projects/jobs. Read by `useEnableCustomerReviewerDomainAssignment` to gate the relevant assignment UI in job creation and account/member forms.
</ResponseField>

<ResponseField name="enableDomains" type="Admin CLI" pre={["org"]}>
  Org-level toggle for the Domains feature. Gates access-control and UI surfaces (e.g. the Domains admin page, model/memory domain scoping, domain-based job access checks) that let an org partition users, memories, and models by domain.
</ResponseField>

<ResponseField name="enableExperts" type="Admin CLI" pre={["org"]}>
  Org-level toggle for the Experts feature. When enabled, an "Experts" tab is surfaced in Manage Users (for users with the TeamsWrite permission) and in the account profile page, exposing expert-role management UI that is otherwise hidden.
</ResponseField>

<ResponseField name="enableNewLinguistPage" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to enable a redesigned linguist homepage/landing page. No current front-end or server code path reads this setting outside of the on-prem default-value migrations, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="fullNameMandatory" type="Admin CLI" pre={["org"]}>
  Requires a user to have their full name set on their account profile. Read by the `MandatoryAccountInformationModal`, which forces the user to fill in their full name (via a blocking modal) after login when this is enabled and the field is still unset.
</ResponseField>

<ResponseField name="jobInstructionsEmailTemplate" type="Org Settings UI" pre={["project"]}>
  Free-text/HTML instructions template configured per job and shown to linguists on the job's instructions page/form (`client/reactApp/containers/Jobs/Detail/Settings/JobInstructions`), fetched via `getJobInstructions`/`getInstructionsImpl` which read it from the job's own settings scope (distinct from the org-level `OrganizationInstructionsEmailTemplate` and the project-level `ProjectInstructionsEmailTemplate`, all three of which are surfaced together on the instructions view). Saved via `saveJobInstructions`.
</ResponseField>

<ResponseField name="limitAssignmentsToOnboardedUsers" type="Org Settings UI" pre={["org"]}>
  Org-level toggle that restricts automatic assignment (AA) so that only onboarded users are eligible candidates; users who have not completed onboarding are excluded from AA candidate pools. Surfaced in the org's Assignment settings card alongside `AutoTriggerAssignment`.
</ResponseField>

<ResponseField name="linguistAvailabilityToggle" type="Org Settings UI" pre={["org"]}>
  Controls whether a user's Linguist Availability preferences are exposed on their Account Profile page. Read via `useLinguistPreferencesEnabled`, which requires both this setting and the (role-based) Linguist Qualities eligibility check to be true before showing the preferences UI (`AccountProfileForm`).
</ResponseField>

<ResponseField name="organizationInstructionsEmailTemplate" type="Org Settings UI" pre={["org"]}>
  Free-text/HTML instructions template configured at the organization level and shown to linguists on job/project instruction pages (`ProjectInstructions`, `getJobInstructions`). Distinct from the per-project `ProjectInstructionsEmailTemplate`; both are rendered together on the instructions view. Editable via `SettingEmailTemplate` and listed in `assignmentSettingKeys` for the org's Assignment settings tab.
</ResponseField>

<ResponseField name="organizationTrainingRequired" type="Admin CLI" pre={["org"]}>
  Org-level boolean flag (`isUserFacing: true` at creation) whose name implies gating on completed linguist/organization training. Not read anywhere in the current front client/server code, so its enforcement point (if still active) is presumably outside this repo.
</ResponseField>

<ResponseField name="projectInstructionsEmailTemplate" type="Org Settings UI" pre={["project"]}>
  Free-text/HTML instructions template configured per project and shown to linguists alongside the org-level `OrganizationInstructionsEmailTemplate` on job/project instruction pages (`ProjectInstructions`, `getJobInstructions`). Read/written through the project-scoped settings service (not an org default with override — this setting only exists at the project level) and editable via the project's Workflow Settings form (`SettingEmailTemplate`).
</ResponseField>

<ResponseField name="timezoneMandatory" type="Admin CLI" pre={["org"]}>
  Requires a user to have their timezone set on their account profile. Read by the `MandatoryAccountInformationModal`, which forces the user to select a timezone (via a blocking modal) after login when this is enabled and the field is still unset.
</ResponseField>

<ResponseField name="userCreateLimit" type="Admin CLI" pre={["org"]}>
  Numeric cap intended to separately limit how many users with `create.write` permissions (e.g. Manager-type roles) an org can add, distinct from the overall `UserLimit`. Added alongside `UserLimit` by the `add-user-and-create-limits` migration and still exercised by `addMember.spec.ts` (which shows Administrator-role adds as exempt from it), but the current `addMember.ts` implementation only reads `UserLimit` — no production code path was found constructing a `getSettingKeyInfo(UserCreateLimit)` lookup, suggesting the check was refactored away without the test being updated.
</ResponseField>

<ResponseField name="userDomainsPreferences" type="API" pre={["org"]}>
  Per-user JSON preferences for the Domains feature (currently just a `defaultDomainId`), edited from the Account Profile page and used to pre-select the user's default domain in domain-scoped UI.
</ResponseField>

<ResponseField name="userLanguagePreference" type="API" pre={["org"]}>
  Per-user preferred UI/content language, stored as a string setting (default `"en-US"`) on the user's account. Read/written from the Account Profile page and used when rendering the user's own settings.
</ResponseField>

<ResponseField name="userLimit" type="Admin CLI" pre={["org"]}>
  Numeric cap on the total number of active (non-`@lilt.com`) members an org may have. Enforced in `addMember`'s controller: the invite is rejected once the non-Lilt-employee member count reaches this value, unless the value is negative, which is treated as unlimited seats (`hasInfinitelyManySeats`).
</ResponseField>

## Misc

<ResponseField name="availableAgentTools" type="Org Settings UI" pre={["org"]}>
  Org-level setting listing which Enterprise Agent tools (translate, termbase, create, analyze) are available to the org's AI Assistant. Edited via a multi-select dropdown in the General Settings tab (`AvailableAgentTools` custom setting).
</ResponseField>

<ResponseField name="defaultHomepage" type="Admin CLI" pre={["org"]}>
  Selects which page (per `HomepageOptions`, e.g. `PLATFORM`) a role's members land on after login. Read client-side via the `useDefaultHomepage` hook (falling back to `HomepageOptions.PLATFORM` when unset) and exposed on `MemberRole.homepage` via the organization GraphQL mapper; settable per role through `organizationRoleOperations.ts`.
</ResponseField>

<ResponseField name="enableAgentHomepage" type="Admin CLI" pre={["org"]}>
  Org-level toggle that switches the app's default landing page to the Enterprise Agent homepage. Read by the navigation sidebar and the Homepage container to decide which home experience to render.
</ResponseField>

<ResponseField name="enableAIAssistant" type="Admin CLI" pre={["org"]}>
  Org-level toggle that enables the AI Assistant. When enabled (and combined with the `enableAIAssistant` feature toggle), it surfaces the AI Assistant entry point in the navigation sidebar.
</ResponseField>

<ResponseField name="enableGeneratedContentServiceSelection" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to enable selection between generated-content services (introduced alongside the `enableLiltCreate` setting). No current front-end or server code path reads this setting outside of the on-prem default-value migration, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableHomePage" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to enable a dedicated Home Page experience. No current front-end or server code path reads this setting outside of the on-prem default-value migration, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableOrgSettingsView" type="Admin CLI" pre={["org"]}>
  Legacy org-level toggle historically intended to control visibility of an organization settings view. It no longer appears in any production route or component — the remaining references are on-prem default-value migrations and settings-framework unit tests that use it as a generic example setting key.
</ResponseField>

<ResponseField name="enablePlatformRedesign" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to enable a platform-wide UI redesign. No current front-end or server code path reads this setting outside of the on-prem default-value migrations, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableProjectSettingsView" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to gate visibility of a project settings view/page. No current front-end or server code path reads this setting outside of the on-prem default-value migrations, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="enableSplitSettingsPage" type="Admin CLI" pre={["org"]}>
  Org-level toggle historically intended to enable a split/restructured organization settings page. No current front-end or server code path reads this setting outside of the on-prem default-value migration, so treat it as reserved/likely inert until a live consumer is found.
</ResponseField>

<ResponseField name="navigationLayoutMode" type="Admin CLI" pre={["org"]}>
  Selects which navigation layout (e.g. the legacy default vs. the newer "platform" layout) a role's members see, per `NavigationLayoutModes`. Exposed on `MemberRole.navigationLayout` via the organization GraphQL mapper (`roleSettingStringValue`) alongside `DefaultHomepage`, and can be set per role (e.g. `set-navigationLayoutMode-agency-translator` migration).
</ResponseField>

<ResponseField name="ALLOW_INCOMPATIBLE_BROWSERS" type="Environment Variable" pre={["org"]}>
  Allows users on unsupported/incompatible browsers to access the platform instead of being blocked.
</ResponseField>
