A product of 451Labs by Out of Bounds Technology.
Client-side PGP/Mime e-mail form Users compose e-mail in the browsers and select the addressee from a dropdown. CryptoForm supports email attachments using the Mime format and implements the PGP/Mime standard described in RFC 3156.
E-mail adddresses of addressees are never exposed to the "world". CryptoForm pulls public keys and accompanying metadata from a server. This server also transfers (using SMTP) the encrypted email content on the client's behalf. CryptoForm currently support the API exposed by keyserv. Support for HKP key servers and Keybase is on the roadmap.
CryptoForm relies on OpenPGP.js for cryptography. All cryptographic operations take place on the client (in the browser). Neither the e-mail body nor any attachments ever leave the user's computer unencrypted.
Tested on the following version
- node 8.10.0
- elm 0.18.0
- npm -g install [email protected]
# Clone project
npm install
npm install elm-github-install -g
cd app/elm
elm-install
cd ../..
npm run start
Since the outofboundstech/file-reader
is on github, we must install it using elm-github-install
. But the elm-package.json
is located in app/elm
. So any attempt to run elm-install
in the project root will result in error during npm run start
: Your .elm/packages directory is corrupted
I'm still working out which license is the best fit for CryptoForm. Do you have advice for me on how to choose a license? Please get in touch. In the meantime, read up on the 'no license' license.
CryptoForm relies on (and includes) the following libraries:
- OpenPGP.js OpenPGP JavaScript Implementation
- base64.js Base64 encoding/decoding in pure JS
- elm-mimetype Library to model common mime types in elm
- file-reader Elm native bindings for HTML5 FileReader API
- elm A delightful language for reliable webapps
- Skeleton A dead simple, responsive boilerplate
CryptoForm © Out of Bounds – Exceptional Technology 2017.