Skip to main content

Documentation Index

Fetch the complete documentation index at: https://rokad-89d31590.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

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.