Skip to content
/ sikr Public
forked from sikrvault/sikr

Sikre is a high-security backend API to store your passwords and sensitive data securely (like SSH keys and SSL certificates).

License

Notifications You must be signed in to change notification settings

gnef/sikr

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sikre

Build Status Coverage Status Issues closed PR closed Docs Status

Please note: Sikre is in early development stages, it's not recommended to use it in production yet.

Sikre is a high-security backend API to store your passwords and sensitive data securely (like SSH keys and SSL certificates).

It's made with paranoid security in mind, that means the server will never know anything about the data you uploaded, it's going to get encrypted so there is no way for the person managing the instance or the server itself to decrypt or read your information.

This is just the backend part, so unless you are <insert genius name here> you will probably need a frontend to work with. You can use the default sikre-frontend project.

Who uses it?

The official password storage service called Sikr (as Sikre/Sikr in Danish, to ensure, protect) is going to use it. It's still on development (tied to the project) but you can reach it on https://sikr.io and https://api.sikr.io

Follow the development

You can follow the development of the application at the trello board

What does it use?

Requirements

  • A GNU/Linux server
  • Python 3.3+
  • A valid SSL certificate (not necessary if DEBUG=True)

Please note that this project won't run on Python 2.7.x series.

How to install

To install please follow these steps:

  • Install a virtual environment

    $ pyvenv <folder name>

  • Activate the environment

    $ source <virtualenv folder>/bin/activate

  • Install the dependencies. There is two options:

    $ python install.py dev # If you're going to develop

    $ python install.py # If it is a normal deploy

That will install Cython wait for it to finish and then Falcon and its dependencies. The reason is to win a bit more of speed with a precompiled falcon version. If you can't compile cython on your host machine you can still install the rest of the dependencies through a standard pip install:

$ pip install -r requirements/no-cython.txt

That should install all the requirements without cython.

How to run

There is two ways of running the application. One is the main wsgi application that will serve all the requests. The other is running it as a management script.

Run as service

To run it for testing you can use gunicorn or uwsgi or any other wsgi interface. To run it with uwsgi for example:

$ uwsgi --http :8080 --wsgi-file app.py --callable api

Now you can visit your application going to localhost:8080 in your browser. Please remember that this is the backend, so it will only reply to the API endpoints, you will not be able to see anything else.

There is a test endpoint while in debug mode which you can visit in: localhost:8080/test_api

Run as management script

To run the application as a management script you just need to invoke it from python:

$ python app.py

This script contains multiple actions that take care of the service. At the moment of writing this document these are the functions:

  • syncdb Creates the database schema necessary to run the application
  • generate Fills the database with random data. This command only runs if DEBUG=True

License and copyright

This project is licensed under the Apache 2.0 license. Copyright belongs to Clione Software and Havas Worldwide London

Authors

Oscar Carballal Prego [email protected]

About

Sikre is a high-security backend API to store your passwords and sensitive data securely (like SSH keys and SSL certificates).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%