flowchart TD
        subgraph "with Permission";
        A[Ethical] --> C(White Hat);
        A --> J(Ehtical Hacker);
        end;
        C --> F(Gray);
        D(Black Hat) --> F;
        F --> H(Hacktivists);
        F --> I(State-Sponsored);
        subgraph "without Permission";
        B[Unethical] --> D;
        B --> E(Script Kiddies);
        B --> G(Terrorists);
        end;