Documents
opnDossier Backlog Order of Operations
opnDossier Backlog Order of Operations
Type
External
Status
Published
Created
Apr 19, 2026
Updated
Apr 19, 2026
Source
View

opnDossier Backlog Order of Operations#

Source: docs/plans/backlog-order-of-operations.md in the opnDossier repo
Velocity assumption: ~6 SP/week (historical)
Last sourced: 2026-04-02 from repo; SPs applied to Jira on 2026-04-16 (see opnDossier Product Requirements and opnDossier Pro Product Requirements)

How to read this#

Issues are prefixed by repo: open = EvilBit-Labs/opnDossier, pro = EvilBit-Labs/opnDossier-pro. Epics live in opnDossier-pro as the internal execution layer.
Groups are ordered for sequential burn-down. Items within a group may run in parallel unless explicitly noted as sequential.

Context: how this connects to the product#


Product Backlog#

Burn through in order. Each group is backed by an epic in opnDossier-pro with a task-list tracking progress.

1. Cleanup & Quick Wins — pro#63 (17 SP, ~3 weeks)#

Small refactors, performance fixes, and architecture cleanup.

#RepoSPTitle
511open1refactor(audit): consolidate inventory finding type into shared constant
457open2refactor(cli): remove dead audit plumbing from convert command
286open3perf(analysis): replace O(n²) duplicate rule detection with hash-based O(n) approach
288open1perf(converter): cache EffectiveAddress() results for NAT rules during conversion
455open2feat(plugin): populate Finding.Control field from control ID in all compliance plugins
447open2refactor(audit): clarify directory-level vs per-plugin error distinction in InitializePlugins
446open3refactor(audit): eliminate temporal coupling between SetPluginDir and InitializePlugins
380open3feat(cli): Expose missing CLI flags via environment variables and config file

2. Open-Core Separation — pro#64 (11 SP, ~2 weeks)#

These must happen together — STIG moves from open to pro.

#RepoSPTitle
389open3Remove STIG plugin from open repo (migrate to pro)
32pro5Open Core Separation (STIG to Pro)
9pro3P3-1: Migrate STIG compliance plugin from open repo

3. Compliance Engine Expansion — pro#65 (32 SP, ~5.5 weeks)#

Model fields that feed compliance controls, plugin expansion, and manual validation docs. Batch these — each is small, and they compound.

#RepoSPTitle
499open1feat(model): add MaximumStates to CommonDevice (FIREWALL-035)
496open2feat(model): add WebGUI fields to CommonDevice for compliance controls
497open2feat(model): add login protection config to CommonDevice (FIREWALL-015)
498open3feat(model): add AuthServer (LDAP/RADIUS) config to CommonDevice (FIREWALL-019)
500open3feat(model): add certificate analysis fields for expiry and key length (FIREWALL-037, -038)
501open2feat(model): add UPnP/NAT-PMP config to CommonDevice (FIREWALL-057)
502open2feat(model): add Unbound interface binding to CommonDevice (FIREWALL-059)
503open3feat(model): add config revision tracking to CommonDevice (FIREWALL-060)
508open2feat(compliance): add optional Href field to Control for linking control IDs to documentation
306open3feat(schema): parse OPNsense Unbound MVC model for DNS rebind and advanced settings
512open5feat(plugin): add VPN, NTP, syslog, and certificate inventory controls
504open1docs(plugin): add manual validation guidance for SSH banner check (FIREWALL-001)
505open1docs(plugin): add manual validation guidance for MOTD check (FIREWALL-003)
506open1docs(plugin): add manual validation guidance for vulnerability testing (SANS-FW-010)
507open1docs(plugin): add manual validation guidance for security policy compliance (SANS-FW-011)

4. Blue/Red Mode Completion — pro#66 (8 SP, ~1.5 weeks)#

#RepoSPTitle
281open8feat(audit): complete blue and red audit mode implementations

5. Performance & Testing — pro#67 (17 SP, ~3 weeks)#

#RepoSPTitle
285open3perf(processor): remove unnecessary mutex serialization in CoreProcessor
289open2perf(converter): memoize statistics and analysis computation for multi-format exports
291open3perf: reduce allocations in hot paths (table building, slice/map pre-allocation)
292open3ci(benchmarks): expand benchmark coverage and add profiling tooling
297open5test: fill unit-test coverage gaps in converter services, parser, and analysis packages
482open1(question): github action support?

6. Pro Scaffold & Licensing — pro#18 (20 SP, ~3.5 weeks)#

Sequential dependency chain. Must be done in this order.

#RepoSPTitle
2pro2P2-1: Initialize Go module with open repo dependency
3pro3P2-2: Establish Ed25519 Keypair Infrastructure for License Signing & Validation
4pro5P2-3: Implement license validation package
5pro3P2-4: Build license generation CLI tool (internal)
6pro3P2-5: Implement conditional feature registration
7pro2P2-6: Set up GoReleaser config for opndossier-pro
8pro2P2-7: End-to-end validation gate

7. Pro MVP & Release — pro#19 (16 SP, ~2.5 weeks)#

#RepoSPTitle
10pro5P3-2: Implement structured remediation guidance
11pro3P3-3: MVP integration testing
13pro5P4-2: Pro documentation
14pro3P4-3: First Pro release checklist (v1.0.0-pro)

8. CLI & Distribution Polish — pro#68 (13 SP, ~2 weeks)#

#RepoSPTitle
517open2feat(display): add --pager flag for built-in pager support
375open2feat(build): Add Scoop Package Manager Support for Windows via GoReleaser
221open3Add pfFocus-compatible output format/template
283open3refactor(cmd): extract shared ProcessFile helper to eliminate duplicated boilerplate
27pro3CLI Polish & Distribution

9. Compliance Expansion — pro#69 (29 SP, ~5 weeks)#

#RepoSPTitle
204open8feat(compliance): Implement PCI-DSS Requirement 1 firewall configuration checks
31pro8Cybersecurity Best Practices Scanning (OPNsense)
62pro13Implement Compliance Scanning Integration as Premium Feature

10. Audit Features — pro#70 (15 SP, ~2.5 weeks)#

#RepoSPTitle
206open5feat(audit): Add structured remediation guidance to compliance findings
202open5Firewall rule shadowing detection
203open5Unused object detection

11. Export Formats & Reports — pro#71 (15 SP, ~2.5 weeks)#

#RepoSPTitle
209open5Add SARIF export format for CI/CD security integration
35pro5Professional Report Output
208open5Add SIEM export formats (CEF/LEEF/JSONL) for audit findings integration

12. Go-to-Market — pro#26 (24 SP, ~4 weeks)#

#RepoSPTitle
40pro5opnDossier Landing Page
39pro2Pro Tier Pricing & Packaging
38pro8License Key System & Payment
41pro3Community Seeding
43pro3Email Nurture for Pro Interest List
44pro3Case Study / Use Case Content

13. Polish & Tech Debt — pro#72 (39 SP, ~6.5 weeks)#

#RepoSPTitle
378open5feat(sanitizer): Add --unsanitize flag for bidirectional sanitization round-trips
282open5refactor(model): eliminate re-export layer — migrate 93 type aliases to direct schema imports
469open3Add Interactive Terminal Demos (VHS Tapes) to Feature Documentation
30pro3Audit Mode Stabilization
45pro3CLI Polish & Distribution
54pro3Tech Debt / Performance / Maintenance
55pro3Performance
56pro3Refactoring / Tech Debt
57pro3Schema / Parsing Enhancements
12pro8P4-1: Sales infrastructure
42pro5Content Pipeline Setup
29pro8pfSense Configuration Support — Pro Integration Tracking

Product Backlog Total: ~246 SP (~41 weeks at 6 SP/week)


Icebox#

Parked for later. Re-evaluate quarterly or when strategic priorities shift.

Large Epics & Future Platforms#

#RepoSPTitleWhy iceboxed
211open21TUI: Interactive Terminal Interfacev2.0 scope
213open21Build Web UI with Local Server Modev2.0 scope
50pro21opnDossier Desktop App (Wails)v2.0+ scope
53pro21Enterprise Serverv2.0+ scope

Multi-Vendor Parser Support#

#RepoSPTitleWhy iceboxed
198open13Add Cisco ASA firewall configuration parserNeeds architecture first
199open13Add Fortinet FortiGate configuration parserNeeds architecture first
51pro13Additional Firewall Parsers (Cisco ASA, Fortinet)Needs architecture first

Advanced Features#

#RepoSPTitleWhy iceboxed
205open13Implement custom rule engine for org-specific compliance policiesLarge scope, pro first
201open8Configuration drift detection and baseline managementNice-to-have
212open8File system watch mode for continuous monitoringNice-to-have
207open8Professional PDF report generationDepends on report architecture
33pro13Custom Compliance Rules EngineLarge scope
34pro8Additional Compliance FrameworksAfter PCI-DSS ships
36pro5Red/Blue Dual-Output ReportsAfter blue/red modes stable
37pro5SIEM Export FormatsAfter open SIEM export
47pro5Config Conversion (Unique Differentiator)Future differentiator
48pro8Config Converter (config-faker reimagined)Future differentiator
52pro8Topology MappingSpeculative
58pro5Monitoring / OperationsAfter enterprise server

Architecture & Tech Debt#

#RepoSPTitleWhy iceboxed
152open8Full cleanup to programmatically Go-based templatesOverlaps with #154
154open8Complete Template System Migration and Removal for v2.0v2.0 scope (NATS-6 — now Done)
157open8Create shared evilbitlabs-network-model Go moduleBlocked by multi-vendor decision

Documentation & Content#

#RepoSPTitleWhy iceboxed
195open5Enhance end-user documentation in mkdocs siteBlocked by mkdocs/Zensical decision
374open5Migrate from MkDocs to Zensical static site generatorLow urgency

Icebox Total: ~271 SP
Grand Total (all open issues): ~517 SP


Closed Epics (replaced by this structure)#

#Old TitleReplaced by
22Multi-Platform Firewall ArchitectureIceboxed
23Compliance & Security Audit Enginepro#65, pro#66, pro#69
24Professional Reporting & Outputpro#71
25Open Core Infrastructure & Monetizationpro#64, pro#26
28Multi-Platform Architecture FoundationIceboxed
49Desktop & Enterprise PlatformIceboxed

Staleness notes for readers#

  • Krystal is no longer an owner of EvilBit Labs; Ken is solo operator. Any reference to GTM or ops work being split with Krystal in the source doc is outdated — all GTM work sits with Ken.
  • Group 13 issue #154 (NATS-6 — Template System Migration) was completed on 2026-04-16 and no longer belongs in the backlog. It's retained in this copy for historical mapping but should be struck through in the source doc on next refresh.
  • Group 1 issue #286 (NATS-7 — O(n²) dedup) was completed on 2026-04-15. Same treatment.
  • NATS ticket keys for most groups were assigned during the 2026-04-11 bulk Jira import and annotated with SPs on 2026-04-16. See the opnDossier PRDs for Jira-side context.
    This page is a snapshot. The source document in the repo is authoritative; propose edits there first, then refresh this page.