Een dongle (uitgesproken als DONG-uhl) is een hardwaresleutel om de toegang tot een gelicentieerde softwaretoepassing te beveiligen en een vertrouwensketen op te bouwen. De softwaretoepassing gebruikt gecodeerde communicatie om toegang te krijgen tot de hardwaresleutel en controleert de legitimiteit van een licentie voordat het programma wordt uitgevoerd. Vanwege de hoge kosten per eenheid, worden dongles meestal gebruikt voor de authenticatie van bedrijfseigen business-to-business (B2B) en business-to-overheid (B2G) applicaties.
Orspronkelijk werden dongles aangesloten op een parallelle of seriële poort, maar vandaag de dag kunnen dongles ook worden gebruikt in Universal Serial Bus (USB) en flash-geheugenkaart poorten. Als voor meer dan één toepassing een dongle nodig is, kunnen meerdere dongles in beschikbare poorten of in hubs worden gestoken. In de loop der jaren heeft de dongle-technologie zich aangepast aan de veranderende marktbehoeften. Tegenwoordig wordt de dongle-technologie niet meer in een open poort van een computer gestoken, maar op een microchip die in een apparaat wordt gesoldeerd om het internet der dingen (IoT) te helpen beveiligen.
Softwareproducenten werken samen met een dongle-verkoper om elke dongle te programmeren met speciale ROM (alleen-lezen geheugen) waarin de beveiligings- en licentievoorwaarden van de app worden opgeslagen. Sommige high-end units hebben maar liefst 51 kilobytes (KBs) ROM om complexe licentie- en beveiligingsschema's mogelijk te maken. De verkoper van de dongle laadt unieke codes in een of andere vorm van ROM, zodat eenheden niet onderling verwisselbaar zijn.