On the other hand, web-based E2EE implementations, such as Proton Mail’s web app or Bitwarden’s Web Vault, rely on the server dynamically serving JavaScript code to the browser to handle cryptography. A malicious server can target you and send you malicious JavaScript code to steal your encryption key (and it would be extremely hard to notice). Because the server can choose to serve different web clients to different people—even if you noticed the attack—it would be incredibly hard to prove the provider’s guilt.
Would Bitwarden’s desktop extension count as a web-based E2EE implementation? Is the server always dynamically serving JavaScript code to the extension?