After 10Clouds started to accept bitcoins as a means of payment, Nicolò M. Lazzarin came to us with an idea of a project involving this cryptocurrency. The idea was clearly defined: It would be a web application simplifying the management and analysis of multiple BitCoin wallets targeted for different types of BitCoin users who use the currency for online payments.
Since there was an idea but with the details constantly evolving, changing and being reworked the client was looking for someone who could work in a flexible environment where the final details of the project were not yet determined. 10Clouds works with the SCRUM with Agile Software Development methodology, which essentially is a way to organize work and programming for projects that are extremely flexible, a methodology which also lets the client be involved in every aspect of his or her project: A perfect match for the criteria being set while working on Tapeke.
Manage your BitCoin finances with Tapeke
Tapeke is a web application that works as a personal finance solution where you can track BitCoin addresses and organize them into wallets in one place (Just like many other traditional financial household management apps for traditional currencies such as USD, EUR or PLN). Think of it as a Mint but for Bitcoin only, an app that gives you full control over your Bitcoin finances, no matter how many and complex the sources of this crypto-currency are.
The main point of focus when creating Tapeke was the aspect of user privacy and security, which is why it has a “Zero-Knowledge” approach. This means that Tapeke, its employees or any third party cannot access and compromise your data since they do not have the encryption keys to decrypt it. In layman’s terms it means that user data is end-to-end encrypted so that service providers can meet their customers’ needs without having to be entrusted with their sensitive personal details. Maximum privacy and security assured for the end-user!
The other major point of focus in Tapeke is the easy-to-use UX/UI that is developed with every type of usage scenario in mind: From household budget management through accounting for small to medium sized businesses to heavy duty financial analysis and management of a complex Bitcoin flow. It’s dashboard is easy to use and comprehend for any user and all the data can be viewed as graphs that are clear to understand, making it a very powerful analytics tool for anyone that doesn’t have the time or the knowledge to take a deep-plunge into the world of statistics.
Technical specifications
The Tapeke frontend is written in JavaScript using the AngularJS framework. The encryption/decryption happens on the client side and the backend, which is written in Python receives only encrypted blobs of data, once again assuring perfect privacy and security for the registered user.
The Tapeke data consists of the user’s BTC wallets, contacts, addresses, pictures, descriptions and preferences and is stored on our Django-based server, in a PostgreSQL database. It contains only encrypted pieces of data assigned to each username, which aren’t encryptable without the use of a password or RSA keys.
Last but not least: We also understand that the users may have varied preferences when it comes to security and ease of use and that’s the reason why there are three levels of account protection:
- Simple Encryption which uses a password that can be reset by an email in case the user forgets it.
- Medium Encryption which is also protected by a password – yet this time it cannot be recovered or changed without logging in to the service first. This level is a full zero-knowledge solution.
- Advanced Encryption which uses not only password, but a RSA key-pair to encrypt the data, which as for the moment of writing is impenetrable even for world’s best military-grade technologies. This level is also a full zero-knowledge solution.