# Firewall Rules block

> Dev Ops Edge Firewall Console with Ordered Rules, IP Lists, Protections and Traffic Log

Edge firewall: drag to reorder rules, a condition builder with a match preview, WAF, bot and rate limit protections, and a request trace per verdict. ReUI Data Grid, Filters, Frame. For WAF, edge security, network policy.

- Type: Pro block
- Category: [Dev Ops](https://web.dev.reui.io/blocks/solutions/dev-ops.md)
- Page: https://web.dev.reui.io/blocks/solutions/dev-ops/solution-dev-ops-4
- MCP: `get_block("solution-dev-ops-4")`
- Built with: Alert, Alert Dialog, Avatar, Badge, Button, Code Block, Data Grid, Dialog, Dropdown Menu, Empty, Field, Filters, Frame, Hover Card, Icon Tile, Input, Input Group, Item, Kbd, Marker, Popover, Radio Group, Select, Separator, Sheet, Switch, Tabs, Toggle Group, Tooltip
- Installs with a ReUI Pro or Ultimate license; setup: https://web.dev.reui.io/docs/license-setup

## Best for

Priority ordered rules you drag, CIDR checked allow and block lists and a test request traced step by step to its verdict

## Agent notes

- `SEED_RULES`, `SEED_ENTRIES` and `SEED_PROTECTIONS` in data.tsx are the sample rules, IP list entries and protections to replace
- The live log is synthetic: `sampleRequest` draws from `REQUEST_TEMPLATES` each `TICK_MS` while following, and `TRAFFIC` is fixed hourly counts
- Verdicts and traces come from `judge`, run in the browser over lists, rules and protections; swap it for your edge's decisions

## When not to use

- Only a firewall rule editor with a match preview, without the console around it: use [Edit Firewall Rule](https://web.dev.reui.io/blocks/application/sheet/sheet-18.md) (`get_block("sheet-18")`)
- A bare condition builder over your own fields, with no rules, lists or traffic log: use [Filters](https://web.dev.reui.io/components/filters.md) (`get_component("filters")`)

## Third-party libraries

- TanStack Table v9: [API reference](https://tanstack.com/table/v9/docs/framework/react/reference/index), [docs](https://tanstack.com/table/v9/docs/framework/react/quick-start)
- dnd kit v6: [API reference](https://dndkit.com/legacy/api-documentation/context-provider/dnd-context/), [docs](https://dndkit.com/legacy/introduction/getting-started/) (these are the Legacy docs; dndkit.com's default docs cover the newer @dnd-kit/react, a different API)
- Sonner v2: [API reference](https://sonner.emilkowal.ski/toast), [docs](https://sonner.emilkowal.ski/getting-started)
- Shiki v4: [API reference](https://shiki.style/guide/install), [docs](https://shiki.style/guide/), through ReUI Code Block

## Install

```bash
npx shadcn@latest add @reui/solution-dev-ops-4
```

## About Dev Ops blocks

### When to use

- Platform and SRE consoles for cron jobs, releases, audit trails, SLOs, edge firewalls and data sources
- On call triage of failing jobs, failed deploys, denied access, blocked requests and burning error budgets
- Operator changes made in place: pausing a job, promoting or rolling back, editing rules, rotating credentials

### When not to use

- A single table on your own columns, with no charts, lanes or ops panels around it: use [Data Grid](https://web.dev.reui.io/components/data-grid.md) (`get_component("data-grid")`)
- A table section for business records such as tickets, contacts, deals or timesheets: use the [Base blocks](https://web.dev.reui.io/blocks/data-grid/base.md)
- Only the record detail panel that slides over a list, without the console page: use the [Sheet blocks](https://web.dev.reui.io/blocks/application/sheet.md)

### Agent notes

- Every block pins now to Sep 29, 2026 14:20 UTC in `REFERENCE_MS`, set from `REFERENCE_DATE` in the audit log, and never reads the wall clock; pass your own now
- Writes only update client state and answer with a sonner `toast`; no block calls a server, so add your API at each write point
- Both page.tsx and each root set `min-h-svh`, and the root caps width at 1320px with its own padding; drop both inside an app shell

Every ReUI item has a twin like this one; the index is https://web.dev.reui.io/llms.txt. Agents with the ReUI MCP (https://web.dev.reui.io/docs/mcp) get the same guidance from the getters named above.
