Skip to content

SecurityMiddlewareOptions

Defined in: express/src/middleware.ts:15

optional agentHandler?: AgentHandlerProtocol

Defined in: express/src/middleware.ts:17


config: object

Defined in: express/src/middleware.ts:16

optional agentApiKey?: string | null

optional agentBufferSize?: number

optional agentEnableEvents?: boolean

optional agentEnableMetrics?: boolean

optional agentEndpoint?: string

optional agentFlushInterval?: number

optional agentProjectId?: string | null

optional agentRetryAttempts?: number

optional agentTimeout?: number

optional autoBanDuration?: number

optional autoBanThreshold?: number

optional blacklist?: string[]

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

optional blockedCountries?: string[]

optional blockedUserAgents?: string[]

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 detectionAnomalyThreshold?: number

optional detectionCompilerTimeout?: number

optional detectionMaxContentLength?: number

optional detectionMaxTrackedPatterns?: number

optional detectionMonitorHistorySize?: number

optional detectionPreserveAttackPatterns?: boolean

optional detectionSemanticThreshold?: number

optional detectionSlowPatternThreshold?: number

optional dynamicRuleInterval?: number

optional emergencyMode?: boolean

optional emergencyWhitelist?: string[]

optional enableAgent?: boolean

optional enableCors?: boolean

optional enableDynamicRules?: boolean

optional enableIpBanning?: boolean

optional enablePenetrationDetection?: boolean

optional enableRateLimiting?: boolean

optional enableRedis?: boolean

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

optional enforceHttps?: boolean

optional excludePaths?: string[]

optional geoIpHandler?: GeoIPHandler

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

string

string | null

optional logFormat?: "text" | "json"

optional logger?: Logger

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

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

optional passiveMode?: boolean

optional rateLimit?: number

optional rateLimitWindow?: number

optional redisPrefix?: string

optional redisUrl?: string

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 trustedProxies?: string[]

optional trustedProxyDepth?: number

optional trustXForwardedProto?: boolean

optional whitelist?: string[] | null

optional whitelistCountries?: string[]


optional geoIpHandler?: GeoIPHandler

Defined in: express/src/middleware.ts:18


optional guardDecorator?: unknown

Defined in: express/src/middleware.ts:19