Skip to content
Engine compatibility matrix

Engine compatibility matrix

Generated from compat/matrix.json by tools/matrix.py on 2026-10-06. Do not edit by hand; edit the JSON and rerun the tool. A name links to its specification entry; on the published site, rows where the engines differ are tinted.

  • v2: ModSecurity v2 (owasp-modsecurity/ModSecurity branch v2/master, 2026-09)
  • v3: libmodsecurity v3.0.16 (owasp-modsecurity/ModSecurity branch v3/master)
  • coraza: Coraza v3.8.1 (corazawaf/coraza)

directives (64 of 91 in all engines)

Namev2v3corazastatus
IncludeyesyesyesCore
SecActionyesyesyesCore
SecArgumentSeparatoryesyesyesCore
SecArgumentsLimityesyesyesCore
SecAuditEngineyesyesyesCore
SecAuditLogyesyesyesCore
SecAuditLog2yesyes-Deprecated
SecAuditLogDirModeyesyesyesExtended
SecAuditLogFileModeyesyesyesExtended
SecAuditLogFormatyesyesyesCore
SecAuditLogPartsyesyesyesCore
SecAuditLogPrefix-yes-Engine-specific
SecAuditLogRelevantStatusyesyesyesCore
SecAuditLogStorageDiryesyesyesCore
SecAuditLogTypeyesyesyesCore
SecCacheTransformationsyesyes-Deprecated
SecChrootDiryesyes-Deprecated
SecCollectionTimeoutyesyesyesExtended
SecComponentSignatureyesyesyesCore
SecConnEngineyesyesyesDeprecated
SecConnReadStateLimityesyesyesDeprecated
SecConnWriteStateLimityesyesyesDeprecated
SecContentInjectionyesyes-Deprecated
SecCookieFormatyesyesyesExtended
SecCookieV0Separatoryesyes-Extended
SecDataDiryesyesyesCore
SecDataset--yesEngine-specific
SecDebugLogyesyesyesCore
SecDebugLogLevelyesyesyesCore
SecDefaultActionyesyesyesCore
SecDisableBackendCompressionyesyes-Deprecated
SecGeoLookupDbyesyes-Extended
SecGsbLookupDbyesyesyesDeprecated
SecGuardianLogyesyes-Deprecated
SecHashEngineyesyesyesDeprecated
SecHashKeyyesyesyesDeprecated
SecHashMethodPmyesyesyesDeprecated
SecHashMethodRxyesyesyesDeprecated
SecHashParamyesyesyesDeprecated
SecHttpBlKeyyesyesyesExtended
SecIgnoreRuleCompilationErrors--yesEngine-specific
SecInterceptOnErroryesyes-Deprecated
SecMarkeryesyesyesCore
SecParseXmlIntoArgsyesyes-Extended
SecPcreMatchLimityesyesyesExtended
SecPcreMatchLimitRecursionyesyesyesExtended
SecReadStateLimityes--Deprecated
SecRemoteRulesyesyesyesExtended
SecRemoteRulesFailActionyesyesyesExtended
SecRequestBodyAccessyesyesyesCore
SecRequestBodyInMemoryLimityes-yesExtended
SecRequestBodyJsonDepthLimityesyesyesCore
SecRequestBodyLimityesyesyesCore
SecRequestBodyLimitActionyesyesyesCore
SecRequestBodyNoFilesLimityesyesyesCore
SecRequestEncodingyes--Deprecated
SecResponseBodyAccessyesyesyesCore
SecResponseBodyJsonDepthLimit--yesEngine-specific
SecResponseBodyLimityesyesyesCore
SecResponseBodyLimitActionyesyesyesCore
SecResponseBodyMimeTypeyesyesyesCore
SecResponseBodyMimeTypesClearyesyesyesCore
SecRuleyesyesyesCore
SecRuleEngineyesyesyesCore
SecRuleInheritanceyesyes-Extended
SecRulePerfTimeyesyesyesExtended
SecRuleRemoveByIdyesyesyesCore
SecRuleRemoveByMsgyesyesyesExtended
SecRuleRemoveByTagyesyesyesCore
SecRuleScriptyesyesyesExtended
SecRuleUpdateActionByIdyesyesyesCore
SecRuleUpdateTargetByIdyesyesyesCore
SecRuleUpdateTargetByMsgyesyesyesExtended
SecRuleUpdateTargetByTagyesyesyesCore
SecRxPreFilter--yesEngine-specific
SecSensorIdyesyesyesExtended
SecServerSignatureyesyesyesExtended
SecStatusEngineyesyes-Deprecated
SecStreamInBodyInspectionyesyes-Deprecated
SecStreamOutBodyInspectionyesyes-Deprecated
SecTmpDiryesyesyesExtended
SecTmpSaveUploadedFilesyesyes-Extended
SecUnicodeCodePageyes--Deprecated
SecUnicodeMapFileyesyes-Extended
SecUploadDiryesyesyesCore
SecUploadFileLimityesyesyesExtended
SecUploadFileModeyesyesyesCore
SecUploadKeepFilesyesyesyesCore
SecWebAppIdyesyesyesExtended
SecWriteStateLimityes--Deprecated
SecXmlExternalEntityyesyes-Extended

actions (33 of 48 in all engines)

Namev2v3corazastatus
accuracyyesyesyesExtended
allowyesyesyesCore
appendyes--Deprecated
auditlogyesyesyesCore
blockyesyesyesCore
captureyesyesyesCore
chainyesyesyesCore
ctlyesyesyesCore
denyyesyesyesCore
deprecatevaryes--Deprecated
dropyesyesyesCore
execyesyesyesExtended
expirevaryesyesyesExtended
idyesyesyesCore
initcolyesyesyesExtended
logyesyesyesCore
logdatayesyesyesCore
markeryes--Deprecated
maturityyesyesyesExtended
msgyesyesyesCore
multiMatchyesyesyesCore
noauditlogyesyesyesCore
nologyesyesyesCore
passyesyesyesCore
pauseyes--Deprecated
phaseyesyesyesCore
prependyes--Deprecated
proxyyes--Deprecated
redirectyesyesyesCore
revyesyesyesExtended
sanitiseArgyes--Deprecated
sanitiseMatchedyes--Deprecated
sanitiseMatchedBytesyes--Deprecated
sanitiseRequestHeaderyes--Deprecated
sanitiseResponseHeaderyes--Deprecated
setenvyesyesyesExtended
setrscyesyes-Extended
setsidyesyes-Extended
setuidyesyes-Extended
setvaryesyesyesCore
severityyesyesyesCore
skipyesyesyesExtended
skipAfteryesyesyesCore
statusyesyesyesCore
tyesyesyesCore
tagyesyesyesCore
veryesyesyesCore
xmlnsyesyes-Extended

ctl (10 of 21 in all engines)

Namev2v3corazastatus
auditEngineyesyesyesCore
auditLogPartsyesyesyesCore
debugLogLevelyes-yesExtended
forceRequestBodyVariableyesyesyesCore
forceResponseBodyVariable--yesEngine-specific
hashEnforcementyes-yesDeprecated
hashEngineyes-yesDeprecated
parseXmlIntoArgsyesyes-Extended
requestBodyAccessyesyesyesCore
requestBodyLimityes-yesExtended
requestBodyProcessoryesyesyesCore
responseBodyAccessyes-yesExtended
responseBodyLimityes-yesExtended
responseBodyProcessor--yesEngine-specific
ruleEngineyesyesyesCore
ruleRemoveByIdyesyesyesCore
ruleRemoveByMsgyes-yesExtended
ruleRemoveByTagyesyesyesCore
ruleRemoveTargetByIdyesyesyesCore
ruleRemoveTargetByMsgyes-yesExtended
ruleRemoveTargetByTagyesyesyesCore

operators (29 of 44 in all engines)

Namev2v3corazastatus
beginsWithyesyesyesCore
containsyesyesyesCore
containsWordyesyes-Extended
detectSQLiyesyesyesCore
detectXSSyesyesyesCore
endsWithyesyesyesCore
eqyesyesyesCore
fuzzyHashyesyes-Extended
geyesyesyesCore
geoLookupyesyesyesExtended
gsbLookupyesyes-Deprecated
gtyesyesyesCore
inspectFileyesyesyesExtended
ipMatchyesyesyesCore
ipMatchFyesyesyes-
ipMatchFromDataset--yesEngine-specific
ipMatchFromFileyesyesyesExtended
leyesyesyesCore
ltyesyesyesCore
noMatchyesyesyesExtended
pmyesyesyesCore
pmfyesyesyes-
pmFromDataset--yesEngine-specific
pmFromFileyesyesyesCore
rblyesyesyesExtended
restpath--yesEngine-specific
rsubyesyes-Deprecated
rxyesyesyesCore
rxGlobal-yes-Engine-specific
streqyesyesyesCore
strmatchyesyesyesExtended
unconditionalMatchyesyesyesCore
validateByteRangeyesyesyesCore
validateDTDyesyes-Extended
validateHashyesyes-Extended
validateNid--yesEngine-specific
validateSchemayesyesyesExtended
validateUrlEncodingyesyesyesCore
validateUtf8EncodingyesyesyesCore
verifyCCyesyes-Extended
verifyCPFyesyes-Extended
verifySSNyesyes-Extended
verifySVNR-yes-Engine-specific
withinyesyesyesCore

transformations (33 of 38 in all engines)

Namev2v3corazastatus
base64DecodeyesyesyesCore
base64DecodeExtyesyesyesExtended
base64EncodeyesyesyesExtended
cmdLineyesyesyesCore
compressWhitespaceyesyesyesCore
cssDecodeyesyesyesCore
escapeSeqDecodeyesyesyesCore
hexDecodeyesyesyesExtended
hexEncodeyesyesyesCore
htmlEntityDecodeyesyesyesCore
jsDecodeyesyesyesCore
lengthyesyesyesCore
lowercaseyesyesyesCore
md5yesyesyesExtended
noneyesyesyesCore
normalisePathyesyesyesCore
normalisePathWinyesyesyesCore
normalizePathyesyesyes-
normalizePathWinyesyesyes-
parityEven7bityesyes-Extended
parityOdd7bityesyes-Extended
parityZero7bityesyes-Extended
removeCommentsyesyesyesExtended
removeCommentsCharyesyesyesCore
removeNullsyesyesyesCore
removeWhitespaceyesyesyesCore
replaceCommentsyesyesyesCore
replaceNullsyesyesyesExtended
sha1yesyesyesCore
sqlHexDecodeyesyes-Extended
trimyesyesyesExtended
trimLeftyesyesyesExtended
trimRightyesyesyesExtended
uppercase-yesyesCore (ADR-0012)
urlDecodeyesyesyesExtended
urlDecodeUniyesyesyesCore
urlEncodeyesyesyesExtended
utf8toUnicodeyesyesyesCore

variables (74 of 144 in all engines)

Namev2v3corazastatus
ARGSyesyesyesCore
ARGS_COMBINED_SIZEyesyesyesCore
ARGS_GETyesyesyesCore
ARGS_GET_NAMESyesyesyesCore
ARGS_NAMESyesyesyesCore
ARGS_PATH--yesEngine-specific
ARGS_POSTyesyesyesCore
ARGS_POST_NAMESyesyesyesCore
ARGUMENTS_LIMIT_REACHED--yesEngine-specific
AUTH_TYPEyesyes-Extended
DURATIONyesyesyesExtended
ENVyesyesyesExtended
FILESyesyesyesCore
FILES_COMBINED_SIZEyesyesyesCore
FILES_NAMESyesyesyesCore
FILES_SIZESyesyesyesExtended
FILES_TMP_CONTENTyesyesyesExtended
FILES_TMPNAMESyesyesyesExtended
FULL_REQUESTyesyes-Extended
FULL_REQUEST_LENGTHyesyesyesExtended
GEOyesyesyesExtended
GLOBALyesyes-Extended
HIGHEST_SEVERITYyesyesyesExtended
INBOUND_DATA_ERRORyesyesyesCore
IPyesyes-Extended
JSON--yesEngine-specific
MATCHED_VARyesyesyesCore
MATCHED_VAR_NAMEyesyesyesCore
MATCHED_VARSyesyesyesCore
MATCHED_VARS_NAMESyesyesyesExtended
MODSEC_BUILDyesyes-Extended
MSC_PCRE_ERROR-yes-Engine-specific
MSC_PCRE_LIMITS_EXCEEDED-yes-Engine-specific
MULTIPART_BOUNDARY_QUOTEDyesyes-Extended
MULTIPART_BOUNDARY_WHITESPACEyesyes-Extended
MULTIPART_CRLF_LF_LINESyesyes-Extended
MULTIPART_CRLF_LINEyes--Deprecated
MULTIPART_DATA_AFTERyesyesyesExtended
MULTIPART_DATA_BEFOREyesyes-Extended
MULTIPART_DUPLICATE_PART_HEADER--yesEngine-specific
MULTIPART_FILE_LIMIT_EXCEEDEDyesyes-Extended
MULTIPART_FILENAMEyesyesyesExtended
MULTIPART_FILENAME_CHARSET--yesEngine-specific
MULTIPART_FILENAME_LANGUAGE--yesEngine-specific
MULTIPART_HEADER_FOLDINGyesyes-Extended
MULTIPART_INVALID_HEADER_FOLDINGyesyes-Extended
MULTIPART_INVALID_PARTyesyes-Extended
MULTIPART_INVALID_QUOTINGyesyesyesExtended
MULTIPART_LF_LINEyesyes-Extended
MULTIPART_MISSING_SEMICOLONyesyes-Extended
MULTIPART_NAMEyesyesyesExtended
MULTIPART_PART_HEADERSyesyesyesCore
MULTIPART_STRICT_ERRORyesyesyesCore
MULTIPART_UNMATCHED_BOUNDARYyesyes-Extended
OUTBOUND_DATA_ERRORyesyesyesCore
PATH_INFOyesyes-Extended
PERF_ALLyes--Deprecated
PERF_COMBINEDyes--Deprecated
PERF_GCyes--Deprecated
PERF_LOGGINGyes--Deprecated
PERF_PHASE1yes--Deprecated
PERF_PHASE2yes--Deprecated
PERF_PHASE3yes--Deprecated
PERF_PHASE4yes--Deprecated
PERF_PHASE5yes--Deprecated
PERF_RULESyes--Deprecated
PERF_SREADyes--Deprecated
PERF_SWRITEyes--Deprecated
QUERY_STRINGyesyesyesCore
REMOTE_ADDRyesyesyesCore
REMOTE_HOSTyesyesyesExtended
REMOTE_PORTyesyesyesExtended
REMOTE_USERyesyes-Extended
REQBODY_ERRORyesyesyesCore
REQBODY_ERROR_MSGyesyesyesCore
REQBODY_PROCESSORyesyesyesCore
REQBODY_PROCESSOR_ERROR-yesyesExtended
REQBODY_PROCESSOR_ERROR_MSG-yesyesExtended
REQUEST_BASENAMEyesyesyesCore
REQUEST_BODYyesyesyesCore
REQUEST_BODY_LENGTHyesyesyesCore
REQUEST_COOKIESyesyesyesCore
REQUEST_COOKIES_NAMESyesyesyesCore
REQUEST_FILENAMEyesyesyesCore
REQUEST_HEADERSyesyesyesCore
REQUEST_HEADERS_NAMESyesyesyesCore
REQUEST_LINEyesyesyesCore
REQUEST_METHODyesyesyesCore
REQUEST_PROTOCOLyesyesyesCore
REQUEST_URIyesyesyesCore
REQUEST_URI_RAWyesyesyesCore
REQUEST_XML--yesEngine-specific
RES_BODY_ERROR--yesEngine-specific
RES_BODY_ERROR_MSG--yesEngine-specific
RES_BODY_PROCESSOR--yesEngine-specific
RES_BODY_PROCESSOR_ERROR--yesEngine-specific
RES_BODY_PROCESSOR_ERROR_MSG--yesEngine-specific
RESOURCEyesyes-Extended
RESPONSE_ARGS--yesEngine-specific
RESPONSE_BODYyesyesyesCore
RESPONSE_CONTENT_LENGTHyesyesyesExtended
RESPONSE_CONTENT_TYPEyesyesyesExtended
RESPONSE_HEADERSyesyesyesCore
RESPONSE_HEADERS_NAMESyesyesyesExtended
RESPONSE_PROTOCOLyesyesyesExtended
RESPONSE_STATUSyesyesyesCore
RESPONSE_XML--yesEngine-specific
RULEyesyesyesExtended
SCRIPT_BASENAMEyes--Deprecated
SCRIPT_FILENAMEyes--Deprecated
SCRIPT_GIDyes--Deprecated
SCRIPT_GROUPNAMEyes--Deprecated
SCRIPT_MODEyes--Deprecated
SCRIPT_UIDyes--Deprecated
SCRIPT_USERNAMEyes--Deprecated
SDBM_DELETE_ERRORyes--Deprecated
SERVER_ADDRyesyesyesExtended
SERVER_NAMEyesyesyesExtended
SERVER_PORTyesyesyesExtended
SESSIONyesyes-Extended
SESSIONIDyesyes-Extended
STATUS-yes-Engine-specific
STATUS_LINEyes-yesExtended
STREAM_INPUT_BODYyes--Deprecated
STREAM_OUTPUT_BODYyes--Deprecated
TIMEyesyesyesExtended
TIME_DAYyesyesyesExtended
TIME_EPOCHyesyesyesExtended
TIME_HOURyesyesyesExtended
TIME_MINyesyesyesExtended
TIME_MONyesyesyesExtended
TIME_SECyesyesyesExtended
TIME_WDAYyesyesyesExtended
TIME_YEARyesyesyesExtended
TXyesyesyesCore
UNIQUE_IDyesyesyesCore
URI_PARSE_ERROR--yesEngine-specific
URLENCODED_ERRORyesyesyesExtended
USERyesyes-Extended
USERAGENT_IPyes--Deprecated
USERIDyesyes-Extended
WEBAPPIDyesyes-Extended
WEBSERVER_ERROR_LOGyes--Deprecated
XMLyesyesyesCore