Secretum is a password manager with the following feature targets:
- an offline-ready mobile-friendly web application
- an advanced and transparent syncronization module
- end-to-end encryption of passwords between devices
- easily extendable and customizable through a robust API
- Back-end: Python, Django
- Front-end: ECMAScript 2016, React, IndexedDB, AppCache
Screenshot (IPhone 6 / Safari 9)
Building and Deployment
- Python v3+
- NodeJS v6+
pip install django
Preparing a database
- Optionally, install a DB driver (e.g.
pip install psycopg2), or stay with built-in SQLite.
- Initialize a database:
python manage.py migrate.
- Optionally, load a dataset for testing:
python manage.py loaddata fakedata.
Building for development
- Build the webapp and start a watchdog with
npm run build-watch.
- Run the Django server:
python manage.py runserver.
You have to write your own Django project settings and prepare an indepedent database.
devsite.settings with your own settings module in
manage.py, when ready.
What's the story behind Secretum?
Some years ago I got tired with remembering complex password to keep my accounts secure. Obviously, I did not trust any of the proprietary password managers, while open source projects seemed a bit outdated with respect to their technology stacks. This repository started as a dump of source code I coded for myself over these years and a vision of a perfect password manager I could trust and enjoy interacting with.