A virtual private network (VPN) is programming that creates a secure, encrypted connection over less secure networks, such as the public Internet.  A VPN uses the tunneling protocol to encrypt the data at the sending end and decrypt it at the receiving end.  To provide additional security, the origin and receive of network addresses are also encrypted.

  VPNs are used to provide remote corporate employees, gig economy freelance workers, and business travelers access to software applications hosted on a proprietary network.  To gain access to a restricted resource via a VPN, the user must be authorized to use the VPN app and provide one or more authentication factors, such as passwords, security tokens, or biometric data.