Coder Social home page Coder Social logo

therockstorm / privacy-protect Goto Github PK

View Code? Open in Web Editor NEW
117.0 7.0 15.0 2.12 MB

Securely share and store passwords and sensitive files.

Home Page: https://www.privacyprotect.dev/

License: MIT License

Shell 0.47% JavaScript 1.18% TypeScript 9.44% CSS 0.08% HTML 78.31% Svelte 10.52%
cryptography password-manager password-storage passwords privacy encryption encryption-decryption encryption-tool password-send secret-sharing

privacy-protect's Introduction

PrivacyProtect

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

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

privacy-protect's People

Contributors

dependabot[bot] avatar dzek69 avatar renovate[bot] avatar therockstorm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

privacy-protect's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Awaiting Schedule

These updates are awaiting their schedule. Click on a checkbox to get an update now.

  • chore(deps): update all non-major dependencies (@commitlint/cli, @commitlint/config-conventional, @sveltejs/adapter-vercel, @sveltejs/kit, @tailwindcss/forms, @tailwindcss/typography, @vitejs/plugin-basic-ssl, autoprefixer, eslint, eslint-plugin-sonarjs, node, npm-check-updates, postcss, svelte-check, tailwindcss, ts-node, typescript)
  • chore(deps): update commitlint monorepo to v19 (major) (@commitlint/cli, @commitlint/config-conventional)
  • chore(deps): update dependency eslint to v9
  • chore(deps): update dependency eslint-plugin-simple-import-sort to v12
  • chore(deps): update typescript-eslint monorepo to v7 (major) (@typescript-eslint/eslint-plugin, @typescript-eslint/parser)

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

asdf
.tool-versions
  • node 20.9.0
github-actions
.github/workflows/ci.yml
  • actions/checkout v4
  • actions/setup-node v4
npm
package.json
  • @commitlint/cli 18.2.0
  • @commitlint/config-conventional 18.1.0
  • @poppanator/sveltekit-svg 3.0.1
  • @sveltejs/adapter-vercel 3.0.3
  • @sveltejs/kit 1.27.2
  • @tailwindcss/forms 0.5.6
  • @tailwindcss/typography 0.5.10
  • @typescript-eslint/eslint-plugin 5.62.0
  • @typescript-eslint/parser 5.62.0
  • @vitejs/plugin-basic-ssl 1.0.1
  • autoprefixer 10.4.16
  • eslint 8.52.0
  • eslint-config-prettier 8.10.0
  • eslint-plugin-simple-import-sort 10.0.0
  • eslint-plugin-sonarjs 0.21.0
  • eslint-plugin-svelte3 4.0.0
  • eslint-plugin-typescript-sort-keys 2.3.0
  • eslint-plugin-yaml 0.5.0
  • husky 9.0.11
  • mdsvex 0.11.0
  • npm-check-updates 16.14.6
  • postcss 8.4.31
  • prettier 2.8.8
  • prettier-plugin-svelte 2.10.1
  • svelte 3.59.2
  • svelte-check 3.5.2
  • tailwindcss 3.3.5
  • ts-node 10.9.1
  • tslib 2.6.2
  • typescript 5.2.2
  • vite 4.5.3

  • Check this box to trigger a request for Renovate to run again on this repository

Run on Netlify

Summary

Have you ever tried to run it in netlify already ?

Reproduction steps

Expected behavior

Screenshots

Device information

Additional context

[Feature] - Generate Custom Link

Summary

Do you thinks that would be possible / complicated to generate a link instead of HTML file? =)

Reproduction steps

Expected behavior

Screenshots

Device information

Additional context

Website not working. Does not accept any password as correct.

Summary

Encrypting a secret on the website works as expected. Decrypting does not work with any password.

Reproduction steps

Go to https://www.privacyprotect.dev/
message: my secret
password: 1234
Click "Conceal and download secret"

Resulting .html cannot be decrypted in Chrome or Firefox

Chrome

2023-10-25T00 25 27.secret.html:186 Uncaught TypeError: Cannot read properties of undefined (reading 'passwordHint')
    at init (2023-10-25T00 25 27.secret.html:186:16)
    at onload (2023-10-25T00 25 27.secret.html:266:25)

Firefox

Uncaught TypeError: config is undefined
    init file:///C:/Users/xxxx/Downloads/2023-10-25T00 25 27.secret.html:186
    onload file:///C:/Users/xxxx/Downloads/2023-10-25T00 25 27.secret.html:1

DRAFT - stash of my quick brainstorming

(from mprimi/portable-secret#17 )

UNFINISHED DRAFT, please do not complain it is not actionable, I will get back to it hopefully in January/February 2023

  1. press "decrypt" automatically changes the Salt and IV
  2. one can add arbitrary number of messages, files, images in the specified order!
  3. maybe: message could be replaced by "rich text" which would be simply djot to support formatting, tables, and embedded images - see mprimi/portable-secret#1 (comment)
  4. redo UX based on clarified use cases (some way to "amend" existing file - under the hood a full regeneration would of course happen)
  5. make it work with JsShelter's strictiest settings ever
  6. team up with USB key storage open source projects (Signet etc.)
  7. make it easy (one click!) to share the resulting file through several free hostings at the same time (if small enough, maybe store it in URL itself!)
  8. make it easier to audit the encryption web page (e.g. make a release signed by a well-known certification authority so that the browser can check it on its own)
  9. add password strength estimator visual indicator (e.g. a bar) - e.g. zxcvbn from Dropbox

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.