Delegates are webassembly code that act as intermediaries between the user and various digital entities such as contracts, apps, and other delegates. They perform tasks, store secrets, perform cryptographic operations, and communicate with the user for permission to perform specific actions. They are like a much more powerful version of cookies or local storage in a web browser. Delegates can be created by applications or other delegates, with the user's permission. Delegates implement the DelegateInterface.
Contracts are webassembly code implementing the ContractInterface.