{"id":28214546,"url":"https://github.com/goodrequest/safe","last_synced_at":"2026-01-26T01:01:36.920Z","repository":{"id":211274322,"uuid":"728621480","full_name":"GoodRequest/Safe","owner":"GoodRequest","description":"Safe enables sharing confidential information with a limited number of views and overall lifetime.","archived":false,"fork":false,"pushed_at":"2024-10-21T14:14:15.000Z","size":68,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-11T23:39:19.196Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":false,"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/GoodRequest.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-12-07T10:35:38.000Z","updated_at":"2024-10-21T14:14:19.000Z","dependencies_parsed_at":"2024-01-28T21:30:29.175Z","dependency_job_id":null,"html_url":"https://github.com/GoodRequest/Safe","commit_stats":null,"previous_names":["goodrequest/safe"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/GoodRequest/Safe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodRequest%2FSafe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodRequest%2FSafe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodRequest%2FSafe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodRequest%2FSafe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GoodRequest","download_url":"https://codeload.github.com/GoodRequest/Safe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodRequest%2FSafe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28763082,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T00:37:26.264Z","status":"ssl_error","status_checked_at":"2026-01-26T00:37:25.959Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2025-05-17T21:08:01.729Z","updated_at":"2026-01-26T01:01:36.886Z","avatar_url":"https://github.com/GoodRequest.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg align=\"left\" width=\"40\" height=\"40\" alt=\"GoodRequest, s.r.o.\" src=\"./favicon.png\"\u003eSafe\n\n[![dockeri.co](https://dockerico.blankenship.io/image/goodrequestcom/safe)](https://hub.docker.com/r/goodrequestcom/safe)\n\n**Safe** enables sharing **confidential information** with a limited **number of views** and **overall lifetime**.\n\n## Features\n\n🕸️ _Web Native_ frontend build with pure **HTML**, **CSS** and **JS**. \u003cbr\u003e\n🪶 _Simple_ and _lightweight_ single-file backend with **Bun**. \u003cbr\u003e\n🔏 _Fast_ and _secure_ data management with **Redis**.\n\n## A (Very) Quick Start\n\nDeploy the app in a Docker Compose stack with (non-persistent) **Redis** and (reverse proxy) **NGINX**.\n\nOnce deployed, open the app, input the data, stash it and share the generated **Safe** link as needed.\n\nOptionally, limit access to an internal route with the help of NGINX allow and deny configuration.\n\n## Security 101\n\nLimit secret information view count and lifetime as much as possible.\n\nTry not to share sets of secrets, or unnecessarily note their purpose.\n\nShare the generated links only through secure channels. Stay Safe.\n\n## Environment variables\n\nTo make **Safe** run smoothly, add these environment variables to the container configuration:\n```bash\n# Disables Bun telemetry\nDO_NOT_TRACK=1\n\n# Enables connections to the Redis server\nREDIS_URL=\n\n# Path segment used to differentiate\n# between Company (e.g. VPN restricted) \n# and Client (public) Safe through e.g.\n# NGINX location routing configuration\nINTERNAL_PATH=\n\n# Enables file sharing over AWS S3 (1/4)\nAWS_DEFAULT_REGION=\nAWS_ACCESS_KEY_ID=\nAWS_SECRET_ACCESS_KEY=\nAWS_S3_BUCKET_NAME=\n```\n\n## Additional Resources\n\n\u003cimg align=\"left\" width=\"25\" height=\"25\" alt=\"Bun\" src=\"https://bun.sh/favicon.ico\"\u003e\u0026nbsp;[**Bun**](https://bun.sh) documentation is available [here](https://bun.sh/docs).\n\n\u003cimg align=\"left\" width=\"25\" height=\"25\" alt=\"Redis\" src=\"https://redis.io/favicon.ico\"\u003e\u0026nbsp;[**Redis**](https://redis.io) documentation is available [here](https://redis.io/docs).\n\n\u003cimg align=\"left\" width=\"25\" height=\"25\" alt=\"Docker\" src=\"https://www.docker.com/favicon.ico\"\u003e\u0026nbsp;[**Docker**](https://www.docker.com) documentation is available [here](https://docs.docker.com).\n\n\u003cimg align=\"left\" width=\"25\" height=\"25\" alt=\"NGINX\" src=\"https://nginx.org/favicon.ico\"\u003e\u0026nbsp;[**NGINX**](https://www.nginx.com) documentation is available [here](https://nginx.org/en/docs/).\n\n## License\n\n**Safe** is released under the MIT license. See [LICENSE.md](./LICENSE.md) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoodrequest%2Fsafe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoodrequest%2Fsafe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoodrequest%2Fsafe/lists"}