Configuration reference
The runtime configuration contract for Redax, including types, defaults, examples, restart behavior, and production implications.
These rows mirror the typed Settings model in app/config.py and the deployment reference. Environment names are exact. Most changes require a restart or redeploy because settings are validated at process startup; region, DNS, TLS, and managed Redis plan live outside this application contract.
How to read this page
“Required” describes when the setting is needed, not whether Pydantic supplies a default. Secret values are examples of sources, never credentials. Restart the API and worker together when both consume a value.
REDAX_ENV=prod
REDAX_API_KEYS=inject-from-your-secret-manager
REDAX_HASH_SALT=generate-a-unique-random-value
REDAX_REDIS_URL=rediss://redis.internal:6380/0
REDAX_REDIS_REQUIRED=true
REDAX_TRUSTED_HOSTS=redax.example.comUse the platform’s secret injection and the exact hostname served by your ingress.
Runtime and network
REDAX_LOG_LEVELStructured log level.REDAX_HOSTBind address inside the container.REDAX_PORTHTTP listen port.REDAX_ENVProduction requires API keys, trusted hosts, encryption, and a valid policy.REDAX_SERVICE_NAMEService name used in diagnostics and traces.REDAX_TRUSTED_HOSTSExact hostnames accepted by HTTP middleware.REDAX_CORS_ORIGINSExplicit browser origins; wildcard is rejected in production.Redis and shared state
REDAX_REDIS_URLTLS/authenticated Redis for cache, rate limits, idempotency, jobs, and workers.REDAX_REDIS_REQUIREDReadiness fails when Redis is unavailable.REDAX_REDIS_NAMESPACEPrevents key collisions when deployments share Redis.REDAX_REDIS_CONNECT_TIMEOUT_SECONDSBounded connection timeout.REDAX_REDIS_SOCKET_TIMEOUT_SECONDSBounded command timeout.REDAX_REDIS_MAX_CONNECTIONSPer-process connection-pool ceiling.Detector and policy
REDAX_DETECTORChoose deterministic structured detection or the pinned local model path.REDAX_MODEL_CACHELocal model cache; preload it when startup must not fetch.REDAX_MODEL_NAMEPinned Hugging Face model identifier; Redax uses its PII extraction interface.REDAX_MODEL_REVISIONPin and record the exact revision for reproducible loading.REDAX_MODEL_THRESHOLDModel threshold; validate against your corpus.REDAX_POLICIES_DIRDirectory containing policy YAML files.REDAX_DEFAULT_POLICYPolicy loaded and validated before production startup.Audit and privacy
REDAX_AUDIT_BACKENDFile JSONL for local use or bounded metadata-only Redis audit.REDAX_AUDIT_PATHMount durable storage or ship according to retention policy.REDAX_AUDIT_REQUIREDFail closed when audit is unavailable or saturated.REDAX_AUDIT_INTEGRITY_KEYHMAC key for verifiable metadata-only records.REDAX_AUDIT_FSYNCFsync each file audit line.REDAX_AUDIT_MAX_BYTESRotate file audit at this size.REDAX_AUDIT_ROTATION_BACKUPSRotated audit files to retain.REDAX_AUDIT_RETENTION_SECONDSAudit retention window.REDAX_AUDIT_REDIS_MAX_EVENTSBounded metadata events in the Redis list.REDAX_HASH_SALTUnique deployment value; changes correlation and cache identity.Authentication and limits
REDAX_API_KEYSConfigured client keys; overlap before revocation.REDAX_API_KEY_SCOPESOptional least-privilege scopes for configured keys.REDAX_API_KEY_REVOCATIONSRevokes configured keys during rotation.REDAX_MAX_BODY_BYTESReject request bodies above this byte limit.REDAX_MAX_RESPONSE_BYTESBound buffered response amplification.REDAX_MAX_TEXT_CHARSMaximum text length.REDAX_MAX_BATCH_CHARSAggregate batch character budget.REDAX_RATE_LIMIT_PER_MINUTEPer-key fixed-window limit; zero disables.REDAX_RATE_LIMIT_FAIL_OPENDo not allow traffic through when Redis is unavailable.REDAX_CACHE_TTL_SECONDSResponse-cache lifetime.REDAX_CACHE_SHAREDShare only with identical hash salt and policy.REDAX_IDEMPOTENCY_TTL_SECONDSReplay window for idempotent requests.Jobs, streaming, and model execution
REDAX_INFERENCE_CONCURRENCYConcurrent model detector calls per process.REDAX_WORKER_CONCURRENCYConcurrent ARQ jobs per worker process.REDAX_JOB_PAYLOAD_ENCRYPTION_KEYEncrypts queued payloads; rotation needs a queued-job plan.REDAX_JOB_DEAD_LETTER_MAXBounded permanent-failure records.REDAX_MAX_INFLIGHTAdmitted jobs/inference units.REDAX_MAX_JOBS_PER_KEYPer-key job admission ceiling.REDAX_MAX_CONCURRENT_REQUESTSPer-process HTTP admission cap.REDAX_REQUEST_ADMISSION_TIMEOUT_SECONDSMaximum wait for an admission slot.REDAX_JOB_TTL_SECONDSJob record lifetime in Redis.REDAX_JOB_STALE_SECONDSRecovery threshold for jobs without state updates.REDAX_STREAM_CHUNK_CHARSDefault SSE chunk size.REDAX_STREAM_CHUNK_BYTESPer-event UTF-8 ceiling.REDAX_STREAM_TIMEOUT_SECONDSTotal streaming response budget.REDAX_REQUEST_TIMEOUT_SECONDSInference/request timeout.REDAX_REQUEST_BODY_TIMEOUT_SECONDSTime allowed to receive a chunked body.REDAX_SHUTDOWN_TIMEOUT_SECONDSDependency cleanup budget.REDAX_MULTI_PASS_MAXMaximum detector passes for multi-pass policies.REDAX_PIPELINE_ENABLEDEnable staged regex/model/consensus pipeline.REDAX_PIPELINE_BREAKER_THRESHOLDModel failures before the circuit opens.REDAX_PIPELINE_BREAKER_COOLDOWN_SSeconds before a circuit probe.REDAX_JOB_RETRY_JITTER_SECONDSMaximum random retry delay.Telemetry
REDAX_METRICS_BY_TENANTReserved; tenant labels are disabled by default.REDAX_OTLP_ENDPOINTOTLP gRPC traces; validate collector privacy and retention.Hosting region, managed Redis HA/backups, workload identity, telemetry retention, DNS, TLS issuer, and SLO thresholds cannot be safe universal environment defaults. Record them with the release and validate them through the production launch gate.