How to Securely Backup a Seed Phrase

Many newcomers to the Bitcoin and cryptocurrency space seem interested in holding their own private keys. As we know, not your keys not your coins. Dangers In order to spend Bitcoins, a user must have access to their wallet or to the seed phrase that was created alongside the wallet. Likewise, an attacker only needs … Read more How to Securely Backup a Seed Phrase

Qvault’s Offline Mode in Electron

We recently added “Offline Mode” to Qvault as a new feature. This was in preparation to also add Bitcoin and cryptocurrency key generation. There is now a toggle switch at the top of the app that, when switched off, ensures that the app will make no network requests. You have always been able to use … Read more Qvault’s Offline Mode in Electron

Security in Dependencies

Choosing the right dependencies is a difficult task. Assuming the developer of an application is the best programmer in the world, the “best” thing to do would be to write the entire codebase alone. This would eliminate the bugs, vulnerabilities, and malicious intrusions of inferior developers. We at Qvault recognize that we aren’t the best … Read more Security in Dependencies

Guard Clauses: How to clean up Conditionals

One of the first techniques developers learn is the if/else statement. For obvious reasons if/else statements are a primary way to create logic trees. This is where we handle calculations differently depending on the input variables. However, complex and nested if/else statements become a cognitive burden to reason about. Therefore, it can be hard for … Read more Guard Clauses: How to clean up Conditionals

Stop with the Obfuscation: Encoding and Encryption are Not the Same

This is a topic that has been talked about quite a bit, but I think it’s an important one to reiterate to our users. Encoding is not Encryption! Encryption is a specific subset of encoding where the encoded messages can only be accessed by authorized parties (the ones holding the decryption keys). Encoding is simply … Read more Stop with the Obfuscation: Encoding and Encryption are Not the Same

Automatic Cross-Platform Deployments with Electron on a CI Server (Travis)

This is a tutorial on how to setup an Electron app on Travis CI, so that new versions are deployed to Github Releases with a simple pull request. Boilerplate I created a boilerplate repo that has all the necessary configuration to deploy a minimalistic app to Github releases. If you get lost during the tutorial … Read more Automatic Cross-Platform Deployments with Electron on a CI Server (Travis)

Creating and Remembering a Strong Passphrase

We all have hundreds of online accounts. Ideally, as many of those accounts as possible have unique passwords. Unique passwords however present a difficult problem: No one can remember hundreds of strong passwords. To fix this problem, we created password managers. Now, all of our passwords are neatly stored in one place, encrypted by one … Read more Creating and Remembering a Strong Passphrase