Skip to main content
CID222 Docs

Environment variables

Every environment variable the CID stack declares, its default, the containers that receive it, and whether the gateway reads it.

  • Type: reference

Every environment variable the compose stack declares or interpolates, plus every variable the gateway itself reads. Regenerate with make docs-generate.

  • Default is the value in docker-compose.yml (falling back to .env.example). ${NAME:-x} means the operator may override it from .env, and x is what an unconfigured box gets.
  • Services are the containers whose environment: block receives it.
  • Read by (gateway) is yes when the gateway itself reads the variable, so setting it changes how the gateway behaves. no means the gateway never reads it: the variable is either consumed by another container (the Python ML services, the Go proxy, an entrypoint script) or by nothing at all — see the second table below before relying on it.

All variables

VariableDefaultServicesIn .env.exampleRead by (gateway)
ACME_EMAIL${ACME_EMAIL}caddyyesno
AGENT_AUTH_TOKEN${USERID_AGENT_TOKEN:-}cid-userid-agentnono
AGENT_PROTECT_READS${USERID_AGENT_PROTECT_READS:-}cid-userid-agentnono
ALL_DETECTIONS_MAX_MERGE_KEYS——noyes
ALL_DETECTIONS_PAGE_SIZE——noyes
ALL_DETECTIONS_WINDOW_MINUTES——noyes
ANALYST_ANALYSIS_BATCH_PAUSE_MS${ANALYST_ANALYSIS_BATCH_PAUSE_MS:-0}risk-analystyesno
ANALYST_ANALYSIS_BATCH_SIZE${ANALYST_ANALYSIS_BATCH_SIZE:-20}risk-analystyesno
ANALYST_ANALYSIS_CONCURRENCY${ANALYST_ANALYSIS_CONCURRENCY:-1}risk-analystyesno
ANALYST_ANALYSIS_MAX_WAIT${ANALYST_ANALYSIS_MAX_WAIT:-300}risk-analystyesno
ANALYST_ANALYSIS_ROUND_TIMEOUT${ANALYST_ANALYSIS_ROUND_TIMEOUT:-300}risk-analystyesno
ANALYST_CHAT_HIDDEN_TOOLS${ANALYST_CHAT_HIDDEN_TOOLS:-["count_all_detections","list_all_detections","get_owasp_index"]}risk-analystyesno
ANALYST_CHAT_STREAM_TIMEOUT——noyes
ANALYST_CHAT_UNGROUNDED_ANSWER_CHARS${ANALYST_CHAT_UNGROUNDED_ANSWER_CHARS:-240}risk-analystyesno
ANALYST_CLEAR_MAX${ANALYST_CLEAR_MAX:-30}risk-analysthost knob onlyno
ANALYST_CONTEXT_WINDOW${ANALYST_CONTEXT_WINDOW:-32768}risk-analystyesno
ANALYST_KNOWLEDGE_REFRESH_SECONDS${ANALYST_KNOWLEDGE_REFRESH_SECONDS:-900}risk-analysthost knob onlyno
ANALYST_LLM_ROUND_TIMEOUT${ANALYST_LLM_ROUND_TIMEOUT:-120}risk-analysthost knob onlyno
ANALYST_LOCK_MIN${ANALYST_LOCK_MIN:-70}risk-analysthost knob onlyno
ANALYST_MAX_QUEUE_DEPTH${ANALYST_MAX_QUEUE_DEPTH:-16}risk-analystyesno
ANALYST_REVIEW_CONCURRENCY${ANALYST_REVIEW_CONCURRENCY:-2}risk-analystyesno
ANALYST_REVIEW_TIMEOUT${ANALYST_REVIEW_TIMEOUT:-300}risk-analysthost knob onlyno
ANALYST_TRACE_DIR/tracesrisk-analystnono
ANTHROPIC_API_KEY${ANTHROPIC_API_KEY:-}deepteamhost knob onlyno
API_DOMAIN${API_DOMAIN}caddyyesyes
APP_DOMAIN${APP_DOMAIN}caddyyesno
APP_NAMEcid-ocrattack-guard, document-parser, hallucination-guard, ml-detector, ocr-service, redactor, report-renderernono
APP_VERSION1.0.0attack-guard, document-parser, hallucination-guard, ml-detector, ocr-service, redactor, report-renderernoyes
ATTACK_GUARD_SERVICE_ENABLEDtruenestjs-corenoyes
ATTACK_GUARD_SERVICE_TIMEOUT10000nestjs-corenoyes
ATTACK_GUARD_SERVICE_URLhttp://attack-guard:8003nestjs-corenoyes
ATTACK_INTRA_OP2—host knob onlyno
ATTACK_MAX_CONCURRENT4—host knob onlyno
ATTACK_WORKERS1—host knob onlyno
BROWSER_EXTENSION_ID——noyes
CACHEBUST——host knob onlyno
CACHE_ENABLEDtrueml-detectornono
CACHE_KEY_PREFIXdetectionml-detectornono
CACHE_TTL3600attack-guard, ml-detectornono
CASE_UPPERCASE_THRESHOLD——noyes
CA_APP_NAMECID Cost Analyzercost-analyzernono
CA_ENVIRONMENTproductioncost-analyzernono
CA_LOG_LEVELINFOcost-analyzernono
CA_VERSION1.0.0cost-analyzernono
CID_ATTEST_ENFORCE${CID_ATTEST_ENFORCE:-false}cid-proxyhost knob onlyno
CID_ATTEST_TTL_SEC——noyes
CID_BACKEND_TIMEOUT180cid-proxynono
CID_BACKEND_URLhttp://nestjs-core:3000cid-proxynono
CID_CONTAINER_PREFIXai-gateway-reconfigure-agentnono
CID_CORE_INSPECT_URLhttp://localhost:3000/inspect/v1cid-inline-proxynono
CID_DEBUG_DUMP_REDACTS${CID_DEBUG_DUMP_REDACTS:-0}cid-inline-proxy, nestjs-corehost knob onlyyes
CID_DEBUG_DUMP_REQUESTS${CID_DEBUG_DUMP_REQUESTS:-0}cid-inline-proxyhost knob onlyno
CID_DEBUG_DUMP_RESPONSES${CID_DEBUG_DUMP_RESPONSES:-0}cid-inline-proxyhost knob onlyno
CID_DIAGNOSTICS_EGRESS——noyes
CID_ENABLE_LAB——noyes
CID_ETC_DIR——host knob onlyno
CID_ETC_DIR_IN_CONTAINER——noyes
CID_HARDWARE_REPORT——noyes
CID_HOST_EXECdockerreconfigure-agentnono
CID_INSPECT_BINARY_TIMEOUT_MS${CID_INSPECT_BINARY_TIMEOUT_MS:-30000}cid-inline-proxyhost knob onlyno
CID_INSPECT_FAIL_OPEN${INLINE_PROXY_FAIL_OPEN:-false}cid-inline-proxynono
CID_INSPECT_KEY${CID_INSPECT_KEY:-}cid-proxyhost knob onlyno
CID_INSPECT_TIMEOUT_MS${CID_INSPECT_TIMEOUT_MS:-8000}cid-inline-proxyhost knob onlyno
CID_INSPECT_URL${CID_INSPECT_URL:-}cid-proxyhost knob onlyno
CID_LICENSE_ISSUER${CID_LICENSE_ISSUER:-}nestjs-corehost knob onlyyes
CID_LICENSE_ISSUER_TOKEN${CID_LICENSE_ISSUER_TOKEN:-}nestjs-corehost knob onlyyes
CID_LICENSE_ISSUER_URL${CID_LICENSE_ISSUER_URL:-}nestjs-corehost knob onlyyes
CID_PASSTHROUGH_FAIL_OPEN${CID_PASSTHROUGH_FAIL_OPEN:-true}cid-proxyhost knob onlyno
CID_PASSTHROUGH_MASK${CID_PASSTHROUGH_MASK:-false}cid-proxyhost knob onlyno
CID_REQUIRE_LICENSE——noyes
CID_RESPONSE_INSPECTION_ENABLED${CID_RESPONSE_INSPECTION_ENABLED:-true}nestjs-corehost knob onlyyes
CID_RESUMABLE_UPLOAD_POLICY${CID_RESUMABLE_UPLOAD_POLICY:-block}cid-inline-proxy, nestjs-corehost knob onlyyes
CID_TRIAL_DAYS——noyes
CID_TRIAL_TIER——noyes
CID_UPDATE_ROOT/var/lib/cidreconfigure-agentnoyes
CID_UPDATE_STATE_DIR——host knob onlyno
CID_UPSTREAM_URL${CID_UPSTREAM_URL:-https://api.anthropic.com}cid-proxyhost knob onlyno
CID_VERSION——noyes
CODE_SAFETY_CERT_DIR——host knob onlyno
CODE_SAFETY_SERVICE_CA_CERT${CODE_SAFETY_SERVICE_CA_CERT:-}nestjs-corehost knob onlyyes
CODE_SAFETY_SERVICE_CLIENT_CERT${CODE_SAFETY_SERVICE_CLIENT_CERT:-}nestjs-corehost knob onlyyes
CODE_SAFETY_SERVICE_CLIENT_KEY${CODE_SAFETY_SERVICE_CLIENT_KEY:-}nestjs-corehost knob onlyyes
CODE_SAFETY_SERVICE_ENABLED${CODE_SAFETY_SERVICE_ENABLED:-false}nestjs-corehost knob onlyyes
CODE_SAFETY_SERVICE_TIMEOUT${CODE_SAFETY_SERVICE_TIMEOUT:-10000}nestjs-corehost knob onlyyes
CODE_SAFETY_SERVICE_TOKEN${CODE_SAFETY_SERVICE_TOKEN:-}nestjs-corehost knob onlyyes
CODE_SAFETY_SERVICE_URL${CODE_SAFETY_SERVICE_URL:-http://code-safety:8018}nestjs-corehost knob onlyyes
CODE_SAFETY_TRUST_NETWORK——noyes
COMPOSE_PROFILESllm-analyst—nono
CONFIDENCE_THRESHOLD0.6ml-detectornono
CORS_ALLOWED_ORIGINS${CORS_ALLOWED_ORIGINS:-}nestjs-coreyesyes
CORS_ORIGINS["*"]attack-guard, document-parser, hallucination-guard, ml-detector, ocr-service, redactornono
COST_ANALYZER_ENABLEDtruenestjs-corenoyes
COST_ANALYZER_TIMEOUT30000nestjs-corenoyes
COST_ANALYZER_URLhttp://cost-analyzer:8016nestjs-corenoyes
DASHBOARD_URL——noyes
DB_DATABASE${DB_DATABASE:-ai_gateway}nestjs-coreyesyes
DB_HOSTpostgresnestjs-corenoyes
DB_LOGGING${DB_LOGGING:-false}nestjs-coreyesyes
DB_PASSWORD${DB_PASSWORD:-postgres}nestjs-coreyesyes
DB_PORT5432nestjs-corenoyes
DB_SSL——noyes
DB_SYNCHRONIZE${DB_SYNCHRONIZE:-false}nestjs-coreyesyes
DB_USERNAME${DB_USERNAME:-postgres}nestjs-coreyesyes
DEBUGfalseattack-guard, document-parser, hallucination-guard, ml-detector, ocr-service, redactornono
DEEPTEAM_DEFAULT_ATTACKS_PER_VULNERABILITY5deepteamnono
DEEPTEAM_ENABLEDtruenestjs-corenono
DEEPTEAM_GUARDRAILS_BASE_URLhttp://nestjs-core:3000deepteamnono
DEEPTEAM_GUARDRAILS_TIMEOUT30deepteamnono
DEEPTEAM_LOG_LEVELINFOdeepteamnono
DEEPTEAM_SERVICE_URLhttp://deepteam:8010nestjs-corenoyes
DEEPTEAM_TIMEOUT300000nestjs-corenoyes
DEFAULT_INSPECTION_TENANT_ID${DEFAULT_INSPECTION_TENANT_ID:-}nestjs-corehost knob onlyyes
DEFAULT_LANGUAGEenml-detectornoyes
DEFAULT_MASKING_STYLEblackoutredactornono
DEFAULT_PADDING2redactornono
DEFAULT_TENANT_GROUP——noyes
DEVICEcpuhallucination-guardnono
DOCS_BUNDLE_DIR——host knob onlyno
DOCS_CORPUS_DIR——noyes
DOCUMENT_PARSER_SERVICE_ENABLEDtruenestjs-corenoyes
DOCUMENT_PARSER_SERVICE_TIMEOUT120000nestjs-corenoyes
DOCUMENT_PARSER_SERVICE_URLhttp://document-parser:8012nestjs-corenoyes
DOC_CLASSIFIER_TIMEOUT8000nestjs-corenoyes
DOC_CLASSIFIER_URLhttp://doc-classifier:8017nestjs-corenoyes
DOC_DETECT_CONCURRENCY——noyes
EMAILJS_PRIVATE_KEY${EMAILJS_PRIVATE_KEY:-}nestjs-corehost knob onlyyes
EMAILJS_PUBLIC_KEY${EMAILJS_PUBLIC_KEY:-1SNtar4SBHq44RADr}nestjs-corehost knob onlyyes
EMAILJS_RESET_TEMPLATE_ID${EMAILJS_RESET_TEMPLATE_ID:-}nestjs-corehost knob onlyyes
EMAILJS_SERVICE_ID${EMAILJS_SERVICE_ID:-cid_emailjs}nestjs-corehost knob onlyyes
ENVIRONMENTproductionattack-guard, document-parser, hallucination-guard, ml-detector, ocr-service, redactornono
EXTENSION_CRX_DOMAIN——noyes
FILTER_DRAFT_MODEL——noyes
FILTER_TEST_CONCURRENCY${FILTER_TEST_CONCURRENCY:-8}nestjs-corehost knob onlyyes
FILTER_TEST_VERBOSE${FILTER_TEST_VERBOSE:-false}nestjs-corehost knob onlyyes
FRONTEND_PORT——host knob onlyno
GOOGLE_API_KEY${GOOGLE_API_KEY:-}deepteamhost knob onlyno
GUARDRAILS_DEGRADED_COOLDOWN_MS——noyes
GUARDRAILS_MAX_SOCKETS${GUARDRAILS_MAX_SOCKETS:-50}nestjs-corehost knob onlyyes
HALLUCINATION_GUARD_HOST_PORT8022—yesno
HALLUCINATION_GUARD_THREADS——host knob onlyno
HALLUCINATION_SERVICE_ENABLED${HALLUCINATION_SERVICE_ENABLED:-true}nestjs-coreyesyes
HALLUCINATION_SERVICE_TIMEOUT${HALLUCINATION_SERVICE_TIMEOUT:-15000}nestjs-coreyesyes
HALLUCINATION_SERVICE_URL${HALLUCINATION_SERVICE_URL:-http://hallucination-guard:8022}nestjs-coreyesyes
HALLUCINATION_THRESHOLD${HALLUCINATION_THRESHOLD:-0.5}nestjs-corehost knob onlyyes
HALLUCINATION_UNAVAILABLE_COOLDOWN_MS——noyes
HAP_INTRA_OP2—host knob onlyno
HAP_MAX_CONCURRENT4—host knob onlyno
HAP_ONNX_MODEL_PATH/models/cid-toxicity-v1hap-guard-v2nono
HAP_SERVICE_ENABLEDtruenestjs-corenoyes
HAP_SERVICE_TIMEOUT10000nestjs-corenoyes
HAP_SERVICE_URLhttp://hap-guard-v2:8000nestjs-corenoyes
HAP_WORKERS1—host knob onlyno
HELP_FORCE_MODE${HELP_FORCE_MODE:-}nestjs-corehost knob onlyyes
HELP_SELF_BASE_URL——noyes
HELP_TOOLS_MODEL${HELP_TOOLS_MODEL:-}nestjs-corehost knob onlyyes
HF_TOKENhf_REPLACE_ME—yesno
HOST0.0.0.0document-parser, ml-detector, ocr-service, redactor, report-renderernono
HTTPS_PROXY${HTTPS_PROXY:-}nestjs-corehost knob onlyno
HTTP_PROXY${HTTP_PROXY:-}nestjs-corehost knob onlyno
ICAP_BIND${ICAP_BIND:-0.0.0.0}nestjs-corehost knob onlyyes
ICAP_ENABLED${ICAP_ENABLED:-true}nestjs-corehost knob onlyyes
ICAP_PORT${ICAP_PORT:-1344}nestjs-corehost knob onlyyes
ICAP_PUBLISH127.0.0.1—yesno
INJECTION_SCAN_ENABLED——noyes
INJECTION_SCAN_TIMEOUT——noyes
INLINE_PROXY_FAIL_OPEN——host knob onlyno
INLINE_PROXY_HTTPS_PORT${INLINE_PROXY_HTTPS_PORT:-8443}cid-inline-proxyhost knob onlyno
INLINE_PROXY_PUBLIC_PORT${INLINE_PROXY_HTTPS_PORT:-8443}nestjs-corenoyes
INLINE_PROXY_TPROXY_PORT${INLINE_PROXY_TPROXY_PORT:-8084}cid-inline-proxyhost knob onlyno
INLINE_PROXY_UPSTREAM${INLINE_PROXY_UPSTREAM:-}cid-inline-proxyhost knob onlyno
INLINE_PROXY_UPSTREAM_INSECURE${INLINE_PROXY_UPSTREAM_INSECURE:-0}cid-inline-proxyhost knob onlyno
INSPECTION_ON_TIMEOUT${INSPECTION_ON_TIMEOUT:-fail-closed}nestjs-corehost knob onlyyes
INSPECTION_TIMEOUT_MS${INSPECTION_TIMEOUT_MS:-10000}nestjs-corehost knob onlyyes
INSPECTION_USAGE_LOGGING${INSPECTION_USAGE_LOGGING:-false}nestjs-corehost knob onlyyes
INSTALL_PADDLE——host knob onlyno
JAILBREAK_LOG_LEVELINFOattack-guardnono
JAILBREAK_MAX_TOKEN_LENGTH512attack-guardnono
JAILBREAK_ONNX_MODEL_PATH/models/cid-jailbreak-prompt-injection-v3attack-guardnono
JWT_EXPIRES_IN${JWT_EXPIRES_IN:-8h}nestjs-coreyesyes
JWT_SECRET${JWT_SECRET:-}nestjs-coreyesyes
KMP_BLOCKTIME0attack-guard, doc-classifier, hallucination-guard, hap-guard-v2, ml-detector, ocr-servicenono
LANGUAGE_DETECTION_CONFIDENCE0.85ml-detectornono
LANGUAGE_DETECTOR_ENABLEDtruenestjs-corenoyes
LANGUAGE_DETECTOR_TIMEOUT5000nestjs-corenoyes
LANGUAGE_DETECTOR_URLhttp://language-detector:8008nestjs-corenoyes
LANG_APP_NAMECID Language Detectorlanguage-detectornono
LANG_DEBUGfalselanguage-detectornono
LANG_DEFAULT_LANGUAGEenlanguage-detectornono
LANG_ENVIRONMENTproductionlanguage-detectornono
LANG_LOG_LEVELINFOlanguage-detectornono
LANG_MIN_TEXT_LENGTH3language-detectornono
LANG_VERSION1.0.0language-detectornono
LDAP_ADMIN_PASSWORDadminopenldap-testnono
LDAP_BASE_DN${USERID_AGENT_LDAP_BASE_DN:-}cid-userid-agentnono
LDAP_BIND_DN${USERID_AGENT_LDAP_BIND_DN:-}cid-userid-agentnono
LDAP_BIND_PASSWORD${LDAP_BIND_PASSWORD:-}cid-userid-agent, nestjs-coreyesyes
LDAP_BIND_PASSWORD_FILE${LDAP_BIND_PASSWORD_FILE:-}nestjs-corehost knob onlyyes
LDAP_DOMAINcorp.localopenldap-testnono
LDAP_HEALTH_DEGRADED_REEMIT_MS——noyes
LDAP_HEALTH_PROBE_INTERVAL_MS——noyes
LDAP_LOGIN_UNAVAILABLE_COOLDOWN_MS——noyes
LDAP_ORGANISATIONCID Testopenldap-testnono
LDAP_TLS_REJECT_UNAUTHORIZED${LDAP_TLS_REJECT_UNAUTHORIZED:-true}nestjs-coreyesyes
LDAP_URL${USERID_AGENT_LDAP_URL:-}cid-userid-agentnono
LETTUCE_DETECT_MODEL_PATH/models/lettuce-detecthallucination-guardnono
LICENSE_EVENT_COOLDOWN_MS——noyes
LISTEN_ADDR:8090cid-userid-agentnono
LLM_API_KEY${LLM_API_KEY:-not-needed}risk-analystyesno
LLM_BASE_URL${LLM_BASE_URL:-http://host.docker.internal:11434/v1}risk-analystyesno
LLM_ENGINE${LLM_ENGINE:-ollama}risk-analystyesno
LLM_GPU_DEVICESall—yesno
LLM_GPU_MEMORY_UTILIZATION0.90—yesno
LLM_INFERENCE_IMAGE——yesno
LLM_KEEP_ALIVE${LLM_KEEP_ALIVE:-24h}risk-analystyesno
LLM_KV_CACHE_DTYPEauto—yesno
LLM_MANIFEST_PATH/models/manifest.json—yesno
LLM_MAX_BATCHED_TOKENS4096—yesno
LLM_MAX_CONCURRENCY${LLM_MAX_CONCURRENCY:-1}risk-analystyesno
LLM_MAX_MODEL_LEN32768—yesno
LLM_MAX_NUM_SEQS2—yesno
LLM_MODEL${LLM_MODEL:-qwen3:14b}risk-analystyesno
LLM_MODEL_DIGEST——yesno
LLM_MODEL_IDqwen3-14b-awq—yesno
LLM_MODEL_PATH/models/qwen3-14b-awq—yesno
LLM_REVIEW_CALLBACK_URLhttp://nestjs-core:3000/internal/llm-review/resultnestjs-corenoyes
LLM_WARM_ON_START${LLM_WARM_ON_START:-true}risk-analystyesno
LOG_LEVELINFOcid-proxy, cid-userid-agent, document-parser, hallucination-guard, hap-guard-v2, ml-detector, ocr-service, redactor, report-renderernono
MAX_DOCUMENT_SIZE_MB50document-parser, redactornono
MAX_IMAGE_PIXELS${OCR_MAX_IMAGE_PIXELS:-30000000}ocr-servicenono
MAX_IMAGE_SIZE_MB5ocr-service, redactornono
MAX_INLINE_REDACT_VALUES——noyes
MAX_PAGES500document-parsernono
MAX_TEXT_LENGTH200000ml-detectornono
MCP_DATABASE_URLpostgresql+psycopg://cid_mcp_ro:${MCP_DB_PASSWORD}@postgres:5432/${DB_DATABASE:-ai_gateway}mcp-servernono
MCP_DB_PASSWORD${MCP_DB_PASSWORD}nestjs-coreyesyes
MCP_EMBED_MODEL_DIR/models/multilingual-e5-smallmcp-servernono
MCP_HOST0.0.0.0mcp-servernono
MCP_LOG_FORMATjsonmcp-servernono
MCP_LOG_LEVELINFOmcp-servernono
MCP_PORT8020mcp-servernono
MCP_SEARCH_DENSE${MCP_SEARCH_DENSE:-true}mcp-serverhost knob onlyno
MCP_SERVER_HOST_PORT8020—yesno
MCP_SERVER_URLhttp://mcp-server:8020/mcprisk-analystnono
MCP_SHARED_TOKEN${MCP_SHARED_TOKEN}mcp-server, risk-analystyesno
MCP_TRANSCRIPT_MAX_CHARS1500mcp-servernono
MCP_TRANSCRIPT_MAX_MESSAGES10mcp-servernono
MFA_ISSUER${MFA_ISSUER:-CID222}nestjs-coreyesyes
MFA_POLICY_DEFAULT${MFA_POLICY_DEFAULT:-off}nestjs-coreyesyes
MIN_TEXT_LENGTH_FOR_DETECTION3ml-detectornono
MKL_NUM_THREADS2attack-guard, doc-classifier, hallucination-guard, hap-guard-v2, ml-detector, ocr-service, risk-analystnono
ML_DETECTOR_INTRA_OP2—host knob onlyno
ML_DETECTOR_MAX_CONCURRENT8—host knob onlyno
ML_DETECTOR_WORKERS1—host knob onlyno
ML_SERVICE_ENABLEDtruenestjs-corenoyes
ML_SERVICE_TIMEOUT180000nestjs-corenoyes
ML_SERVICE_URLhttp://ml-detector:8000nestjs-corenoyes
MODEL_DIGEST${LLM_MODEL_DIGEST:-}llm-inferencenono
MODEL_ID${LLM_MODEL:-qwen3:14b}llm-inferencenono
NODE_ENVproductionnestjs-corenono
NORMALIZATION_ENABLED——noyes
NORMALIZATION_MAX_INPUT_BYTES——noyes
NORMALIZATION_MAX_PASSES——noyes
NORMALIZE_BASE64——noyes
NORMALIZE_CASE——noyes
NORMALIZE_ENCODING——noyes
NORMALIZE_INVISIBLE_CHARS——noyes
NORMALIZE_LEETSPEAK——noyes
NORMALIZE_PADDING——noyes
NORMALIZE_ROT13——noyes
NORMALIZE_UNICODE——noyes
NO_PROXY${NO_PROXY:-}nestjs-corehost knob onlyno
OCR_API_TOKEN${OCR_API_TOKEN:-}ocr-servicehost knob onlyno
OCR_AUTH_REQUIREDfalseocr-servicenono
OCR_CPUS——host knob onlyno
OCR_CPU_THREADS——host knob onlyno
OCR_DET_LIMIT_SIDE_LEN——host knob onlyno
OCR_DET_LIMIT_TYPE——host knob onlyno
OCR_GPU_SERVICE_TIMEOUT${OCR_GPU_SERVICE_TIMEOUT:-30000}document-parser, nestjs-corehost knob onlyno
OCR_GPU_SERVICE_TOKEN${OCR_GPU_SERVICE_TOKEN:-}document-parser, nestjs-coreyesyes
OCR_GPU_SERVICE_URL${OCR_GPU_SERVICE_URL:-}document-parser, nestjs-corehost knob onlyyes
OCR_GPU_TRUST_NETWORK${OCR_GPU_TRUST_NETWORK:-false}document-parser, nestjs-corehost knob onlyyes
OCR_INSTALL_TESSERACT——host knob onlyno
OCR_MAX_IMAGE_PIXELS——host knob onlyno
OCR_SERVICE_ENABLEDtruedocument-parser, nestjs-corenoyes
OCR_SERVICE_TIMEOUT60000document-parser, nestjs-corenono
OCR_SERVICE_URL${OCR_SERVICE_URL:-http://ocr-service:8009}document-parser, nestjs-corehost knob onlyyes
OCR_THREAD_POOL_SIZE4ocr-servicenono
OCR_VERTICAL_RESCAN${OCR_VERTICAL_RESCAN:-false}ocr-servicehost knob onlyno
OMP_NUM_THREADS2attack-guard, doc-classifier, hallucination-guard, hap-guard-v2, ml-detector, ocr-service, risk-analystnono
OMP_WAIT_POLICYPASSIVEattack-guard, doc-classifier, hallucination-guard, hap-guard-v2, ml-detector, ocr-servicenono
ONNX_INTRA_OP_THREADS${ML_DETECTOR_INTRA_OP:-2}attack-guard, hap-guard-v2, ml-detectornono
ONNX_MAX_CONCURRENT${ML_DETECTOR_MAX_CONCURRENT:-8}attack-guard, hap-guard-v2, ml-detectornono
ONNX_MODEL_PATH/models/cid-pii-ner-v1ml-detectornono
OPENAI_API_KEY${OPENAI_API_KEY:-}deepteamhost knob onlyno
OPENAPI_UI${OPENAPI_UI:-false}nestjs-coreyesyes
PADDLEOCR_CPU_THREADS${OCR_CPU_THREADS:-4}ocr-servicenono
PADDLEOCR_DET_LIMIT_SIDE_LEN${OCR_DET_LIMIT_SIDE_LEN:-2000}ocr-servicenono
PADDLEOCR_DET_LIMIT_TYPE${OCR_DET_LIMIT_TYPE:-max}ocr-servicenono
PADDLEOCR_ENABLE_HPIfalseocr-servicenono
PADDLEOCR_ENGINE${PADDLEOCR_ENGINE:-onnxruntime}ocr-servicehost knob onlyno
PADDLEOCR_GPU_DEVICE0ocr-servicenono
PADDLEOCR_ORT_CONFIG${PADDLEOCR_ORT_CONFIG:-}ocr-servicehost knob onlyno
PADDLEOCR_USE_GPUfalseocr-servicenono
PASSWORD_RESET_EXPIRES_MINUTES${PASSWORD_RESET_EXPIRES_MINUTES:-60}nestjs-corehost knob onlyyes
PASSWORD_RESET_LOG_LINK${PASSWORD_RESET_LOG_LINK:-}nestjs-coreyesyes
PASSWORD_RESET_URL_BASE${PASSWORD_RESET_URL_BASE:-}nestjs-corehost knob onlyyes
PC_APP_NAMECID Prompt Compressorprompt-compressornono
PC_ENVIRONMENTproductionprompt-compressornono
PC_LOG_LEVELINFOprompt-compressornono
PC_ML_PRELOADtrueprompt-compressornono
PC_VERSION1.0.0prompt-compressornono
PGADMIN_DEFAULT_EMAIL${PGADMIN_EMAIL:-admin@aigateway.com}pgadminnono
PGADMIN_DEFAULT_PASSWORD${PGADMIN_PASSWORD:-admin}pgadminnono
PGADMIN_EMAILadmin@example.com—yesno
PGADMIN_PASSWORDREPLACE_ME—yesno
PII_MAP_ENCRYPTION_KEY${PII_MAP_ENCRYPTION_KEY:-}nestjs-coreyesyes
PORT8009document-parser, ml-detector, ocr-service, redactor, report-renderernoyes
POSTGRES_DB${DB_DATABASE:-ai_gateway}postgresnono
POSTGRES_PASSWORD${DB_PASSWORD:-postgres}postgresnono
POSTGRES_USER${DB_USERNAME:-postgres}postgresnono
PROMPT_COMPRESSOR_ENABLEDtruenestjs-corenoyes
PROMPT_COMPRESSOR_TIMEOUT8000nestjs-corenoyes
PROMPT_COMPRESSOR_URLhttp://prompt-compressor:8015nestjs-corenoyes
PROVISION_TOKEN${PROVISION_TOKEN:-}nestjs-coreyesyes
PROXY_ANTHROPIC_MODE${PROXY_ANTHROPIC_MODE:-translate}cid-proxyhost knob onlyno
PROXY_AUTH_MODE${PROXY_AUTH_MODE:-passthrough}cid-proxyyesno
PROXY_DOMAIN${PROXY_DOMAIN}caddyyesyes
PROXY_LOG_LEVELinfo—yesno
PROXY_LOG_REQUESTS${PROXY_LOG_REQUESTS:-true}cid-proxyyesno
PROXY_OUTPUT_FILTERING${PROXY_OUTPUT_FILTERING:-streaming}cid-proxyyesno
PROXY_PASSTHROUGH_API_KEY${PROXY_PASSTHROUGH_API_KEY:-cid_key_dev_only_replace_in_production}cid-proxyyesno
PROXY_PORT8080cid-proxynono
PROXY_SYSTEM_PROMPT_INJECTION${PROXY_SYSTEM_PROMPT_INJECTION:-false}cid-proxyyesno
PUBLIC_BASE_URL${PUBLIC_BASE_URL:-}nestjs-coreyesyes
PWD——host knob onlyno
PYTHON_ML_SERVICE_URL——noyes
RAG_ENGINE_ENABLEDtruehallucination-guardnono
RAG_HALLUCINATION_THRESHOLD0.5hallucination-guardnono
RAG_MODEL_CACHE_DIR/modelsrisk-analystnono
RAG_MODEL_DIR${RAG_MODEL_DIR:-/opt/models/multilingual-e5-small}risk-analysthost knob onlyno
RAG_SUPPORTED_RATIO_THRESHOLD0.7hallucination-guardnono
RATE_LIMIT_DEFAULT_RPM${RATE_LIMIT_DEFAULT_RPM:-60}cid-proxyyesno
RATE_LIMIT_ENABLED${RATE_LIMIT_ENABLED:-true}cid-proxyyesno
RECONFIG_ALLOWED_SERVICEShap-guard-v2,attack-guard,ml-detectorreconfigure-agentnono
RECONFIG_POLL_SECONDS3reconfigure-agentnono
REDACTOR_SERVICE_ENABLEDtruenestjs-corenoyes
REDACTOR_SERVICE_TIMEOUT60000nestjs-corenoyes
REDACTOR_SERVICE_URLhttp://redactor:8013nestjs-corenoyes
REDACT_EST_PER_ROW_MS——noyes
REDACT_MAX_ROWS——noyes
REDIS_CONNECTION_TIMEOUT5ml-detectornono
REDIS_DB0attack-guard, ml-detectornoyes
REDIS_HOSTredisattack-guard, cid-proxy, ml-detector, nestjs-corenoyes
REDIS_HOSTSlocal:redis:6379:0:${REDIS_PASSWORD}redis-commandernono
REDIS_PASSWORD${REDIS_PASSWORD}attack-guard, cid-proxy, ml-detector, nestjs-core, redisyesyes
REDIS_PORT6379attack-guard, cid-proxy, ml-detector, nestjs-corenoyes
REDIS_SOCKET_TIMEOUT5ml-detectornono
REDIS_TLS——noyes
REGISTRY_PULL_HOST——noyes
RELEASE_DATA_SYNC——noyes
REPORT_RENDERER_ENABLEDtruenestjs-corenoyes
REPORT_RENDERER_TIMEOUT30000nestjs-corenoyes
REPORT_RENDERER_URLhttp://report-renderer:8014nestjs-corenoyes
REPO_TRACKING_ENABLED${REPO_TRACKING_ENABLED:-false}nestjs-corehost knob onlyyes
RESPONSE_HALLUCINATION_TIMEOUT_MS${RESPONSE_HALLUCINATION_TIMEOUT_MS:-5000}nestjs-corehost knob onlyyes
RISK_ANALYST_HOST_PORT8019—yesno
RISK_ANALYST_SERVICE_ENABLED${RISK_ANALYST_SERVICE_ENABLED:-false}nestjs-coreyesyes
RISK_ANALYST_SERVICE_TIMEOUT15000nestjs-corenoyes
RISK_ANALYST_SERVICE_URLhttp://risk-analyst:8019nestjs-corenoyes
SEED_ON_BOOT——noyes
SEED_SAMPLE_ACCOUNTS——noyes
SELF_HOSTED_LLM_API_KEY${SELF_HOSTED_LLM_API_KEY:-}nestjs-corehost knob onlyyes
SELF_HOSTED_LLM_BASE_URL${SELF_HOSTED_LLM_BASE_URL:-}nestjs-corehost knob onlyyes
SELF_HOSTED_LLM_HEADERS${SELF_HOSTED_LLM_HEADERS:-}nestjs-corehost knob onlyyes
SELF_HOSTED_LLM_MODEL${SELF_HOSTED_LLM_MODEL:-}nestjs-corehost knob onlyyes
SESSION_ABSOLUTE_TTL${SESSION_ABSOLUTE_TTL:-12h}nestjs-coreyesno
SESSION_ACCESS_TTL${SESSION_ACCESS_TTL:-30m}nestjs-coreyesno
SESSION_IDLE_TTL${SESSION_IDLE_TTL:-8h}nestjs-coreyesno
SIEM_EXPORT_DEGRADED_AFTER——noyes
SIEM_EXPORT_INTERVAL_MS——noyes
SIEM_EXPORT_STALL_MS——noyes
STATIC_FILE${USERID_AGENT_STATIC_FILE:-}cid-userid-agentnono
SYSTEM_UPDATE_ALLOWED_HOSTS${SYSTEM_UPDATE_ALLOWED_HOSTS:-}nestjs-coreyesyes
SYSTEM_UPDATE_CHANNEL_URL${SYSTEM_UPDATE_CHANNEL_URL:-}nestjs-corehost knob onlyyes
SYSTEM_UPDATE_MAX_BYTES——noyes
SYSTEM_UPDATE_PUBLISHER——noyes
TOKENIZERS_PARALLELISMfalserisk-analystnono
TRUSTED_PROXY_IPS——yesyes
TSR_TMP_DIR/app/src/.tanstack-tmpfrontendnono
TURK_LETTUCE_DETECT_MODEL_PATH/models/turk-lettuce-detecthallucination-guardnono
USERID_AGENT_LDAP_BASE_DN——host knob onlyno
USERID_AGENT_LDAP_BIND_DN——host knob onlyno
USERID_AGENT_LDAP_BIND_PASSWORD——host knob onlyno
USERID_AGENT_LDAP_URL——host knob onlyno
USERID_AGENT_LOG_LEVEL——host knob onlyno
USERID_AGENT_PORT——host knob onlyno
USERID_AGENT_PROTECT_READS——host knob onlyno
USERID_AGENT_STATIC_FILE——host knob onlyno
USERID_AGENT_TIMEOUT_MS${USERID_AGENT_TIMEOUT_MS:-250}nestjs-corehost knob onlyyes
USERID_AGENT_TOKEN${USERID_AGENT_TOKEN:-}nestjs-corehost knob onlyyes
USERID_AGENT_URL${USERID_AGENT_URL:-}nestjs-corehost knob onlyyes
USE_HAP_V2——noyes
USE_NEW_REDACTORfalsenestjs-corenoyes
UVICORN_WORKERS1attack-guard, cost-analyzer, hap-guard-v2, language-detector, ml-detector, prompt-compressornono
VALIDATOR_DEBUG${VALIDATOR_DEBUG:-false}nestjs-corehost knob onlyyes
VITE_AI_GATEWAY_URLhttp://localhost:3000frontendyesno
VITE_ALLOWED_HOSTS${VITE_ALLOWED_HOSTS:-}frontendhost knob onlyno
VITE_API_BASE_URLhttps://api.example.comfrontendyesno

Declared but no gateway reader found

Most entries here are consumed outside the gateway and work exactly as documented — by the Python ML services, by the Go proxy, or by a container start-up script. A few are consumed by nothing at all. Treat a security-looking variable on this list as having no effect until you have established which of the two it is: setting it may change nothing.

VariableDeclared on
ACME_EMAILcaddy
AGENT_AUTH_TOKENcid-userid-agent
AGENT_PROTECT_READScid-userid-agent
ANALYST_ANALYSIS_BATCH_PAUSE_MSrisk-analyst
ANALYST_ANALYSIS_BATCH_SIZErisk-analyst
ANALYST_ANALYSIS_CONCURRENCYrisk-analyst
ANALYST_ANALYSIS_MAX_WAITrisk-analyst
ANALYST_ANALYSIS_ROUND_TIMEOUTrisk-analyst
ANALYST_CHAT_HIDDEN_TOOLSrisk-analyst
ANALYST_CHAT_UNGROUNDED_ANSWER_CHARSrisk-analyst
ANALYST_CLEAR_MAXrisk-analyst
ANALYST_CONTEXT_WINDOWrisk-analyst
ANALYST_KNOWLEDGE_REFRESH_SECONDSrisk-analyst
ANALYST_LLM_ROUND_TIMEOUTrisk-analyst
ANALYST_LOCK_MINrisk-analyst
ANALYST_MAX_QUEUE_DEPTHrisk-analyst
ANALYST_REVIEW_CONCURRENCYrisk-analyst
ANALYST_REVIEW_TIMEOUTrisk-analyst
ANALYST_TRACE_DIRrisk-analyst
ANTHROPIC_API_KEYdeepteam
APP_DOMAINcaddy
APP_NAMEattack-guard, document-parser, hallucination-guard, ml-detector, ocr-service, redactor, report-renderer
CACHE_ENABLEDml-detector
CACHE_KEY_PREFIXml-detector
CACHE_TTLattack-guard, ml-detector
CA_APP_NAMEcost-analyzer
CA_ENVIRONMENTcost-analyzer
CA_LOG_LEVELcost-analyzer
CA_VERSIONcost-analyzer
CID_ATTEST_ENFORCEcid-proxy
CID_BACKEND_TIMEOUTcid-proxy
CID_BACKEND_URLcid-proxy
CID_CONTAINER_PREFIXreconfigure-agent
CID_CORE_INSPECT_URLcid-inline-proxy
CID_DEBUG_DUMP_REQUESTScid-inline-proxy
CID_DEBUG_DUMP_RESPONSEScid-inline-proxy
CID_HOST_EXECreconfigure-agent
CID_INSPECT_BINARY_TIMEOUT_MScid-inline-proxy
CID_INSPECT_FAIL_OPENcid-inline-proxy
CID_INSPECT_KEYcid-proxy
CID_INSPECT_TIMEOUT_MScid-inline-proxy
CID_INSPECT_URLcid-proxy
CID_PASSTHROUGH_FAIL_OPENcid-proxy
CID_PASSTHROUGH_MASKcid-proxy
CID_UPSTREAM_URLcid-proxy
CONFIDENCE_THRESHOLDml-detector
CORS_ORIGINSattack-guard, document-parser, hallucination-guard, ml-detector, ocr-service, redactor
DEBUGattack-guard, document-parser, hallucination-guard, ml-detector, ocr-service, redactor
DEEPTEAM_DEFAULT_ATTACKS_PER_VULNERABILITYdeepteam
DEEPTEAM_ENABLEDnestjs-core
DEEPTEAM_GUARDRAILS_BASE_URLdeepteam
DEEPTEAM_GUARDRAILS_TIMEOUTdeepteam
DEEPTEAM_LOG_LEVELdeepteam
DEFAULT_MASKING_STYLEredactor
DEFAULT_PADDINGredactor
DEVICEhallucination-guard
ENVIRONMENTattack-guard, document-parser, hallucination-guard, ml-detector, ocr-service, redactor
GOOGLE_API_KEYdeepteam
HAP_ONNX_MODEL_PATHhap-guard-v2
HOSTdocument-parser, ml-detector, ocr-service, redactor, report-renderer
HTTPS_PROXYnestjs-core
HTTP_PROXYnestjs-core
INLINE_PROXY_HTTPS_PORTcid-inline-proxy
INLINE_PROXY_TPROXY_PORTcid-inline-proxy
INLINE_PROXY_UPSTREAMcid-inline-proxy
INLINE_PROXY_UPSTREAM_INSECUREcid-inline-proxy
JAILBREAK_LOG_LEVELattack-guard
JAILBREAK_MAX_TOKEN_LENGTHattack-guard
JAILBREAK_ONNX_MODEL_PATHattack-guard
KMP_BLOCKTIMEattack-guard, doc-classifier, hallucination-guard, hap-guard-v2, ml-detector, ocr-service
LANGUAGE_DETECTION_CONFIDENCEml-detector
LANG_APP_NAMElanguage-detector
LANG_DEBUGlanguage-detector
LANG_DEFAULT_LANGUAGElanguage-detector
LANG_ENVIRONMENTlanguage-detector
LANG_LOG_LEVELlanguage-detector
LANG_MIN_TEXT_LENGTHlanguage-detector
LANG_VERSIONlanguage-detector
LDAP_ADMIN_PASSWORDopenldap-test
LDAP_BASE_DNcid-userid-agent
LDAP_BIND_DNcid-userid-agent
LDAP_DOMAINopenldap-test
LDAP_ORGANISATIONopenldap-test
LDAP_URLcid-userid-agent
LETTUCE_DETECT_MODEL_PATHhallucination-guard
LISTEN_ADDRcid-userid-agent
LLM_API_KEYrisk-analyst
LLM_BASE_URLrisk-analyst
LLM_ENGINErisk-analyst
LLM_KEEP_ALIVErisk-analyst
LLM_MAX_CONCURRENCYrisk-analyst
LLM_MODELrisk-analyst
LLM_WARM_ON_STARTrisk-analyst
LOG_LEVELcid-proxy, cid-userid-agent, document-parser, hallucination-guard, hap-guard-v2, ml-detector, ocr-service, redactor, report-renderer
MAX_DOCUMENT_SIZE_MBdocument-parser, redactor
MAX_IMAGE_PIXELSocr-service
MAX_IMAGE_SIZE_MBocr-service, redactor
MAX_PAGESdocument-parser
MAX_TEXT_LENGTHml-detector
MCP_DATABASE_URLmcp-server
MCP_EMBED_MODEL_DIRmcp-server
MCP_HOSTmcp-server
MCP_LOG_FORMATmcp-server
MCP_LOG_LEVELmcp-server
MCP_PORTmcp-server
MCP_SEARCH_DENSEmcp-server
MCP_SERVER_URLrisk-analyst
MCP_SHARED_TOKENmcp-server, risk-analyst
MCP_TRANSCRIPT_MAX_CHARSmcp-server
MCP_TRANSCRIPT_MAX_MESSAGESmcp-server
MIN_TEXT_LENGTH_FOR_DETECTIONml-detector
MKL_NUM_THREADSattack-guard, doc-classifier, hallucination-guard, hap-guard-v2, ml-detector, ocr-service, risk-analyst
MODEL_DIGESTllm-inference
MODEL_IDllm-inference
NODE_ENVnestjs-core
NO_PROXYnestjs-core
OCR_API_TOKENocr-service
OCR_AUTH_REQUIREDocr-service
OCR_GPU_SERVICE_TIMEOUTdocument-parser, nestjs-core
OCR_SERVICE_TIMEOUTdocument-parser, nestjs-core
OCR_THREAD_POOL_SIZEocr-service
OCR_VERTICAL_RESCANocr-service
OMP_NUM_THREADSattack-guard, doc-classifier, hallucination-guard, hap-guard-v2, ml-detector, ocr-service, risk-analyst
OMP_WAIT_POLICYattack-guard, doc-classifier, hallucination-guard, hap-guard-v2, ml-detector, ocr-service
ONNX_INTRA_OP_THREADSattack-guard, hap-guard-v2, ml-detector
ONNX_MAX_CONCURRENTattack-guard, hap-guard-v2, ml-detector
ONNX_MODEL_PATHml-detector
OPENAI_API_KEYdeepteam
PADDLEOCR_CPU_THREADSocr-service
PADDLEOCR_DET_LIMIT_SIDE_LENocr-service
PADDLEOCR_DET_LIMIT_TYPEocr-service
PADDLEOCR_ENABLE_HPIocr-service
PADDLEOCR_ENGINEocr-service
PADDLEOCR_GPU_DEVICEocr-service
PADDLEOCR_ORT_CONFIGocr-service
PADDLEOCR_USE_GPUocr-service
PC_APP_NAMEprompt-compressor
PC_ENVIRONMENTprompt-compressor
PC_LOG_LEVELprompt-compressor
PC_ML_PRELOADprompt-compressor
PC_VERSIONprompt-compressor
PGADMIN_DEFAULT_EMAILpgadmin
PGADMIN_DEFAULT_PASSWORDpgadmin
POSTGRES_DBpostgres
POSTGRES_PASSWORDpostgres
POSTGRES_USERpostgres
PROXY_ANTHROPIC_MODEcid-proxy
PROXY_AUTH_MODEcid-proxy
PROXY_LOG_REQUESTScid-proxy
PROXY_OUTPUT_FILTERINGcid-proxy
PROXY_PASSTHROUGH_API_KEYcid-proxy
PROXY_PORTcid-proxy
PROXY_SYSTEM_PROMPT_INJECTIONcid-proxy
RAG_ENGINE_ENABLEDhallucination-guard
RAG_HALLUCINATION_THRESHOLDhallucination-guard
RAG_MODEL_CACHE_DIRrisk-analyst
RAG_MODEL_DIRrisk-analyst
RAG_SUPPORTED_RATIO_THRESHOLDhallucination-guard
RATE_LIMIT_DEFAULT_RPMcid-proxy
RATE_LIMIT_ENABLEDcid-proxy
RECONFIG_ALLOWED_SERVICESreconfigure-agent
RECONFIG_POLL_SECONDSreconfigure-agent
REDIS_CONNECTION_TIMEOUTml-detector
REDIS_HOSTSredis-commander
REDIS_SOCKET_TIMEOUTml-detector
SESSION_ABSOLUTE_TTLnestjs-core
SESSION_ACCESS_TTLnestjs-core
SESSION_IDLE_TTLnestjs-core
STATIC_FILEcid-userid-agent
TOKENIZERS_PARALLELISMrisk-analyst
TSR_TMP_DIRfrontend
TURK_LETTUCE_DETECT_MODEL_PATHhallucination-guard
UVICORN_WORKERSattack-guard, cost-analyzer, hap-guard-v2, language-detector, ml-detector, prompt-compressor
VITE_AI_GATEWAY_URLfrontend
VITE_ALLOWED_HOSTSfrontend
VITE_API_BASE_URLfrontend

On this page