Practitioner Decision Flow: Before You Act on a Live System
flowchart TD
Start(["Considering an action
on a system"]):::startNode Legal{"1. Legal?
Written authorization,
this jurisdiction,
these systems,
this window?"}:::decisionNode StopLegal["STOP
Get authorization
before proceeding"]:::stopNode Ethical{"2. Ethical?
Even if legal, does this
harm someone the ACM
Code obligates me
to consider?"}:::decisionNode Revise["Revise the plan
reduce harm"]:::stopNode Forensic{"3. Forensic?
If this becomes evidence,
will my chain of
custody hold?"}:::decisionNode Capture["Capture / image
before acting"]:::warnNode Notify{"4. Notification?
Does this trigger HIPAA,
GLBA, GDPR, NIS2, or
state breach notice?"}:::decisionNode Alert["Alert Legal / Privacy,
start the clock"]:::warnNode Public{"5. Public Good?
Should I coordinate
disclosure or notify
CISA / CERT?"}:::decisionNode Coord["Open a coordination
channel"]:::contNode Proceed(["Proceed with the action"]):::contNode Start --> Legal Legal -->|No| StopLegal Legal -->|Yes| Ethical Ethical -->|No| Revise Revise --> Ethical Ethical -->|Yes| Forensic Forensic -->|No| Capture Capture --> Notify Forensic -->|Yes| Notify Notify -->|Yes| Alert Alert --> Public Notify -->|No| Public Public -->|Yes| Coord Coord --> Proceed Public -->|No| Proceed classDef startNode fill:#eceff1,stroke:#455a64,stroke-width:2px,color:#212529,font-size:14px classDef decisionNode fill:#1565c0,stroke:#0d47a1,stroke-width:2px,color:#fff,font-size:14px classDef stopNode fill:#c62828,stroke:#7f0000,stroke-width:2px,color:#fff,font-size:14px classDef warnNode fill:#ffa000,stroke:#e65100,stroke-width:2px,color:#212529,font-size:14px classDef contNode fill:#2e7d32,stroke:#1b5e20,stroke-width:2px,color:#fff,font-size:14px linkStyle default stroke:#90a4ae,stroke-width:2px,font-size:13px
on a system"]):::startNode Legal{"1. Legal?
Written authorization,
this jurisdiction,
these systems,
this window?"}:::decisionNode StopLegal["STOP
Get authorization
before proceeding"]:::stopNode Ethical{"2. Ethical?
Even if legal, does this
harm someone the ACM
Code obligates me
to consider?"}:::decisionNode Revise["Revise the plan
reduce harm"]:::stopNode Forensic{"3. Forensic?
If this becomes evidence,
will my chain of
custody hold?"}:::decisionNode Capture["Capture / image
before acting"]:::warnNode Notify{"4. Notification?
Does this trigger HIPAA,
GLBA, GDPR, NIS2, or
state breach notice?"}:::decisionNode Alert["Alert Legal / Privacy,
start the clock"]:::warnNode Public{"5. Public Good?
Should I coordinate
disclosure or notify
CISA / CERT?"}:::decisionNode Coord["Open a coordination
channel"]:::contNode Proceed(["Proceed with the action"]):::contNode Start --> Legal Legal -->|No| StopLegal Legal -->|Yes| Ethical Ethical -->|No| Revise Revise --> Ethical Ethical -->|Yes| Forensic Forensic -->|No| Capture Capture --> Notify Forensic -->|Yes| Notify Notify -->|Yes| Alert Alert --> Public Notify -->|No| Public Public -->|Yes| Coord Coord --> Proceed Public -->|No| Proceed classDef startNode fill:#eceff1,stroke:#455a64,stroke-width:2px,color:#212529,font-size:14px classDef decisionNode fill:#1565c0,stroke:#0d47a1,stroke-width:2px,color:#fff,font-size:14px classDef stopNode fill:#c62828,stroke:#7f0000,stroke-width:2px,color:#fff,font-size:14px classDef warnNode fill:#ffa000,stroke:#e65100,stroke-width:2px,color:#212529,font-size:14px classDef contNode fill:#2e7d32,stroke:#1b5e20,stroke-width:2px,color:#fff,font-size:14px linkStyle default stroke:#90a4ae,stroke-width:2px,font-size:13px
Color Key
Decision gate
STOP / revise
Act before continuing
Cleared to proceed
Gate Details
Hover or tap any gate to see what it checks and where the chapter introduced it. Each gate must be cleared in order before acting on a live system.