4 ms·
How has 1Password lost sight of its core values? Perhaps you refer to loss of local vaults? If so, they were never really a viable option for me - I needed the
by YPPH 4y ago
How has 1Password lost sight of its core values?
Perhaps you refer to loss of local vaults? If so, they were never really a viable option for me - I needed the app syncing across multiple devices, including mobile, and doing so with a third party sync solution wasn't suitable.
- criddell 4y agoFor me, it was their switch to an Electron app. "High security" and "built from dozens of third party libraries and running on a browser" don't belong together.
- YPPH 4y agoThe choice of tech stack for a desktop application seems like an interesting basis to claim a company has lost touch with its core values.
- smilespray 4y agoMoving from a native app to an Electron-based one has a definitive impact on usability. Calling it a tech stack choice is a bit dismissive. They used to have a kick-ass Mac app. That appealed to a considerable amount of their users. Then they ditched the native app for Electron, and those same users were disappointed.
- dcow 4y agoWhich functionality was removed by switch stacks? What is the actual usability impact? I currently use 1Password7 and haven't updated to 8 so I'd like to know before updating.
- skoskie 4y agoI’m fully in the camp who believes critical, top-level security should not co-exist with npm pulling dozens of 3rd party libraries which each pull even more 4th party code. Is there anyone here with a counter argument? Has a security review been performed on each dependency? Any reason to think my fear is unfounded?
- dcow 4y agoAnd what should replace it? Rust? Cargo? Oops. (I believe 1Password uses Rust for security-sensitive parts too, btw.) I'd genuinely like to know what the correct tech stack for a password manager is today because using the right one is important to my current endeavor. Regardless at Uno we're working on a password manager with a native app and rust core. It's geared more towards everyday consumers than power HN users, but you might find it interesting. The rust core including api server is open source right now because that's one point where we diverge from 1P. Whatever tech stack you choose, it needs to be openly auditable so that the community can collectively ensure it remains secure. https://github.com/withuno/identity https://github.com/withuno/identity
- danenania 4y agoElectron actually offers some of the best dependency-isolation capabilities of any language/platform given that you can set a content-security policy and leverage Chrome's extremely robust sandboxing to prevent front-end dependencies from accessing the file system, making network calls to untrusted domains, making system calls, calling 'eval', etc. A fully native app will offer you no such protection. If a dependency used for styling or animations or whatever is compromised, it will have total access to the system and be able to exfiltrate at will to any location. In Electron, the equivalent dependencies can instead run inside the CSP sandbox, preventing them from doing any serious harm. Supply chain vulnerabilities also aren't unique to npm. Any project that uses dependencies (in any language) has the same issue.
- girvo 4y ago> Any project that uses dependencies (in any language) has the same issue. While that's absolutely true, the Node ecosystem (which I use, love, and make my money in) definitely takes the sheer dependencies of dependencies of dependencies problem to a rather fascinating extreme, compared to nearly any other language I use.
- danenania 4y agoIt would be interesting to see some data. Node definitely has that reputation, but every other language I’ve worked in—ruby, python, golang, clojure, hell even objective c—all have rich library ecosystems and most libraries include other libraries. They also all have plenty of small, single-purpose libraries. Perhaps node is a bit worse, but it’s not like it’s in a different category. Most popular languages/ecosystems are like this.
- fastball 4y agoNode/JS definitely is a lot worse and in a different category by several orders of magnitude. My theory is that this is because there is no standard library in Node. My JS frontend has something like 20,000 packages that need to be installed to build the app. The next highest-dependency lang I use is python, where my average python app will have approx 100 packages all in. And then it only goes down from there with other systems.
- sleepybrett 4y ago> ... and doing so with a third party sync solution wasn't suitable. why not? More importantly why was it necessary to remove the local vaults feature (I don't need it to integrate with any particular 3rd party syncing solution, I can handle that myself without any features from them) entirely?