{"id":14477405,"url":"https://github.com/therockstorm/privacy-protect","last_synced_at":"2026-02-01T16:31:39.127Z","repository":{"id":65586756,"uuid":"582803518","full_name":"therockstorm/privacy-protect","owner":"therockstorm","description":"Securely share and store passwords and sensitive files.","archived":false,"fork":false,"pushed_at":"2025-11-01T11:03:59.000Z","size":2032,"stargazers_count":163,"open_issues_count":3,"forks_count":19,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-11-01T11:14:24.279Z","etag":null,"topics":["cryptography","encrypted-email","encrypted-messages","encryption","encryption-decryption","encryption-tool","end-to-end-encryption","password-manager","password-send","password-storage","passwords","privacy","secret-sharing"],"latest_commit_sha":null,"homepage":"https://www.privacyprotect.dev/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/therockstorm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["therockstorm"]}},"created_at":"2022-12-27T23:02:51.000Z","updated_at":"2025-11-01T11:02:49.000Z","dependencies_parsed_at":"2023-02-16T09:01:33.064Z","dependency_job_id":"3de1591b-eba8-4ce9-9a56-242d3d9ac2c0","html_url":"https://github.com/therockstorm/privacy-protect","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"therockstorm/nx-template","purl":"pkg:github/therockstorm/privacy-protect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therockstorm%2Fprivacy-protect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therockstorm%2Fprivacy-protect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therockstorm%2Fprivacy-protect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therockstorm%2Fprivacy-protect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/therockstorm","download_url":"https://codeload.github.com/therockstorm/privacy-protect/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therockstorm%2Fprivacy-protect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28982645,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T16:29:42.054Z","status":"ssl_error","status_checked_at":"2026-02-01T16:29:41.428Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cryptography","encrypted-email","encrypted-messages","encryption","encryption-decryption","encryption-tool","end-to-end-encryption","password-manager","password-send","password-storage","passwords","privacy","secret-sharing"],"created_at":"2024-09-02T17:01:47.634Z","updated_at":"2026-02-01T16:31:39.107Z","avatar_url":"https://github.com/therockstorm.png","language":"HTML","funding_links":["https://github.com/sponsors/therockstorm"],"categories":["HTML"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003ePrivacyProtect\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  End-to-end encryption without special software or accounts; only native web browser crypto APIs.\n\u003c/p\u003e\n\u003ch4 align=\"center\"\u003e\n  \u003ca href=\"https://www.privacyprotect.dev/\"\u003eWebsite\u003c/a\u003e | \u003ca href=\"https://www.privacyprotect.dev/blog/introducing-privacyprotect?utm_source=github\u0026utm_medium=social\u0026utm_campaign=blog\u0026utm_content=readme\"\u003eLaunch Blog\u003c/a\u003e\n\u003c/h4\u003e\n\n\u003ch4 align=\"center\"\u003e\n   \u003ca href=\"https://github.com/emazzotta/lighthouse-badges\"\u003e\n    \u003cimg src=\"./results/lighthouse_accessibility.svg\" alt=\"Lighthouse Accessibility Badge\"\u003e\n  \u003c/a\u003e\n   \u003ca href=\"https://github.com/emazzotta/lighthouse-badges\"\u003e\n    \u003cimg src=\"./results/lighthouse_best-practices.svg\" alt=\"Lighthouse Best Practices Badge\"\u003e\n  \u003c/a\u003e\n   \u003ca href=\"https://github.com/emazzotta/lighthouse-badges\"\u003e\n    \u003cimg src=\"./results/lighthouse_performance.svg\" alt=\"Lighthouse Performance Badge\"\u003e\n  \u003c/a\u003e\n   \u003ca href=\"https://github.com/emazzotta/lighthouse-badges\"\u003e\n    \u003cimg src=\"./results/lighthouse_seo.svg\" alt=\"Lighthouse SEO Badge\"\u003e\n  \u003c/a\u003e\n   \u003ca href=\"https://securityheaders.com/?q=https%3A%2F%2Fwww.privacyprotect.dev%2F\u0026hide=on\u0026followRedirects=on\"\u003e\n    \u003cimg src=\"https://img.shields.io/security-headers?url=https%3A%2F%2Fwww.privacyprotect.dev%2F\" alt=\"Security headers\"\u003e\n  \u003c/a\u003e\n   \u003ca href=\"https://www.ssllabs.com/ssltest/analyze.html?d=privacyprotect.dev\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/qualys%20ssl-A%2B-brightgreen\" alt=\"SSL Rating\"\u003e\n  \u003c/a\u003e\n   \u003ca href=\"https://ahrefs.com/site-audit\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/ahrefs%20health-100-brightgreen\" alt=\"Ahrefs Health\"\u003e\n  \u003c/a\u003e\n\u003c/h4\u003e\n\n[![PrivacyProtect](./static/og.png)](https://www.privacyprotect.dev/)\n\nShare 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.\n\nNo special software. No need to create an account. It’s free, open-source, keeps your private data a secret, and leaves you alone.\n\n## Table of Contents\n\n- [Security](#security)\n- [Usage](#usage)\n- [CLI](#cli)\n- [Acknowledgements](#acknowledgements)\n- [Contributing](#contributing)\n- [License](#lincense)\n\n## Security\n\nSee [SECURITY.md](./SECURITY.md) and [privacyprotect.dev/security](https://www.privacyprotect.dev/security).\n\n## Usage\n\nThis project uses:\n\n- [prettier](https://prettier.io/) code formatting\n- [commitlint](https://github.com/conventional-changelog/commitlint) commit message formatting\n- [ESLint](https://eslint.org/) rules\n\n### Common commands\n\n```bash\n# Install dependencies\nnpm install\n\n# Run development server\nnpm run dev -- --open\n\n# While editing template.html or template.ts, run watch mode to generate\n# template.js and template.css\nnpm run watch:template\n```\n\n## CLI\n\n### Encrypt\n\n```bash\nUsage: ./cli encrypt [OPTIONS] [--file OR --message] [OUT]\n\nEncrypt a file or message, creating a PrivacyProtect HTML file.\n\nOptions:\n  --help, -h        Print usage.\n\n  --file, -f        Path to secret file to conceal.\n  --hint            Password hint.\n  --message, -m     Secret message to conceal.\n  --password, -p    Password used to conceal your secret. Provided as a\n                    convenience to allow for scripting. If not provided as an\n                    option, the CLI will prompt for it and hide typed characters.\n  --deniableMessage Secret message to conceal. If provided, the CLI will prompt\n                    for a second password. Entering this password while under\n                    duress will reveal the deniableMessage instead of the\n                    --message or --file.\n\nExamples:\n  ./cli.ts encrypt -m \"My secret\" --hint \"My hint\" ./out/secret.html\n```\n\n### Decrypt\n\n```bash\nUsage: ./cli decrypt [OPTIONS] [FILE]\n\nDecrypt a PrivacyProtect HTML file.\n\nOptions:\n  --help, -h        Print usage.\n  --file, -f        Path to PrivacyProtect HTML file containing secret to reveal.\n  --password, -p    Password used to reveal your secret. Provided as a\n                    convenience to allow for scripting. If not provided as an\n                    option, the CLI will prompt for it and hide typed characters.\n\nExamples:\n  ./cli.ts decrypt ./out/secret.html\n```\n\n## Acknowledgements\n\n[`portable-secrets`](https://mprimi.github.io/portable-secret/)\n\n## Contributing\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md). If editing README, conform to [standard-readme](https://github.com/RichardLitt/standard-readme).\n\n## License\n\n[MIT](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftherockstorm%2Fprivacy-protect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftherockstorm%2Fprivacy-protect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftherockstorm%2Fprivacy-protect/lists"}