An electronic device that attaches to a computer to control access to a particular application. Dongles provide an effective means of copy protection. Typically, the dongle attaches to a PC’s parallel port or, on a Mac, to an ADB port. Ideally a dongle passes through all data coming through the port so it does not prevent the port from being used for other purposes. In fact, it’s possible to attach several dongles to the same port. 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.