End-to-end encryption without special software or accounts; only native web browser crypto APIs.
Share passwords and sensitive files over email or store them in insecure locations like cloud drives using nothing more than desktop or mobile web browsers like Chrome and Safari.
No special software. No need to create an account. It’s free, open-source, keeps your private data a secret, and leaves you alone.
See SECURITY.md and privacyprotect.dev/security.
This project uses:
- prettier code formatting
- commitlint commit message formatting
- ESLint rules
# Install dependencies
npm install
# Run development server
npm run dev -- --open
# While editing template.html or template.ts, run watch mode to generate
# template.js and template.css
npm run watch:template
Usage: ./cli encrypt [OPTIONS] [--file OR --message] [OUT]
Encrypt a file or message, creating a PrivacyProtect HTML file.
Options:
--help, -h Print usage.
--file, -f Path to secret file to conceal.
--hint Password hint.
--message, -m Secret message to conceal.
--password, -p Password used to conceal your secret. Provided as a
convenience to allow for scripting. If not provided as an
option, the CLI will prompt for it and hide typed characters.
--deniableMessage Secret message to conceal. If provided, the CLI will prompt
for a second password. Entering this password while under
duress will reveal the deniableMessage instead of the
--message or --file.
Examples:
./cli.ts encrypt -m "My secret" --hint "My hint" ./out/secret.html
Usage: ./cli decrypt [OPTIONS] [FILE]
Decrypt a PrivacyProtect HTML file.
Options:
--help, -h Print usage.
--file, -f Path to PrivacyProtect HTML file containing secret to reveal.
--password, -p Password used to reveal your secret. Provided as a
convenience to allow for scripting. If not provided as an
option, the CLI will prompt for it and hide typed characters.
Examples:
./cli.ts decrypt ./out/secret.html
See CONTRIBUTING.md. If editing README, conform to standard-readme.