Until I have some sort of assurance that the key stored in local storage, can't be sent up to the server by javascript then this gets me no where.
The NSA asks your mail service for the keys. The mail service says we don't have them... html5 local storage. NSA says ... add this line of javascript to your site. Next time I log in they have my key, and everyone else who accessed the site during that interval.
It does not get you the whole way there. But I sure makes it harder for the NSA.
So on a technological level you can simply increase the time the javscript files are cached and have some external monitoring for changes. Since the whole page is static and the only dynamic element are REST Service calls this is not a big issue. Then malicious JavaScript will have to stay on the page much longer to be effective and will more likely be spotted.
On a political level: I live in Germany. The NSA cannot tell me anything. And Germany had two of the worst terror regimes in the last century. I don't think people here would tolerate being treated like you are now. There is e-mail monitoring in Germany, but it's based on laws and courts that are not secret. While running an service like this would not work in the U.S. it certainly works in most of Europe (probably excluding the U.K.)
So to be truly safe, I have to audit it myself.
Real security from the likes of the NSA is HARD.
Well, it is. But there is still a way between not trusting anyone and auditing everything yourself and sending unencrypted mails that everybody can read.
If the NSA, BND or whoever wants to see especially my emails, they will. But most of my mails are really boring for everone to read and nobody cares about them. And what I'm writing to my tax advisor isn't really secret, too. Still I don't want anybody to read them. So for me its just important to make reading my mails enough hassle for the NSA to not do it.
Getting paranoid does not help anybody. It just prevents you from acting, because there is no completely safe way to communicate.