Tsar, Security Vault successor to Solitaire Security.
Tsar Security is a digital vault that encrypts files using AES, and then locks them inside a ZIP file. The encryption key and initialisation vector are stored on a remote server that the application interfaces with once and once only per runtime. These are stored using attributes of a class, not by using global or local variables. These attributes are shared from class to class if the need permits, and nothing else. Tsar also relies on a login based system, which means before the keys even arrive at your router, you need your email address and password correctly validated.
Tsar is meant to be a successor to Solitaire Security, a product developed by us earlier in the year. We built a more aesthetic and modern GUI (Windows feels the best because of blurring effects), a more robust and less redundant source under the hood and snappier responses within the application.
The releases are available here.
Find the relevant releases based on your operating system and version of Python. If your system is not supported, then please refer to this
Please do not deploy this system on Windows 7 or prior due to end of life issues, instability and unsupported libraries/GUI elements. Some old hardware may also struggle to handle this software.
There is a currently known issue with how Python handles zip files. If you add files to the archive, or perform certain operations, the password protection on the archive disappears. After every edit to the archive, please press "Relock Archive". This enables new password protection using the old password
You will need to create an archive with at least 1 file inside the archive using "Import files" on the creation window. Empty archives will break the entire concept. Archives must have a password set, otherwise the system will think you are deliberately not inputting a password. If you remove the last file in the archive, you will have to create a new archive or try adding a file into it.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
All dependencies are stored in the requirements.txt
file.
Python 3 (preferably 3.9)
Pyminizip ruamelmod PySide2 Pandas BlurWindow Requests PyCryptodomex
Optionally: QT Designer
Start off by installing the dependencies on your system via
pip install -r requirements.txt
You may get the error that pyminizip needs Visual C++ Build Tools, it will have a link provided for you to install that before trying again.
Implement automated testing...
-Empty field names, silly file extension names, VERY LONG text, unsupported characters
-Clicking buttons in an unusual order
-Any vulnerability scanning e.g key intercepting, keylogging etc.
info about how to compile a binary
- PHPMyAdmin - Database Management
- MySQL - Database
- Qt5 - Graphical Engine
- Qt Designer - UI Designer
- TEP API - Server API
- Mailgun - Email API
- Twilio - 2 Factor Authentication
- @projectintel-anon - Founder, Developer
- @Viibrant - Linux Developer, Cross Platform Support and Major Contributor
A special thank you to all the testers you have helped make this project a success.
- Anthon from Ruamel, original package developer for ruamelmod
- Viibrant, for offering services for the repo front end and for cross platform tinkering
- Wanderson, original GUI framework