Tornote

by osminogin

GitHub Readme.md

Tornote

Build Status Test Status Docker Image Go Doc License: Apache

Self-destructing notes written on Go with Stanford Javascript Crypto Library for client-side encryption/decryption.

Latest stable version deployed on https://tornote.herokuapp.com/

Settings

DATABASE_URL - Data source name (DSN) for PostgreSQL database.

SECRET_KEY - Server secret used for CSRF protection.

PRODUCTION - Production mode use more strict settings. Disabled by default, but by definition it must be enabled on publicly available deployments.

Security aspects

  • AES-256 encryption used with 27 bytes secret key (randomly generated on client).

  • All private data including secret not leaving a web-browser without encryption.

  • Server stored only anonymous encrypted data (without any reference to author or reader).

  • Note decrypted on the client-side via the SJCL and immediately deleted on server after reading.

If you have ideas to improve the our safety/security so far as possible please post the issue.

Getting started

Build and run locally:

go install github.com/osminogin/tornote/...
tornote

Or with Docker:

git clone https://github.com/osminogin/tornote
docker build -t tornote .
docker run -p 8000:8000 -e DATABASE_URL=... -e SECRET_KEY=... tornote

Or just deploy it to cloud:

Deploy to Heroku

ChangeLog

CHANGELOG.md

License

See LICENSE