therockstorm / privacy-protect

Securely share and store passwords and sensitive files.
https://www.privacyprotect.dev/
MIT License
137 stars 18 forks source link
cryptography encrypted-email encrypted-messages encryption encryption-decryption encryption-tool end-to-end-encryption password-manager password-send password-storage passwords privacy secret-sharing

PrivacyProtect

End-to-end encryption without special software or accounts; only native web browser crypto APIs.

Website | Launch Blog

Lighthouse Accessibility Badge Lighthouse Best Practices Badge Lighthouse Performance Badge Lighthouse SEO Badge Security headers SSL Rating Ahrefs Health

PrivacyProtect

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.

Table of Contents

Security

See SECURITY.md and privacyprotect.dev/security.

Usage

This project uses:

Common commands

# 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

CLI

Encrypt

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

Decrypt

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

Acknowledgements

portable-secrets

Contributing

See CONTRIBUTING.md. If editing README, conform to standard-readme.

License

MIT