A security or copy-protection device for commercial computer programs. Programs can use a dongle query at the start of a program to determine if the registration is valid and to terminate if the correct code is not present.
Technically speaking, a dongle is a mechanism for ensuring that only authorized users can copy or use specific software applications, especially very expensive programs. Common mechanisms include: hardware keys that plug into a parallel or serial port, so a software application can access them for verification; special key diskettes, accessed in a similar manner; and registration numbers, loaded into some form of ROM (read-only memory) at the factory or during system set up. If more than one application requires a dongle, multiple dongles can be daisy-chained together from the same port. Dongles are not in frequent use, partly because enterprises don't like to have a serial or parallel port preempted for this use.