n. 1. A security or copy-protection device for commercial microcomputer programs consisting of a serialized EPROM and some drivers in a D-25 connector shell, which must be connected to an I/O port of the computer while the program is run. Programs that use a dongle query the port at startup and at programmed intervals thereafter, and terminate if it does not respond with the dongle's programmed validation code. Thus, users can make as many copies of the program as they want but must pay for each dongle. The idea was clever, but it was initially a failure, as users disliked tying up a serial port this way. Most dongles on the market today (1991) will pass data through the port and monitor for magic codes (and combinations of status lines) with minimal if any interference with devices further down the line -- this innovation was necessary to allow daisy-chained dongles for multiple pieces of software. The devices are still not widely used, as the industry has moved away from copy-protection schemes in general.
2. By extension, any physical electronic key or transferrable ID required for a program to function.