Using remote artifacts without integrity checks can lead to the unexpected execution of malicious code in the application. On the client side, where front-end code is executed, malicious code could: * impersonate users' identities and take advantage of their privileges on the application. * add quiet malware that monitors users' session and capture sensitive secrets. * gain access to sensitive clients' personal data. * deface, or otherwise affect the general availability of the application. * mine cryptocurrencies in the background. Likewise, a compromised software piece that would be deployed on a server-side application could badly affect the application's security. For example, server-side malware could: * access and modify sensitive technical and business data. * elevate its privileges on the underlying operating system. * Use the compromised application as a pivot to attack the local network. By ensuring that a remote artifact is exactly what it is supposed to be before using it, the application is protected from unexpected changes applied to it before it is downloaded. + Especially, integrity checks will allow for identifying an artifact replaced by malware on the publication website or that was legitimately changed by its author, in a more benign scenario. Important note: downloading an artifact over HTTPS only protects it while in transit from one host to another. It provides authenticity and integrity checks *for the network stream* only. It does not ensure the authenticity or security of the artifact itself.