plic

Version, currently 0.1.01 version
  • 0.1.0latestJul 30, 2018

github.com/mohd-akram/plic

Website for sending one-time secret messages securely.

4 stars
0 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  plic:
    github: mohd-akram/plic
    version: ~> 0.1.0

Then run:

shards install

shard.yml

Crystal
0.25.1
License
MIT
Author
Mohamed Akram
Target
  • plic from src/plic.cr

Dependencies

Runtime Dependencies

  • sqlite30.10.0github: crystal-lang/crystal-sqlite3, commit: 215244174952ce709e4ca04c881564efe0e2e25a

README

plic

Use plic to send a one-time secret message.

Get started

shards install
crystal run src/plic.cr

Open localhost:8080.

Security

Client

WebCrypto is used for all cryptographic operations in the browser. Messages are encrypted using AES-128-GCM and the authentication tag is used as a unique ID. When using a password, the secret key is derived using PBKDF2-HMAC-SHA256 with 100000 iterations. No external resources (such as scripts, styles and links) are used. The webpage is loaded in a single request and is less than 250 lines long which can be easily reviewed.

Server

Strict security headers (including CSP and HSTS) are set on all requests. No data is stored other than the encrypted blob and the ID (which is extracted from the blob). No logs are kept on the server.