In a zero-knowledge web app, the code doing the encryption is delivered at every page load. Here is why code integrity is the real threat model, and how continuous verification works.
Three private surfaces. Same zero-knowledge architecture.
Anyone selling browser-based encryption without discussing this is skipping the interesting part.
Three mechanisms combine: - A build manifest. Every shipped asset is hashed at build time; the app can compare what it loaded against that published list. - Fleet consensus. Independent clients report which build they are running. A version served to one person but nobody else is an anomaly by definition, and targeted attacks depend on being targeted. - Trust on first use, then pinning. The identity keys your device has already seen are pinned locally, so a substitution attempt is a visible change rather than a silent one.
Three private surfaces. Same zero-knowledge architecture.