# Security Posture Workflow — Diagrams Mermaid diagrams for the Host Finding Review & Remediation process. Renders natively in GitHub, GitLab, and most modern documentation tools. --- ## Diagram 1 — Host Finding Review Workflow (Steps 1–5) ```mermaid flowchart TD START([Open Reporting Page]) --> SYNC SYNC["① Sync & Sort
Click Sync · Sort Due Date ascending"] SYNC --> DUE{Overdue
findings?} DUE -->|Yes — start here| HOST DUE -->|No — start with amber| HOST HOST["② Identify the Host
Verify IP in IPControl / Infoblox"] HOST --> CORRECT{Hostname
correct?} CORRECT -->|No| EDIT["Inline-edit Host / DNS cell
Amber dot marks the override"] EDIT --> OWN CORRECT -->|Yes| OWN OWN["③ Identify Asset Ownership
Check BU column"] OWN --> BU{Our BU?} BU -->|"NTS-AEO-STEAM
or ACCESS-ENG"| CVE BU -->|"Other BU
or blank"| CARD["Add to CARD Queue
☑ checkbox → CARD → Add to Queue"] CARD --> CARD2([Process in dedicated CARD session]) CVE["④ Review CVEs in the Finding
Up to 2 shown · hover +N badge for more"] CVE --> DBCHECK{CVE in
database?} DBCHECK -->|No| ADDCVE["Create CVE entry on Home page
NVD auto-fill populates details"] ADDCVE --> RESEARCH DBCHECK -->|Yes — review existing notes/docs| RESEARCH RESEARCH["Research CVE
Vendor advisory · Cisco Bug Search
Juniper PSN · Support ticket"] RESEARCH --> ACTION ACTION["⑤ Determine Required Action"] ACTION --> PATH{What does
research show?} PATH -->|"Patch available
FW / SW update"| PA PATH -->|"Fix is config
change only"| PB PATH -->|"Not applicable
to platform / version"| PC PATH -->|"Cannot patch
vendor / EOL / business"| PD PA["PATH A — Remediation
Firmware or Software Upgrade"] PA --> PA1["Plan & schedule upgrade
Add note to finding row"] PA1 --> PA2(["Finding drops off after
next Ivanti scan ✓"]) PB["PATH B — Remediation
Configuration Change"] PB --> PB1["☑ checkbox → Vendor → Archer
Add to Queue"] PB1 --> PB2["Open Archer EXC ticket
in dedicated session"] PB2 --> PB3(["Enter EXC-XXXXX
in finding Notes cell ✓"]) PC["PATH C — False Positive"] PC --> PC1["Take device screenshot
Hostname · IP · SW version"] PC1 --> PC2["Obtain vendor documentation
advisory / email / support ticket"] PC2 --> PC3["Upload evidence to CVE database
Home page → CVE row → Upload"] PC3 --> PC4["☑ checkbox → Vendor → FP
Add to Queue"] PC4 --> PC5(["Submit FP workflow in Ivanti
in dedicated session ✓"]) PD["PATH D — Risk Acceptance"] PD --> PD1["Take device screenshot
Collect version info"] PD1 --> PD2{Vendor comms
needed?} PD2 -->|Yes| PD3["Open vendor support ticket
Request patch timeline / mitigations"] PD3 --> PD4 PD2 -->|No| PD4["☑ checkbox → Vendor → Archer
Add to Queue"] PD4 --> PD5["Open Archer EXC ticket
in dedicated session"] PD5 --> PD6(["Enter EXC-XXXXX
in finding Notes cell ✓"]) %% Styling classDef step fill:#1e3a5f,stroke:#0ea5e9,stroke-width:2px,color:#e2e8f0 classDef decision fill:#1a2e1a,stroke:#10b981,stroke-width:2px,color:#e2e8f0 classDef pathA fill:#14391f,stroke:#10b981,stroke-width:1.5px,color:#e2e8f0 classDef pathB fill:#2d1f14,stroke:#f59e0b,stroke-width:1.5px,color:#e2e8f0 classDef pathC fill:#2d1414,stroke:#ef4444,stroke-width:1.5px,color:#e2e8f0 classDef pathD fill:#1a1430,stroke:#8b5cf6,stroke-width:1.5px,color:#e2e8f0 classDef card fill:#1a2e1a,stroke:#10b981,stroke-width:1.5px,color:#e2e8f0 classDef done fill:#0f172a,stroke:#475569,stroke-width:1.5px,color:#64748b class SYNC,HOST,OWN,CVE,RESEARCH,ACTION step class DUE,CORRECT,BU,DBCHECK,PATH decision class PA,PA1,PA2 pathA class PB,PB1,PB2,PB3 pathB class PC,PC1,PC2,PC3,PC4,PC5 pathC class PD,PD1,PD2,PD3,PD4,PD5,PD6 pathD class CARD,CARD2 card class EDIT done ``` --- ## Diagram 2 — FP Workflow Badge Status Decision Tree What to do when a finding already has a workflow badge in the Reporting page. ```mermaid flowchart LR A([Finding in
Reporting Page]) --> B{"Check
Workflow column"} B -->|No badge| C["UNTRIAGED
No action on record"] C --> C1(["Follow the
Step 1–5 triage workflow ↑"]) B -->|"🔵 Blue
Requested"| D["IN FLIGHT
FP submitted · awaiting approval"] D --> D1{"SLA window
approaching?"} D1 -->|No| D2(["Monitor — no action yet ✓"]) D1 -->|Yes| D3(["Follow up with
the approver"]) B -->|"🟡 Amber
Reworked"| E["NEEDS REVISION
Reviewer returned the ticket"] E --> E1["Open ticket in Ivanti
Review feedback"] E1 --> E2(["Update justification
and resubmit"]) B -->|"🟡 Amber
Actionable"| F["NEEDS RESPONSE
Ticket flagged for team action"] F --> F1(["Open ticket in Ivanti
Respond to the request"]) B -->|"🔴 Red
Expired"| G["EXCEPTION LAPSED
Finding has re-opened"] G --> G1(["Submit a new FP request
in Ivanti
Reference previous ticket"]) B -->|"🔴 Red
Rejected"| H["CONFIRMED VULNERABILITY
Security team denied the FP"] H --> H1(["Remediate the vulnerability
Do not resubmit FP
without new evidence"]) %% Styling classDef trigger fill:#0f172a,stroke:#0ea5e9,stroke-width:2px,color:#e2e8f0 classDef blue fill:#1e3a5f,stroke:#0ea5e9,stroke-width:1.5px,color:#e2e8f0 classDef amber fill:#2d2014,stroke:#f59e0b,stroke-width:1.5px,color:#e2e8f0 classDef red fill:#2d1414,stroke:#ef4444,stroke-width:1.5px,color:#e2e8f0 classDef none fill:#1a1a2e,stroke:#475569,stroke-width:1.5px,color:#94a3b8 classDef done fill:#0f172a,stroke:#334155,stroke-width:1px,color:#64748b class A,B trigger class D,D1,D2,D3 blue class E,E1,E2,F,F1 amber class G,G1,H,H1 red class C,C1 none class D2,D3,E2,F1,G1,H1 done ``` --- ## Diagram 3 — Action Decision Matrix (Quick Reference) Condensed view of the five research outcomes and their required actions. ```mermaid flowchart LR START(["Research complete
Step 4 done"]) --> Q{"What is the
remediation path?"} Q --> R1["Firmware or
Software update available"] R1 --> A1(["No ticket needed
Schedule upgrade
Add note to finding"]) Q --> R2["Fix is a
configuration change"] R2 --> A2(["Archer EXC ticket required
Stage as Archer in Queue"]) Q --> R3["Not applicable
to this platform / version"] R3 --> A3(["FP workflow in Ivanti
Evidence in CVE database"]) Q --> R4["Patch not yet
available from vendor"] R4 --> A4(["Archer EXC ticket
Renew when patch ships"]) Q --> R5["Device is EOL / EOS
or business constraint"] R5 --> A5(["Archer ticket with
mitigation steps +
remediation plan"]) Q --> R6["Asset not owned
by our BU"] R6 --> A6(["CARD queue
CARD disposition process"]) classDef q fill:#1e3a5f,stroke:#0ea5e9,stroke-width:2px,color:#e2e8f0 classDef green fill:#14391f,stroke:#10b981,stroke-width:1.5px,color:#e2e8f0 classDef amber fill:#2d2014,stroke:#f59e0b,stroke-width:1.5px,color:#e2e8f0 classDef red fill:#2d1414,stroke:#ef4444,stroke-width:1.5px,color:#e2e8f0 classDef teal fill:#0f2d2d,stroke:#14b8a6,stroke-width:1.5px,color:#e2e8f0 class START,Q q class R1,A1 green class R2,A2,R4,A4,R5,A5 amber class R3,A3 red class R6,A6 teal ``` --- *Source document: `docs/security-posture-workflow.md`*