Skip to content

SecurityConfigSchema

const SecurityConfigSchema: ZodObject<{ agentApiKey: ZodDefault<ZodNullable<ZodString>>; agentBackoffFactor: ZodDefault<ZodNullable<ZodNumber>>; agentBufferOverflowPolicy: ZodDefault<ZodNullable<ZodEnum<{ block: "block"; drop: "drop"; raise: "raise"; }>>>; agentBufferSize: ZodDefault<ZodNumber>; agentCompressionEnabled: ZodDefault<ZodNullable<ZodBoolean>>; agentCompressionThreshold: ZodDefault<ZodNullable<ZodNumber>>; agentEnableEvents: ZodDefault<ZodBoolean>; agentEnableMetrics: ZodDefault<ZodBoolean>; agentEndpoint: ZodDefault<ZodString>; agentFlushInterval: ZodDefault<ZodNumber>; agentGuardVersion: ZodDefault<ZodNullable<ZodString>>; agentHighWatermarkRatio: ZodDefault<ZodNullable<ZodNumber>>; agentInstallId: ZodDefault<ZodNullable<ZodString>>; agentMaxConcurrentFlushes: ZodDefault<ZodNullable<ZodNumber>>; agentMaxPayloadSize: ZodDefault<ZodNullable<ZodNumber>>; agentPayloadSigningSecret: ZodDefault<ZodNullable<ZodString>>; agentProjectEncryptionKey: ZodDefault<ZodNullable<ZodString>>; agentProjectId: ZodDefault<ZodNullable<ZodString>>; agentRetryAttempts: ZodDefault<ZodNumber>; agentSensitiveHeaders: ZodDefault<ZodNullable<ZodArray<ZodString>>>; agentStatusInterval: ZodDefault<ZodNumber>; agentStrict: ZodDefault<ZodBoolean>; agentTimeout: ZodDefault<ZodNumber>; authVerifier: ZodOptional<ZodCustom<(request, credential) => unknown, (request, credential) => unknown>>; autoBanDuration: ZodDefault<ZodNumber>; autoBanThreshold: ZodDefault<ZodNumber>; behaviorMaxResponseBodyInspectBytes: ZodDefault<ZodNumber>; behaviorScanResponseBody: ZodDefault<ZodBoolean>; blacklist: ZodDefault<ZodArray<ZodString>>; blockCloudProviders: ZodPipe<ZodDefault<ZodArray<ZodEnum<{ AWS: "AWS"; Azure: "Azure"; GCP: "GCP"; }>>>, ZodTransform<Set<"AWS" | "GCP" | "Azure">, ("AWS" | "GCP" | "Azure")[]>>; blockedCountries: ZodDefault<ZodArray<ZodString>>; blockedUserAgents: ZodDefault<ZodArray<ZodString>>; bodyReadMaxConcurrent: ZodDefault<ZodNumber>; bodyReadTimeout: ZodDefault<ZodNumber>; cloudIpRefreshInterval: ZodDefault<ZodNumber>; corsAllowCredentials: ZodDefault<ZodBoolean>; corsAllowHeaders: ZodDefault<ZodArray<ZodString>>; corsAllowMethods: ZodDefault<ZodArray<ZodString>>; corsAllowOrigins: ZodDefault<ZodArray<ZodString>>; corsExposeHeaders: ZodDefault<ZodArray<ZodString>>; corsMaxAge: ZodDefault<ZodNumber>; customErrorResponses: ZodDefault<ZodRecord<ZodCoercedNumber<unknown>, ZodString>>; customLogFile: ZodDefault<ZodNullable<ZodString>>; customRequestCheck: ZodOptional<ZodCustom<(req) => Promise<GuardResponse | null>, (req) => Promise<GuardResponse | null>>>; customResponseModifier: ZodOptional<ZodCustom<(res) => Promise<GuardResponse>, (res) => Promise<GuardResponse>>>; detectionAnomalyEmissionCooldown: ZodDefault<ZodNumber>; detectionAnomalyThreshold: ZodDefault<ZodNumber>; detectionBinaryMinRunLength: ZodDefault<ZodNumber>; detectionCompilerTimeout: ZodDefault<ZodNumber>; detectionMaxBodyInspectBytes: ZodDefault<ZodNumber>; detectionMaxContentLength: ZodDefault<ZodNumber>; detectionMaxJsonDepth: ZodDefault<ZodNumber>; detectionMaxScanChars: ZodDefault<ZodNumber>; detectionMaxScanValues: ZodDefault<ZodNumber>; detectionMaxTrackedPatterns: ZodDefault<ZodNumber>; detectionMinSamplesForAnomaly: ZodDefault<ZodNumber>; detectionMonitorHistorySize: ZodDefault<ZodNumber>; detectionPatternValidationCachePath: ZodDefault<ZodNullable<ZodString>>; detectionPreserveAttackPatterns: ZodDefault<ZodBoolean>; detectionScanBody: ZodDefault<ZodBoolean>; detectionScanWorkerPool: ZodDefault<ZodBoolean>; detectionSemanticThreshold: ZodDefault<ZodNumber>; detectionSlowPatternThreshold: ZodDefault<ZodNumber>; detectionThreatScoreThreshold: ZodDefault<ZodNumber>; dynamicRuleInterval: ZodDefault<ZodNumber>; dynamicRulesCachePath: ZodDefault<ZodNullable<ZodString>>; emergencyMode: ZodDefault<ZodBoolean>; emergencyWhitelist: ZodDefault<ZodArray<ZodString>>; enableAgent: ZodDefault<ZodBoolean>; enableCors: ZodDefault<ZodBoolean>; enabledDetectionCategories: ZodDefault<ZodArray<ZodString>>; enableDynamicRules: ZodDefault<ZodBoolean>; enableEnrichment: ZodDefault<ZodBoolean>; enableIpBanning: ZodDefault<ZodBoolean>; enableLogfire: ZodDefault<ZodBoolean>; enableOtel: ZodDefault<ZodBoolean>; enablePenetrationDetection: ZodDefault<ZodBoolean>; enableRateLimitAutoBan: ZodDefault<ZodBoolean>; enableRateLimiting: ZodDefault<ZodBoolean>; enableRedis: ZodDefault<ZodBoolean>; endpointRateLimits: ZodDefault<ZodRecord<ZodString, ZodTuple<[ZodNumber, ZodNumber], null>>>; enforceHttps: ZodDefault<ZodBoolean>; excludedDetectionBodyFields: ZodDefault<ZodArray<ZodString>>; excludedDetectionHeaders: ZodDefault<ZodArray<ZodString>>; excludedDetectionParams: ZodDefault<ZodArray<ZodString>>; excludePaths: ZodDefault<ZodArray<ZodString>>; exemptIps: ZodDefault<ZodArray<ZodString>>; failSecure: ZodDefault<ZodBoolean>; geoIpDbMaxAge: ZodDefault<ZodNumber>; geoIpHandler: ZodOptional<ZodCustom<GeoIPHandler, GeoIPHandler>>; geoResolver: ZodOptional<ZodCustom<(ip) => string | null, (ip) => string | null>>; globalBehaviorRules: ZodDefault<ZodArray<ZodObject<{ action: ZodDefault<ZodEnum<{ alert: "alert"; ban: "ban"; log: "log"; throttle: "throttle"; }>>; banDuration: ZodDefault<ZodNullable<ZodNumber>>; correlateWithDetection: ZodDefault<ZodBoolean>; pattern: ZodDefault<ZodNullable<ZodString>>; ruleType: ZodEnum<{ frequency: "frequency"; return_pattern: "return_pattern"; usage: "usage"; }>; threshold: ZodNumber; window: ZodDefault<ZodNumber>; }, $strip>>>; ipinfoDbPath: ZodDefault<ZodString>; ipinfoToken: ZodDefault<ZodNullable<ZodString>>; lazyInit: ZodDefault<ZodBoolean>; logCountryCheckLevel: ZodDefault<ZodNullable<ZodEnum<{ CRITICAL: "CRITICAL"; DEBUG: "DEBUG"; ERROR: "ERROR"; INFO: "INFO"; WARNING: "WARNING"; }>>>; logfireServiceName: ZodDefault<ZodString>; logFormat: ZodDefault<ZodEnum<{ json: "json"; text: "text"; }>>; logger: ZodOptional<ZodCustom<Logger, Logger>>; logRequestLevel: ZodDefault<ZodNullable<ZodEnum<{ CRITICAL: "CRITICAL"; DEBUG: "DEBUG"; ERROR: "ERROR"; INFO: "INFO"; WARNING: "WARNING"; }>>>; logSensitiveBodyFields: ZodDefault<ZodArray<ZodString>>; logSensitiveHeaders: ZodDefault<ZodArray<ZodString>>; logSensitiveParams: ZodDefault<ZodArray<ZodString>>; logSuspiciousLevel: ZodDefault<ZodNullable<ZodEnum<{ CRITICAL: "CRITICAL"; DEBUG: "DEBUG"; ERROR: "ERROR"; INFO: "INFO"; WARNING: "WARNING"; }>>>; mutedCheckLogs: ZodDefault<ZodArray<ZodString>>; mutedEventTypes: ZodDefault<ZodArray<ZodString>>; mutedMetricTypes: ZodDefault<ZodArray<ZodString>>; onBlock: ZodOptional<ZodCustom<(request, payload) => unknown, (request, payload) => unknown>>; onError: ZodOptional<ZodCustom<(stage, error, context) => void, (stage, error, context) => void>>; otelExporterEndpoint: ZodDefault<ZodNullable<ZodString>>; otelResourceAttributes: ZodDefault<ZodRecord<ZodString, ZodString>>; otelServiceName: ZodDefault<ZodString>; passiveMode: ZodDefault<ZodBoolean>; rateLimit: ZodDefault<ZodNumber>; rateLimitWindow: ZodDefault<ZodNumber>; redisFailOpen: ZodDefault<ZodBoolean>; redisHealthCheckInterval: ZodDefault<ZodNumber>; redisMaxConnections: ZodDefault<ZodNullable<ZodNumber>>; redisPrefix: ZodDefault<ZodString>; redisRetries: ZodDefault<ZodNumber>; redisSocketConnectTimeout: ZodDefault<ZodNullable<ZodNumber>>; redisSocketTimeout: ZodDefault<ZodNullable<ZodNumber>>; redisUrl: ZodDefault<ZodString>; routeResolutionStrict: ZodDefault<ZodBoolean>; securityHeaders: ZodDefault<ZodNullable<ZodObject<{ contentTypeOptions: ZodDefault<ZodString>; csp: ZodDefault<ZodNullable<ZodRecord<ZodString, ZodArray<ZodString>>>>; custom: ZodDefault<ZodNullable<ZodRecord<ZodString, ZodString>>>; enabled: ZodDefault<ZodBoolean>; frameOptions: ZodDefault<ZodEnum<{ DENY: "DENY"; SAMEORIGIN: "SAMEORIGIN"; }>>; hsts: ZodOptional<ZodObject<{ includeSubdomains: ZodDefault<ZodBoolean>; maxAge: ZodDefault<ZodNumber>; preload: ZodDefault<ZodBoolean>; }, $strip>>; permissionsPolicy: ZodDefault<ZodString>; referrerPolicy: ZodDefault<ZodString>; xssProtection: ZodDefault<ZodString>; }, $strip>>>; threatBanConfig: ZodDefault<ZodRecord<ZodString, ZodObject<{ duration: ZodNumber; threshold: ZodNumber; }, $strip>>>; trustedProxies: ZodDefault<ZodArray<ZodString>>; trustedProxyDepth: ZodDefault<ZodNumber>; trustXForwardedProto: ZodDefault<ZodBoolean>; whitelist: ZodDefault<ZodNullable<ZodArray<ZodString>>>; whitelistCountries: ZodDefault<ZodArray<ZodString>>; }, $strip>

Defined in: packages/core/src/models/config.ts:71