Skip to content

GuardModuleOptions

Defined in: packages/nestjs/src/guard-module.ts:21

optional agentHandler?: AgentHandlerProtocol

Defined in: packages/nestjs/src/guard-module.ts:23


config: object

Defined in: packages/nestjs/src/guard-module.ts:22

optional agentApiKey?: string | null

optional agentBackoffFactor?: number | null

optional agentBufferOverflowPolicy?: "drop" | "block" | "raise" | null

optional agentBufferSize?: number

optional agentCompressionEnabled?: boolean | null

optional agentCompressionThreshold?: number | null

optional agentEnableEvents?: boolean

optional agentEnableMetrics?: boolean

optional agentEndpoint?: string

optional agentFlushInterval?: number

optional agentGuardVersion?: string | null

optional agentHighWatermarkRatio?: number | null

optional agentInstallId?: string | null

optional agentMaxConcurrentFlushes?: number | null

optional agentMaxPayloadSize?: number | null

optional agentPayloadSigningSecret?: string | null

optional agentProjectEncryptionKey?: string | null

optional agentProjectId?: string | null

optional agentRetryAttempts?: number

optional agentSensitiveHeaders?: string[] | null

optional agentStatusInterval?: number

optional agentStrict?: boolean

optional agentTimeout?: number

optional authVerifier?: (request, credential) => unknown

GuardRequest

string

unknown

optional autoBanDuration?: number

optional autoBanThreshold?: number

optional behaviorMaxResponseBodyInspectBytes?: number

optional behaviorScanResponseBody?: boolean

optional blacklist?: string[]

optional blockCloudProviders?: ("AWS" | "GCP" | "Azure")[]

optional blockedCountries?: string[]

optional blockedUserAgents?: string[]

optional bodyReadMaxConcurrent?: number

optional bodyReadTimeout?: number

optional cloudIpRefreshInterval?: number

optional corsAllowCredentials?: boolean

optional corsAllowHeaders?: string[]

optional corsAllowMethods?: string[]

optional corsAllowOrigins?: string[]

optional corsExposeHeaders?: string[]

optional corsMaxAge?: number

optional customErrorResponses?: Record<PropertyKey, string>

optional customLogFile?: string | null

optional customRequestCheck?: (req) => Promise<GuardResponse | null>

GuardRequest

Promise<GuardResponse | null>

optional customResponseModifier?: (res) => Promise<GuardResponse>

GuardResponse

Promise<GuardResponse>

optional detectionAnomalyEmissionCooldown?: number

optional detectionAnomalyThreshold?: number

optional detectionBinaryMinRunLength?: number

optional detectionCompilerTimeout?: number

optional detectionMaxBodyInspectBytes?: number

optional detectionMaxContentLength?: number

optional detectionMaxJsonDepth?: number

optional detectionMaxScanChars?: number

optional detectionMaxScanValues?: number

optional detectionMaxTrackedPatterns?: number

optional detectionMinSamplesForAnomaly?: number

optional detectionMonitorHistorySize?: number

optional detectionPatternValidationCachePath?: string | null

optional detectionPreserveAttackPatterns?: boolean

optional detectionScanBody?: boolean

optional detectionScanWorkerPool?: boolean

optional detectionSemanticThreshold?: number

optional detectionSlowPatternThreshold?: number

optional detectionThreatScoreThreshold?: number

optional dynamicRuleInterval?: number

optional dynamicRulesCachePath?: string | null

optional emergencyMode?: boolean

optional emergencyWhitelist?: string[]

optional enableAgent?: boolean

optional enableCors?: boolean

optional enabledDetectionCategories?: string[]

optional enableDynamicRules?: boolean

optional enableEnrichment?: boolean

optional enableIpBanning?: boolean

optional enableLogfire?: boolean

optional enableOtel?: boolean

optional enablePenetrationDetection?: boolean

optional enableRateLimitAutoBan?: boolean

optional enableRateLimiting?: boolean

optional enableRedis?: boolean

optional endpointRateLimits?: Record<string, [number, number]>

optional enforceHttps?: boolean

optional excludedDetectionBodyFields?: string[]

optional excludedDetectionHeaders?: string[]

optional excludedDetectionParams?: string[]

optional excludePaths?: string[]

optional exemptIps?: string[]

optional failSecure?: boolean

optional geoIpDbMaxAge?: number

optional geoIpHandler?: GeoIPHandler

optional geoResolver?: (ip) => string | null

string

string | null

optional globalBehaviorRules?: object[]

optional ipinfoDbPath?: string

optional ipinfoToken?: string | null

optional lazyInit?: boolean

optional logCountryCheckLevel?: "INFO" | "DEBUG" | "WARNING" | "ERROR" | "CRITICAL" | null

optional logfireServiceName?: string

optional logFormat?: "text" | "json"

optional logger?: Logger

optional logRequestLevel?: "INFO" | "DEBUG" | "WARNING" | "ERROR" | "CRITICAL" | null

optional logSensitiveBodyFields?: string[]

optional logSensitiveHeaders?: string[]

optional logSensitiveParams?: string[]

optional logSuspiciousLevel?: "INFO" | "DEBUG" | "WARNING" | "ERROR" | "CRITICAL" | null

optional mutedCheckLogs?: string[]

optional mutedEventTypes?: string[]

optional mutedMetricTypes?: string[]

optional onBlock?: (request, payload) => unknown

GuardRequest

Record<string, unknown>

unknown

optional onError?: (stage, error, context) => void

string

unknown

Record<string, unknown>

void

optional otelExporterEndpoint?: string | null

optional otelResourceAttributes?: Record<string, string>

optional otelServiceName?: string

optional passiveMode?: boolean

optional rateLimit?: number

optional rateLimitWindow?: number

optional redisFailOpen?: boolean

optional redisHealthCheckInterval?: number

optional redisMaxConnections?: number | null

optional redisPrefix?: string

optional redisRetries?: number

optional redisSocketConnectTimeout?: number | null

optional redisSocketTimeout?: number | null

optional redisUrl?: string

optional routeResolutionStrict?: boolean

optional securityHeaders?: { contentTypeOptions?: string; csp?: Record<string, string[]> | null; custom?: Record<string, string> | null; enabled?: boolean; frameOptions?: "DENY" | "SAMEORIGIN"; hsts?: { includeSubdomains?: boolean; maxAge?: number; preload?: boolean; }; permissionsPolicy?: string; referrerPolicy?: string; xssProtection?: string; } | null

optional threatBanConfig?: Record<string, { duration: number; threshold: number; }>

optional trustedProxies?: string[]

optional trustedProxyDepth?: number

optional trustXForwardedProto?: boolean

optional whitelist?: string[] | null

optional whitelistCountries?: string[]


optional geoIpHandler?: GeoIPHandler

Defined in: packages/nestjs/src/guard-module.ts:24


optional guardDecorator?: unknown

Defined in: packages/nestjs/src/guard-module.ts:25


optional routeConfigs?: PathRouteConfigEntry[]

Defined in: packages/nestjs/src/guard-module.ts:31