FwChange
Enterprise firewall change management, made provable
Built by Rogue AI · Firewall change management with a reviewable audit trail · Self-hosted
Built solo over an extended series of iterations; runs as a self-hosted lab and portfolio demo.
The problem
Firewall changes are where outages and audit findings are born. In most teams the actual workflow is a ticket, a Slack thread, and someone editing a device by hand — with the reasoning, the approval, and the before/after state scattered across three systems or lost entirely. When an auditor or an incident review later asks who approved a rule, against which policy, and whether it conflicts with what was already there, the answer usually has to be reconstructed from memory. FwChange exists to make that workflow structured and the trail reconstructable by design.
What I built
A Next.js 16 application backed by PostgreSQL and Redis, with NextAuth 5 for authentication. Every change starts as a structured request rather than free text, routes through a multi-level approval chain, and is recorded as an immutable audit entry. A rule-analysis engine inspects proposed changes for conflicts before they are approved, and device drivers abstract the per-vendor differences behind one interface. Vendor credentials are encrypted at rest with AES-256-GCM, the database runs under a least-privilege application user, and the whole stack ships as hardened, network-isolated Docker containers bound to localhost.
Architecture
Tech stack
What broke first
- ▸
A change-management tool earns trust through its paper trail, not its automation. The value is being able to answer 'who approved this, when, against which rule set, and why' months later — so the structured request, the approval chain, and the audit log were the parts that had to be airtight before any push-to-device feature mattered.
- ▸
Multi-vendor support is mostly about admitting how different the devices are. A registry pattern with one driver interface per vendor keeps the analysis and workflow layers vendor-agnostic, but the honest reality is that a handful of drivers are exercised against real configs and the rest are scaffolding — so the UI is explicit about which is which rather than pretending uniform coverage.
- ▸
Risk and conflict analysis is a triage aid, not a verdict. Heuristics that flag shadowed rules, redundancy, and over-permissive 'any' scopes catch the obvious mistakes a reviewer is tired enough to miss, but they surface candidates for a human to judge — they do not, and should not, replace a firewall engineer signing off on the change.
Outcome
The result is a working reference implementation of provable firewall change management: every change is a structured, approved, audited record, and compliance evidence can be exported against the frameworks these environments actually answer to — NIS2, ISO 27001, PCI-DSS, DORA and KRITIS — instead of being assembled by hand at audit time. It runs self-hosted as a lab and portfolio demo today, and it is honest about its edges: uneven vendor depth, and analysis that informs a human reviewer rather than replacing one. As a demonstration of how to make security change management auditable by construction, it does what it set out to do.
Honest limits
This is a self-hosted firewall change-management system, built solo, running as a local lab and portfolio demo — the earlier VPS deployment has been retired, so it is not operating against a real production fleet today. The risk and conflict heuristics flag candidates for human review; they are decision support, not an automated approver, and they do not replace a firewall engineer's judgement. Vendor coverage is uneven: a few drivers are tested against real device configs and the rest are interface-complete skeletons. Treat it as a working reference implementation of the workflow, not a hardened commercial product.
