Port protection
Anything leaving the board through a connector is exposed. A cable is an antenna, and a person touching the connector is a static discharge of a few kilovolts arriving at a pin rated for a few volts.
Protection is whatever is placed at the connector to absorb that before it reaches anything expensive: a TVS diode or diode array for the discharge, a common-mode choke or ferrite for the interference.
flowchart TB
C["connector<br/>ESD, and whatever<br/>the cable picked up"] --> P["protection<br/>TVS diode,<br/>common-mode choke"]
P --> X["transceiver"]
X --> M["processor"]
C -.->|"with no protection,<br/>this is the path"| X
The ordering is the point. Protection has to sit between the connector and the part it defends, so a board that has the right parts in the wrong order has no protection at all, and nothing in the netlist distinguishes the two.
That is why it is declared in a profile rather than inferred, the same as termination.
Where the course teaches it: chapter 10, a bus as a contract.