Skip to main content

Modes

Dhal has four modes.

ModeBehaviorRecommended use
offDisable inspection decisionsTemporary disablement only
monitorDetect and log without blocking globallyFirst install and dry-run
blockActively block matched requestsRoute-level enforcement after review
strictAggressive enforcementHardened internal APIs only

Start in monitor

{
"mode": "monitor"
}

This gives you visibility without breaking traffic.

Enforce by route

Prefer route-level enforcement:

{
"mode": "monitor",
"routes": {
"/api/login": {
"mode": "block",
"rateLimit": {
"windowSeconds": 60,
"max": 5,
"keyBy": ["ip", "route"]
},
"rules": {
"credentialStuffing": true,
"bot": true
}
}
}
}

Avoid global strict early

Do not switch a new production install directly to global strict. Use dhal replay, dhal doctor, and route-specific profiles first.