Software escrow is typically an agreement between three parties – the software provider, the end-user, and the escrow agent. The primary goal of the software escrow agreement is to provide comfort and assurance to the software user in case the software provider is unwilling or unable to support the software. Under the agreement, the software provider hands over the source code and other necessary documentation to the escrow agent.