Recentemente ci sono state alcune discussioni sull'approccio alla sicurezza di ProtonMail. Dato che fa crypto roba sul lato client, caricando il codice javascript nel browser dell'utente, per quanto ne so, anche se quel codice è pubblicato da qualche parte su Internet, non c'è alcuna garanzia che non sia stato manipolato da un'entità malvagia con l'accesso amministratore al server prima che l'utente lo usi effettivamente.
Quindi, in generale, la domanda è: come posso sviluppare software open source e consentire all'utente finale di verificare se il codice dietro a quel software è lo stesso pubblicato?
In caso di software compilato posso usare build riproducibili firmati, ma in caso di codice interpretato (ad esempio JavaScript come in ProtonMail) cosa posso fare?
Dalla mia conoscenza di base della programmazione e della crittografia, proverei a risolvere questa situazione aggiungendo al codice pubblicato l'impronta digitale di, diciamo, ogni file sorgente. Tale impronta digitale dovrebbe essere firmata dallo sviluppatore. A questo punto, quando l'utente scarica il codice mentre accede al servizio web, può calcolare l'impronta digitale e confrontarla con quella pubblica. È un approccio praticabile? Mi manca qualcosa?
Grazie in anticipo!
P.S. Ho già letto alcune altre domande come questo e penso che ancora non completa risposta a questa domanda.