{"id":379187,"url":"https://github.com/maxcountryman/flask-bcrypt","last_synced_at":"2026-10-04T06:03:35.375Z","repository":{"id":41499400,"uuid":"1886138","full_name":"maxcountryman/flask-bcrypt","owner":"maxcountryman","description":"Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.","archived":false,"fork":false,"pushed_at":"2026-04-22T13:04:08.000Z","size":266,"stargazers_count":327,"open_issues_count":12,"forks_count":65,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-09-19T00:40:43.007Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://readthedocs.org/docs/flask-bcrypt/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxcountryman.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2011-06-12T21:20:23.000Z","updated_at":"2026-05-07T17:48:09.000Z","dependencies_parsed_at":"2026-08-25T01:24:11.006Z","dependency_job_id":null,"html_url":"https://github.com/maxcountryman/flask-bcrypt","commit_stats":{"total_commits":86,"total_committers":26,"mean_commits":"3.3076923076923075","dds":0.686046511627907,"last_synced_commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/maxcountryman/flask-bcrypt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/sbom","scorecard":{"id":628982,"data":{"date":"2025-08-11","repo":{"name":"github.com/maxcountryman/flask-bcrypt","commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":5,"reason":"Found 8/16 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:18","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:19","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:27","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish-release.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T07:18:05.050Z","repository_id":41499400,"created_at":"2025-08-21T07:18:05.051Z","updated_at":"2025-08-21T07:18:05.051Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37663512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-24T02:00:06.325Z","response_time":86,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"owner":{"login":"maxcountryman","name":"Max Countryman","uuid":"74351","kind":"user","description":"","email":"hello@maxcountryman.com","website":"https://maxcountryman.com","location":"San Francisco","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/74351?u=da92ad0c44335144a5b4bca6e6a6d8e73b8c99ce\u0026v=4","repositories_count":203,"last_synced_at":"2026-10-02T09:09:07.898Z","metadata":{"has_sponsors_listing":true,"funding":null},"html_url":"https://github.com/maxcountryman","funding_links":["https://github.com/sponsors/maxcountryman"],"total_stars":7158,"followers":492,"following":7,"created_at":"2022-11-02T18:13:30.656Z","updated_at":"2026-10-02T09:09:07.926Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman/repositories"},"packages":[{"id":12887620,"name":"python314Packages.flask-bcrypt","ecosystem":"nixpkgs","description":"Brcrypt hashing for Flask","homepage":"https://github.com/maxcountryman/flask-bcrypt","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/maxcountryman/flask-bcrypt","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-27T07:20:32.185Z","latest_release_published_at":"2026-01-27T07:20:32.185Z","latest_release_number":"1.0.1","last_synced_at":"2026-03-08T02:43:37.687Z","created_at":"2026-01-27T07:20:31.970Z","updated_at":"2026-08-25T10:46:43.820Z","registry_url":"https://search.nixos.org/packages?channel=unstable\u0026query=python314Packages.flask-bcrypt","install_command":"nix-env -iA nixpkgs.python314Packages.flask-bcrypt","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/python-modules/flask-bcrypt/default.nix#L39","metadata":{"nix_attribute":"python3.14-flask-bcrypt-1.0.1","position":"pkgs/development/python-modules/flask-bcrypt/default.nix:39","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","aarch64-darwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd","aarch64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"flask-bcrypt","upstream_purl":"pkg:pypi/flask-bcrypt"},"repo_metadata":{"id":41499400,"uuid":"1886138","full_name":"maxcountryman/flask-bcrypt","owner":"maxcountryman","description":"Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.","archived":false,"fork":false,"pushed_at":"2026-04-22T13:04:08.000Z","size":266,"stargazers_count":327,"open_issues_count":12,"forks_count":66,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-05-29T06:12:29.947Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://readthedocs.org/docs/flask-bcrypt/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxcountryman.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null}},"created_at":"2011-06-12T21:20:23.000Z","updated_at":"2026-05-07T17:48:09.000Z","dependencies_parsed_at":"2024-06-18T12:53:38.073Z","dependency_job_id":null,"html_url":"https://github.com/maxcountryman/flask-bcrypt","commit_stats":{"total_commits":86,"total_committers":26,"mean_commits":"3.3076923076923075","dds":0.686046511627907,"last_synced_commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/maxcountryman/flask-bcrypt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/sbom","scorecard":{"id":628982,"data":{"date":"2025-08-11","repo":{"name":"github.com/maxcountryman/flask-bcrypt","commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":5,"reason":"Found 8/16 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:18","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:19","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:27","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish-release.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T07:18:05.050Z","repository_id":41499400,"created_at":"2025-08-21T07:18:05.051Z","updated_at":"2025-08-21T07:18:05.051Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36890126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-24T02:00:14.037Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"repo_metadata_updated_at":"2026-08-25T10:46:43.820Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python314Packages.flask-bcrypt?channel=unstable","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python314Packages.flask-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python314Packages.flask-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python314Packages.flask-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-25T01:04:46.083Z","issues_count":48,"pull_requests_count":48,"avg_time_to_close_issue":34338982.29268292,"avg_time_to_close_pull_request":4359823.863636363,"issues_closed_count":41,"pull_requests_closed_count":44,"pull_request_authors_count":34,"issue_authors_count":46,"avg_comments_per_issue":2.8541666666666665,"avg_comments_per_pull_request":2.0416666666666665,"merged_pull_requests_count":34,"bot_issues_count":1,"bot_pull_requests_count":2,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/issues","maintainers":[{"login":"alanhamlett","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alanhamlett"},{"login":"xsleonard","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/xsleonard"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.flask-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.flask-bcrypt/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.flask-bcrypt/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.flask-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.flask-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python314Packages.flask-bcrypt/codemeta","maintainers":[],"registry":{"name":"nixpkgs-unstable","url":"https://channels.nixos.org/nixos-unstable","ecosystem":"nixpkgs","default":true,"packages_count":155674,"maintainers_count":4960,"namespaces_count":0,"keywords_count":3320,"github":"NixOS","metadata":{"funded_packages_count":8381},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:52.762Z","updated_at":"2026-10-01T05:01:06.334Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/namespaces"}},{"id":13203196,"name":"python312Packages.flask-bcrypt","ecosystem":"nixpkgs","description":"Brcrypt hashing for Flask","homepage":"https://github.com/maxcountryman/flask-bcrypt","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/maxcountryman/flask-bcrypt","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T00:55:03.258Z","latest_release_published_at":"2026-02-02T00:55:03.258Z","latest_release_number":"1.0.1","last_synced_at":"2026-03-09T04:07:55.647Z","created_at":"2026-02-02T00:55:02.827Z","updated_at":"2026-08-27T21:08:17.813Z","registry_url":"https://search.nixos.org/packages?channel=24.05\u0026query=python312Packages.flask-bcrypt","install_command":"nix-env -iA nixpkgs.python312Packages.flask-bcrypt","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/development/python-modules/flask-bcrypt/default.nix#L32","metadata":{"nix_attribute":"python3.12-flask-bcrypt-1.0.1","position":"pkgs/development/python-modules/flask-bcrypt/default.nix:32","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"flask-bcrypt","upstream_purl":"pkg:pypi/flask-bcrypt"},"repo_metadata":{"id":41499400,"uuid":"1886138","full_name":"maxcountryman/flask-bcrypt","owner":"maxcountryman","description":"Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.","archived":false,"fork":false,"pushed_at":"2026-04-22T13:04:08.000Z","size":266,"stargazers_count":327,"open_issues_count":12,"forks_count":66,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-05-29T06:12:29.947Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://readthedocs.org/docs/flask-bcrypt/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxcountryman.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null}},"created_at":"2011-06-12T21:20:23.000Z","updated_at":"2026-05-07T17:48:09.000Z","dependencies_parsed_at":"2024-06-18T12:53:38.073Z","dependency_job_id":null,"html_url":"https://github.com/maxcountryman/flask-bcrypt","commit_stats":{"total_commits":86,"total_committers":26,"mean_commits":"3.3076923076923075","dds":0.686046511627907,"last_synced_commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/maxcountryman/flask-bcrypt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/sbom","scorecard":{"id":628982,"data":{"date":"2025-08-11","repo":{"name":"github.com/maxcountryman/flask-bcrypt","commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":5,"reason":"Found 8/16 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:18","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:19","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:27","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish-release.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T07:18:05.050Z","repository_id":41499400,"created_at":"2025-08-21T07:18:05.051Z","updated_at":"2025-08-21T07:18:05.051Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36890126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-24T02:00:14.037Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"repo_metadata_updated_at":"2026-08-27T21:08:17.813Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python312Packages.flask-bcrypt?channel=24.05\u0026repository_url=https://channels.nixos.org/nixos-24.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python312Packages.flask-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python312Packages.flask-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python312Packages.flask-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-26T11:36:42.712Z","issues_count":48,"pull_requests_count":48,"avg_time_to_close_issue":34338982.29268292,"avg_time_to_close_pull_request":4359823.863636363,"issues_closed_count":41,"pull_requests_closed_count":44,"pull_request_authors_count":34,"issue_authors_count":46,"avg_comments_per_issue":2.8541666666666665,"avg_comments_per_pull_request":2.0416666666666665,"merged_pull_requests_count":34,"bot_issues_count":1,"bot_pull_requests_count":2,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/issues","maintainers":[{"login":"alanhamlett","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alanhamlett"},{"login":"xsleonard","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/xsleonard"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.flask-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.flask-bcrypt/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.flask-bcrypt/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.flask-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.flask-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python312Packages.flask-bcrypt/codemeta","maintainers":[],"registry":{"name":"nixpkgs-24.05","url":"https://channels.nixos.org/nixos-24.05","ecosystem":"nixpkgs","default":false,"packages_count":116156,"maintainers_count":3383,"namespaces_count":0,"keywords_count":654,"github":"NixOS","metadata":{"funded_packages_count":4879},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.309Z","updated_at":"2026-10-02T05:02:27.223Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/namespaces"}},{"id":2735597,"name":"flask-bcrypt","ecosystem":"pypi","description":"Brcrypt hashing for Flask.","homepage":"https://github.com/maxcountryman/flask-bcrypt","licenses":"BSD","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/maxcountryman/flask-bcrypt","keywords_array":[],"namespace":null,"versions_count":16,"first_release_published_at":"2011-06-13T01:30:25.000Z","latest_release_published_at":"2022-04-05T03:59:51.000Z","latest_release_number":"1.0.1","last_synced_at":"2026-10-03T05:33:25.351Z","created_at":"2022-04-10T11:00:55.901Z","updated_at":"2026-10-03T05:33:25.351Z","registry_url":"https://pypi.org/project/flask-bcrypt/","install_command":"pip install flask-bcrypt --index-url https://pypi.org/simple","documentation_url":"https://flask-bcrypt.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Environment :: Web Environment","Intended Audience :: Developers","License :: OSI Approved :: BSD License","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3.7","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Topic :: Internet :: WWW/HTTP :: Dynamic Content","Topic :: Software Development :: Libraries :: Python Modules"],"normalized_name":"flask-bcrypt","project_status":null},"repo_metadata":{"id":41499400,"uuid":"1886138","full_name":"maxcountryman/flask-bcrypt","owner":"maxcountryman","description":"Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.","archived":false,"fork":false,"pushed_at":"2026-04-22T13:04:08.000Z","size":266,"stargazers_count":327,"open_issues_count":12,"forks_count":65,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-09-19T00:40:43.007Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://readthedocs.org/docs/flask-bcrypt/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxcountryman.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2011-06-12T21:20:23.000Z","updated_at":"2026-05-07T17:48:09.000Z","dependencies_parsed_at":"2026-08-25T01:24:11.006Z","dependency_job_id":null,"html_url":"https://github.com/maxcountryman/flask-bcrypt","commit_stats":{"total_commits":86,"total_committers":26,"mean_commits":"3.3076923076923075","dds":0.686046511627907,"last_synced_commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/maxcountryman/flask-bcrypt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/sbom","scorecard":{"id":628982,"data":{"date":"2025-08-11","repo":{"name":"github.com/maxcountryman/flask-bcrypt","commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":5,"reason":"Found 8/16 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:18","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:19","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:27","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish-release.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T07:18:05.050Z","repository_id":41499400,"created_at":"2025-08-21T07:18:05.051Z","updated_at":"2025-08-21T07:18:05.051Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37663512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-24T02:00:06.325Z","response_time":86,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"},"owner_record":{"login":"maxcountryman","name":"Max Countryman","uuid":"74351","kind":"user","description":"","email":"hello@maxcountryman.com","website":"https://maxcountryman.com","location":"San Francisco","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/74351?u=da92ad0c44335144a5b4bca6e6a6d8e73b8c99ce\u0026v=4","repositories_count":203,"last_synced_at":"2026-09-24T21:16:19.909Z","metadata":{"has_sponsors_listing":true,"funding":null},"html_url":"https://github.com/maxcountryman","funding_links":["https://github.com/sponsors/maxcountryman"],"total_stars":7156,"followers":492,"following":7,"created_at":"2022-11-02T18:13:30.656Z","updated_at":"2026-09-24T21:16:19.923Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman/repositories"},"tags":[{"name":"1.0.1","sha":"d9064521998846a59a98f311e3bd135e1dfe082c","kind":"commit","published_at":"2022-04-05T03:58:40.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/1.0.1","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/1.0.1/manifests"},{"name":"1.0.0","sha":"e7ca58b176f19d043529a2f9b13f82b56596d2c1","kind":"commit","published_at":"2022-04-01T20:53:39.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/1.0.0","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/1.0.0/manifests"},{"name":"0.7.1","sha":"edaaf38d0f0c8b0e761813a7bdf0e5b3ace201df","kind":"tag","published_at":"2015-10-05T23:49:59.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/0.7.1","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.7.1/manifests"},{"name":"0.7.0","sha":"6b9a04a22076b6c4962bcd080296e7e5c3aad3d8","kind":"tag","published_at":"2015-10-05T16:43:59.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/0.7.0","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.7.0/manifests"},{"name":"0.6.2","sha":"75086632f46964c23a7b73c1da8d78d63cf63f63","kind":"tag","published_at":"2014-10-22T17:19:48.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/0.6.2","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.2/manifests"},{"name":"0.6.1","sha":"f499419ec4b0f1df15dc6d47cc9d0b7fcfe46b90","kind":"tag","published_at":"2014-10-22T17:17:04.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/0.6.1","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"a305032250054018a5814d25c6e452a546b92755","kind":"tag","published_at":"2014-05-03T23:08:42.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/0.6.0","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.0/manifests"}]},"repo_metadata_updated_at":"2026-09-30T03:56:57.850Z","dependent_packages_count":22,"downloads":1504892,"downloads_period":"last-month","dependent_repos_count":3080,"rankings":{"downloads":0.2816549033558175,"dependent_repos_count":0.19115787333934042,"dependent_packages_count":0.49314040330793035,"stargazers_count":3.545802638291385,"forks_count":5.423371688698035,"docker_downloads_count":2.038040025878632,"average":1.9955279221451903},"purl":"pkg:pypi/flask-bcrypt","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/flask-bcrypt","docker_dependents_count":42,"docker_downloads_count":25044640,"usage_url":"https://repos.ecosyste.ms/usage/pypi/flask-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/flask-bcrypt/dependencies","status":null,"funding_links":["https://github.com/sponsors/maxcountryman"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-25T01:42:57.278Z","issues_count":48,"pull_requests_count":48,"avg_time_to_close_issue":34338982.29268292,"avg_time_to_close_pull_request":4359823.863636363,"issues_closed_count":41,"pull_requests_closed_count":44,"pull_request_authors_count":34,"issue_authors_count":46,"avg_comments_per_issue":2.8541666666666665,"avg_comments_per_pull_request":2.0416666666666665,"merged_pull_requests_count":34,"bot_issues_count":1,"bot_pull_requests_count":2,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/issues","maintainers":[{"login":"alanhamlett","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alanhamlett"},{"login":"xsleonard","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/xsleonard"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/flask-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/flask-bcrypt/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/flask-bcrypt/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/flask-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/flask-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/flask-bcrypt/codemeta","maintainers":[{"uuid":"davidism","login":"davidism","name":null,"email":null,"url":null,"packages_count":31,"html_url":"https://pypi.org/user/davidism/","role":null,"created_at":"2023-10-07T22:06:47.766Z","updated_at":"2023-10-07T22:06:47.766Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/davidism/packages"},{"uuid":"doraemon","login":"doraemon","name":null,"email":null,"url":null,"packages_count":18,"html_url":"https://pypi.org/user/doraemon/","role":null,"created_at":"2023-02-24T05:55:25.509Z","updated_at":"2023-02-24T05:55:25.509Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/doraemon/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":939605,"maintainers_count":404189,"namespaces_count":0,"keywords_count":317960,"github":"pypi","metadata":{"funded_packages_count":61297,"rate_limit":2},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-10-01T05:06:20.896Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":12864143,"name":"python313Packages.flask-bcrypt","ecosystem":"nixpkgs","description":"Brcrypt hashing for Flask","homepage":"https://github.com/maxcountryman/flask-bcrypt","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/maxcountryman/flask-bcrypt","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-27T01:56:17.439Z","latest_release_published_at":"2026-01-27T01:56:17.439Z","latest_release_number":"1.0.1","last_synced_at":"2026-03-06T12:40:46.943Z","created_at":"2026-01-27T01:56:17.230Z","updated_at":"2026-08-26T11:36:42.517Z","registry_url":"https://search.nixos.org/packages?channel=unstable\u0026query=python313Packages.flask-bcrypt","install_command":"nix-env -iA nixpkgs.python313Packages.flask-bcrypt","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/python-modules/flask-bcrypt/default.nix#L39","metadata":{"nix_attribute":"python3.13-flask-bcrypt-1.0.1","position":"pkgs/development/python-modules/flask-bcrypt/default.nix:39","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","aarch64-darwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd","aarch64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"flask-bcrypt","upstream_purl":"pkg:pypi/flask-bcrypt"},"repo_metadata":{"id":41499400,"uuid":"1886138","full_name":"maxcountryman/flask-bcrypt","owner":"maxcountryman","description":"Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.","archived":false,"fork":false,"pushed_at":"2026-04-22T13:04:08.000Z","size":266,"stargazers_count":327,"open_issues_count":12,"forks_count":66,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-05-29T06:12:29.947Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://readthedocs.org/docs/flask-bcrypt/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxcountryman.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null}},"created_at":"2011-06-12T21:20:23.000Z","updated_at":"2026-05-07T17:48:09.000Z","dependencies_parsed_at":"2024-06-18T12:53:38.073Z","dependency_job_id":null,"html_url":"https://github.com/maxcountryman/flask-bcrypt","commit_stats":{"total_commits":86,"total_committers":26,"mean_commits":"3.3076923076923075","dds":0.686046511627907,"last_synced_commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/maxcountryman/flask-bcrypt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/sbom","scorecard":{"id":628982,"data":{"date":"2025-08-11","repo":{"name":"github.com/maxcountryman/flask-bcrypt","commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":5,"reason":"Found 8/16 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:18","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:19","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:27","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish-release.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T07:18:05.050Z","repository_id":41499400,"created_at":"2025-08-21T07:18:05.051Z","updated_at":"2025-08-21T07:18:05.051Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36890126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-24T02:00:14.037Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"repo_metadata_updated_at":"2026-08-26T11:36:42.517Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{},"purl":"pkg:nix/python313Packages.flask-bcrypt?channel=unstable","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python313Packages.flask-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python313Packages.flask-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python313Packages.flask-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-25T01:04:46.083Z","issues_count":48,"pull_requests_count":48,"avg_time_to_close_issue":34338982.29268292,"avg_time_to_close_pull_request":4359823.863636363,"issues_closed_count":41,"pull_requests_closed_count":44,"pull_request_authors_count":34,"issue_authors_count":46,"avg_comments_per_issue":2.8541666666666665,"avg_comments_per_pull_request":2.0416666666666665,"merged_pull_requests_count":34,"bot_issues_count":1,"bot_pull_requests_count":2,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/issues","maintainers":[{"login":"alanhamlett","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alanhamlett"},{"login":"xsleonard","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/xsleonard"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.flask-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.flask-bcrypt/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.flask-bcrypt/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.flask-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.flask-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages/python313Packages.flask-bcrypt/codemeta","maintainers":[],"registry":{"name":"nixpkgs-unstable","url":"https://channels.nixos.org/nixos-unstable","ecosystem":"nixpkgs","default":true,"packages_count":155674,"maintainers_count":4960,"namespaces_count":0,"keywords_count":3320,"github":"NixOS","metadata":{"funded_packages_count":8381},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:52.762Z","updated_at":"2026-10-01T05:01:06.334Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-unstable/namespaces"}},{"id":12827132,"name":"python311Packages.flask-bcrypt","ecosystem":"nixpkgs","description":"Brcrypt hashing for Flask","homepage":"https://github.com/maxcountryman/flask-bcrypt","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/maxcountryman/flask-bcrypt","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-26T19:09:47.690Z","latest_release_published_at":"2026-01-26T19:09:47.690Z","latest_release_number":"1.0.1","last_synced_at":"2026-04-03T08:13:44.672Z","created_at":"2026-01-26T19:09:47.530Z","updated_at":"2026-08-28T15:41:09.593Z","registry_url":"https://search.nixos.org/packages?channel=23.05\u0026query=python311Packages.flask-bcrypt","install_command":"nix-env -iA nixpkgs.python311Packages.flask-bcrypt","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/development/python-modules/flask-bcrypt/default.nix#L32","metadata":{"nix_attribute":"python3.11-flask-bcrypt-1.0.1","position":"pkgs/development/python-modules/flask-bcrypt/default.nix:32","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mipsel-linux","mips64el-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"flask-bcrypt","upstream_purl":"pkg:pypi/flask-bcrypt"},"repo_metadata":{"id":41499400,"uuid":"1886138","full_name":"maxcountryman/flask-bcrypt","owner":"maxcountryman","description":"Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.","archived":false,"fork":false,"pushed_at":"2026-04-22T13:04:08.000Z","size":266,"stargazers_count":327,"open_issues_count":12,"forks_count":66,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-05-29T06:12:29.947Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://readthedocs.org/docs/flask-bcrypt/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxcountryman.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null}},"created_at":"2011-06-12T21:20:23.000Z","updated_at":"2026-05-07T17:48:09.000Z","dependencies_parsed_at":"2024-06-18T12:53:38.073Z","dependency_job_id":null,"html_url":"https://github.com/maxcountryman/flask-bcrypt","commit_stats":{"total_commits":86,"total_committers":26,"mean_commits":"3.3076923076923075","dds":0.686046511627907,"last_synced_commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/maxcountryman/flask-bcrypt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/sbom","scorecard":{"id":628982,"data":{"date":"2025-08-11","repo":{"name":"github.com/maxcountryman/flask-bcrypt","commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":5,"reason":"Found 8/16 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:18","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:19","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:27","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish-release.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T07:18:05.050Z","repository_id":41499400,"created_at":"2025-08-21T07:18:05.051Z","updated_at":"2025-08-21T07:18:05.051Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36890126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-24T02:00:14.037Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"repo_metadata_updated_at":"2026-08-28T15:41:09.593Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python311Packages.flask-bcrypt?channel=23.05\u0026repository_url=https://channels.nixos.org/nixos-23.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.flask-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.flask-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.flask-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-27T21:08:18.056Z","issues_count":48,"pull_requests_count":48,"avg_time_to_close_issue":34338982.29268292,"avg_time_to_close_pull_request":4359823.863636363,"issues_closed_count":41,"pull_requests_closed_count":44,"pull_request_authors_count":34,"issue_authors_count":46,"avg_comments_per_issue":2.8541666666666665,"avg_comments_per_pull_request":2.0416666666666665,"merged_pull_requests_count":34,"bot_issues_count":1,"bot_pull_requests_count":2,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/issues","maintainers":[{"login":"alanhamlett","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alanhamlett"},{"login":"xsleonard","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/xsleonard"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.flask-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.flask-bcrypt/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.flask-bcrypt/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.flask-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.flask-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python311Packages.flask-bcrypt/codemeta","maintainers":[{"uuid":"costrouc","login":null,"name":"Chris Ostrouchov","email":"chris.ostrouchov@gmail.com","url":"https://github.com/costrouc","packages_count":496,"html_url":null,"role":null,"created_at":"2026-03-03T07:33:48.845Z","updated_at":"2026-03-03T07:33:48.845Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/maintainers/costrouc/packages"}],"registry":{"name":"nixpkgs-23.05","url":"https://channels.nixos.org/nixos-23.05","ecosystem":"nixpkgs","default":false,"packages_count":101092,"maintainers_count":2622,"namespaces_count":0,"keywords_count":613,"github":"NixOS","metadata":{"funded_packages_count":3317},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.882Z","updated_at":"2026-10-01T05:00:35.621Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/namespaces"}},{"id":13075786,"name":"python311Packages.flask-bcrypt","ecosystem":"nixpkgs","description":"Brcrypt hashing for Flask","homepage":"https://github.com/maxcountryman/flask-bcrypt","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/maxcountryman/flask-bcrypt","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-01T17:31:41.170Z","latest_release_published_at":"2026-02-01T17:31:41.170Z","latest_release_number":"1.0.1","last_synced_at":"2026-03-08T04:27:11.644Z","created_at":"2026-02-01T17:31:40.841Z","updated_at":"2026-03-08T04:31:27.199Z","registry_url":"https://search.nixos.org/packages?channel=24.11\u0026query=python311Packages.flask-bcrypt","install_command":"nix-env -iA nixpkgs.python311Packages.flask-bcrypt","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.11/pkgs/development/python-modules/flask-bcrypt/default.nix#L32","metadata":{"nix_attribute":"python3.11-flask-bcrypt-1.0.1","position":"pkgs/development/python-modules/flask-bcrypt/default.nix:32","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"flask-bcrypt","upstream_purl":"pkg:pypi/flask-bcrypt"},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python311Packages.flask-bcrypt?channel=24.11\u0026repository_url=https://channels.nixos.org/nixos-24.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.flask-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.flask-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.flask-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.flask-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.flask-bcrypt/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.flask-bcrypt/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.flask-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.flask-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python311Packages.flask-bcrypt/codemeta","maintainers":[],"registry":{"name":"nixpkgs-24.11","url":"https://channels.nixos.org/nixos-24.11","ecosystem":"nixpkgs","default":false,"packages_count":121983,"maintainers_count":3777,"namespaces_count":0,"keywords_count":739,"github":"NixOS","metadata":{"funded_packages_count":5300},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.059Z","updated_at":"2026-10-01T05:00:38.994Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/namespaces"}},{"id":5286564,"name":"flask-bcrypt","ecosystem":"conda","description":"Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.","homepage":"https://github.com/maxcountryman/flask-bcrypt","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/maxcountryman/flask-bcrypt","keywords_array":[],"namespace":null,"versions_count":2,"first_release_published_at":"2020-06-18T20:49:44.000Z","latest_release_published_at":"2022-11-30T09:10:44.000Z","latest_release_number":"1.0.1","last_synced_at":"2026-03-22T20:09:16.952Z","created_at":"2022-10-03T15:43:57.866Z","updated_at":"2026-08-31T08:41:55.569Z","registry_url":"https://anaconda.org/anaconda/flask-bcrypt","install_command":"conda install -c anaconda flask-bcrypt","documentation_url":null,"metadata":{},"repo_metadata":{"id":41499400,"uuid":"1886138","full_name":"maxcountryman/flask-bcrypt","owner":"maxcountryman","description":"Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.","archived":false,"fork":false,"pushed_at":"2026-04-22T13:04:08.000Z","size":266,"stargazers_count":327,"open_issues_count":12,"forks_count":66,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-05-29T06:12:29.947Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://readthedocs.org/docs/flask-bcrypt/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxcountryman.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null}},"created_at":"2011-06-12T21:20:23.000Z","updated_at":"2026-05-07T17:48:09.000Z","dependencies_parsed_at":"2024-06-18T12:53:38.073Z","dependency_job_id":null,"html_url":"https://github.com/maxcountryman/flask-bcrypt","commit_stats":{"total_commits":86,"total_committers":26,"mean_commits":"3.3076923076923075","dds":0.686046511627907,"last_synced_commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/maxcountryman/flask-bcrypt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/sbom","scorecard":{"id":628982,"data":{"date":"2025-08-11","repo":{"name":"github.com/maxcountryman/flask-bcrypt","commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":5,"reason":"Found 8/16 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:18","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:19","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:27","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish-release.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T07:18:05.050Z","repository_id":41499400,"created_at":"2025-08-21T07:18:05.051Z","updated_at":"2025-08-21T07:18:05.051Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36890126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-24T02:00:14.037Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"},"owner_record":{"login":"maxcountryman","name":"Max Countryman","uuid":"74351","kind":"user","description":"","email":"hello@maxcountryman.com","website":"https://maxcountryman.com","location":"San Francisco","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/74351?u=da92ad0c44335144a5b4bca6e6a6d8e73b8c99ce\u0026v=4","repositories_count":203,"last_synced_at":"2026-08-27T00:35:40.244Z","metadata":{"has_sponsors_listing":true,"funding":null},"html_url":"https://github.com/maxcountryman","funding_links":["https://github.com/sponsors/maxcountryman"],"total_stars":7138,"followers":492,"following":7,"created_at":"2022-11-02T18:13:30.656Z","updated_at":"2026-08-27T00:35:40.261Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman/repositories"},"tags":[{"name":"1.0.1","sha":"d9064521998846a59a98f311e3bd135e1dfe082c","kind":"commit","published_at":"2022-04-05T03:58:40.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/1.0.1","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/1.0.1/manifests"},{"name":"1.0.0","sha":"e7ca58b176f19d043529a2f9b13f82b56596d2c1","kind":"commit","published_at":"2022-04-01T20:53:39.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/1.0.0","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/1.0.0/manifests"},{"name":"0.7.1","sha":"edaaf38d0f0c8b0e761813a7bdf0e5b3ace201df","kind":"tag","published_at":"2015-10-05T23:49:59.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/0.7.1","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.7.1/manifests"},{"name":"0.7.0","sha":"6b9a04a22076b6c4962bcd080296e7e5c3aad3d8","kind":"tag","published_at":"2015-10-05T16:43:59.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/0.7.0","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.7.0/manifests"},{"name":"0.6.2","sha":"75086632f46964c23a7b73c1da8d78d63cf63f63","kind":"tag","published_at":"2014-10-22T17:19:48.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/0.6.2","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.2/manifests"},{"name":"0.6.1","sha":"f499419ec4b0f1df15dc6d47cc9d0b7fcfe46b90","kind":"tag","published_at":"2014-10-22T17:17:04.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/0.6.1","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"a305032250054018a5814d25c6e452a546b92755","kind":"tag","published_at":"2014-05-03T23:08:42.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/0.6.0","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.0/manifests"}]},"repo_metadata_updated_at":"2026-08-31T08:41:55.569Z","dependent_packages_count":2,"downloads":2131,"downloads_period":"total","dependent_repos_count":7,"rankings":{"downloads":null,"dependent_repos_count":40.77318030806403,"dependent_packages_count":20.446994865599518,"stargazers_count":34.94412564180006,"forks_count":36.00120809423135,"docker_downloads_count":null,"average":33.04137722742374},"purl":"pkg:conda/flask-bcrypt","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/flask-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/flask-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/flask-bcrypt/dependencies","status":null,"funding_links":["https://github.com/sponsors/maxcountryman"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-27T21:08:18.056Z","issues_count":48,"pull_requests_count":48,"avg_time_to_close_issue":34338982.29268292,"avg_time_to_close_pull_request":4359823.863636363,"issues_closed_count":41,"pull_requests_closed_count":44,"pull_request_authors_count":34,"issue_authors_count":46,"avg_comments_per_issue":2.8541666666666665,"avg_comments_per_pull_request":2.0416666666666665,"merged_pull_requests_count":34,"bot_issues_count":1,"bot_pull_requests_count":2,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/issues","maintainers":[{"login":"alanhamlett","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alanhamlett"},{"login":"xsleonard","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/xsleonard"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/flask-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/flask-bcrypt/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/flask-bcrypt/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/flask-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/flask-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/flask-bcrypt/codemeta","maintainers":[],"registry":{"name":"anaconda.org","url":"https://anaconda.org","ecosystem":"conda","default":true,"packages_count":5536,"maintainers_count":0,"namespaces_count":0,"keywords_count":3313,"github":"Anaconda","metadata":{"kind":"anaconda","key":"Main","api":"https://repo.ananconda.com","funded_packages_count":913},"icon_url":"https://github.com/Anaconda.png","created_at":"2022-10-03T15:37:08.736Z","updated_at":"2026-10-01T05:07:13.231Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/namespaces"}},{"id":13194913,"name":"python311Packages.flask-bcrypt","ecosystem":"nixpkgs","description":"Brcrypt hashing for Flask","homepage":"https://github.com/maxcountryman/flask-bcrypt","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/maxcountryman/flask-bcrypt","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T00:20:45.321Z","latest_release_published_at":"2026-02-02T00:20:45.321Z","latest_release_number":"1.0.1","last_synced_at":"2026-05-08T03:03:20.625Z","created_at":"2026-02-02T00:20:42.676Z","updated_at":"2026-08-31T08:41:55.689Z","registry_url":"https://search.nixos.org/packages?channel=24.05\u0026query=python311Packages.flask-bcrypt","install_command":"nix-env -iA nixpkgs.python311Packages.flask-bcrypt","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/development/python-modules/flask-bcrypt/default.nix#L32","metadata":{"nix_attribute":"python3.11-flask-bcrypt-1.0.1","position":"pkgs/development/python-modules/flask-bcrypt/default.nix:32","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"flask-bcrypt","upstream_purl":"pkg:pypi/flask-bcrypt"},"repo_metadata":{"id":41499400,"uuid":"1886138","full_name":"maxcountryman/flask-bcrypt","owner":"maxcountryman","description":"Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.","archived":false,"fork":false,"pushed_at":"2026-04-22T13:04:08.000Z","size":266,"stargazers_count":327,"open_issues_count":12,"forks_count":66,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-05-29T06:12:29.947Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://readthedocs.org/docs/flask-bcrypt/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxcountryman.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null}},"created_at":"2011-06-12T21:20:23.000Z","updated_at":"2026-05-07T17:48:09.000Z","dependencies_parsed_at":"2024-06-18T12:53:38.073Z","dependency_job_id":null,"html_url":"https://github.com/maxcountryman/flask-bcrypt","commit_stats":{"total_commits":86,"total_committers":26,"mean_commits":"3.3076923076923075","dds":0.686046511627907,"last_synced_commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/maxcountryman/flask-bcrypt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/sbom","scorecard":{"id":628982,"data":{"date":"2025-08-11","repo":{"name":"github.com/maxcountryman/flask-bcrypt","commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":5,"reason":"Found 8/16 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:18","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:19","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:27","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish-release.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T07:18:05.050Z","repository_id":41499400,"created_at":"2025-08-21T07:18:05.051Z","updated_at":"2025-08-21T07:18:05.051Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36890126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-24T02:00:14.037Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"repo_metadata_updated_at":"2026-08-31T08:41:55.689Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python311Packages.flask-bcrypt?channel=24.05\u0026repository_url=https://channels.nixos.org/nixos-24.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.flask-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.flask-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.flask-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-27T21:08:18.056Z","issues_count":48,"pull_requests_count":48,"avg_time_to_close_issue":34338982.29268292,"avg_time_to_close_pull_request":4359823.863636363,"issues_closed_count":41,"pull_requests_closed_count":44,"pull_request_authors_count":34,"issue_authors_count":46,"avg_comments_per_issue":2.8541666666666665,"avg_comments_per_pull_request":2.0416666666666665,"merged_pull_requests_count":34,"bot_issues_count":1,"bot_pull_requests_count":2,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/issues","maintainers":[{"login":"alanhamlett","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alanhamlett"},{"login":"xsleonard","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/xsleonard"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.flask-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.flask-bcrypt/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.flask-bcrypt/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.flask-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.flask-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages/python311Packages.flask-bcrypt/codemeta","maintainers":[],"registry":{"name":"nixpkgs-24.05","url":"https://channels.nixos.org/nixos-24.05","ecosystem":"nixpkgs","default":false,"packages_count":116156,"maintainers_count":3383,"namespaces_count":0,"keywords_count":654,"github":"NixOS","metadata":{"funded_packages_count":4879},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.309Z","updated_at":"2026-10-02T05:02:27.223Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.05/namespaces"}},{"id":5285963,"name":"flask-bcrypt","ecosystem":"conda","description":null,"homepage":"https://github.com/maxcountryman/flask-bcrypt","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/maxcountryman/flask-bcrypt","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2022-10-03T15:43:26.745Z","latest_release_published_at":"2022-07-11T11:00:28.000Z","latest_release_number":"1.0.1","last_synced_at":"2026-10-03T13:27:04.799Z","created_at":"2022-10-03T15:43:26.738Z","updated_at":"2026-10-03T13:27:04.799Z","registry_url":"https://anaconda.org/conda-forge/flask-bcrypt","install_command":"conda install -c conda-forge flask-bcrypt","documentation_url":null,"metadata":{},"repo_metadata":{"id":41499400,"uuid":"1886138","full_name":"maxcountryman/flask-bcrypt","owner":"maxcountryman","description":"Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.","archived":false,"fork":false,"pushed_at":"2026-04-22T13:04:08.000Z","size":266,"stargazers_count":327,"open_issues_count":12,"forks_count":66,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-05-29T06:12:29.947Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://readthedocs.org/docs/flask-bcrypt/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxcountryman.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null}},"created_at":"2011-06-12T21:20:23.000Z","updated_at":"2026-05-07T17:48:09.000Z","dependencies_parsed_at":"2024-06-18T12:53:38.073Z","dependency_job_id":null,"html_url":"https://github.com/maxcountryman/flask-bcrypt","commit_stats":{"total_commits":86,"total_committers":26,"mean_commits":"3.3076923076923075","dds":0.686046511627907,"last_synced_commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/maxcountryman/flask-bcrypt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/sbom","scorecard":{"id":628982,"data":{"date":"2025-08-11","repo":{"name":"github.com/maxcountryman/flask-bcrypt","commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":5,"reason":"Found 8/16 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:18","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:19","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:27","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish-release.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T07:18:05.050Z","repository_id":41499400,"created_at":"2025-08-21T07:18:05.051Z","updated_at":"2025-08-21T07:18:05.051Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36890126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-24T02:00:14.037Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"},"owner_record":{"login":"maxcountryman","name":"Max Countryman","uuid":"74351","kind":"user","description":"","email":"hello@maxcountryman.com","website":"https://maxcountryman.com","location":"San Francisco","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/74351?u=da92ad0c44335144a5b4bca6e6a6d8e73b8c99ce\u0026v=4","repositories_count":203,"last_synced_at":"2026-08-27T00:35:40.244Z","metadata":{"has_sponsors_listing":true,"funding":null},"html_url":"https://github.com/maxcountryman","funding_links":["https://github.com/sponsors/maxcountryman"],"total_stars":7138,"followers":492,"following":7,"created_at":"2022-11-02T18:13:30.656Z","updated_at":"2026-08-27T00:35:40.261Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman/repositories"},"tags":[{"name":"1.0.1","sha":"d9064521998846a59a98f311e3bd135e1dfe082c","kind":"commit","published_at":"2022-04-05T03:58:40.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/1.0.1","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/1.0.1/manifests"},{"name":"1.0.0","sha":"e7ca58b176f19d043529a2f9b13f82b56596d2c1","kind":"commit","published_at":"2022-04-01T20:53:39.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/1.0.0","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/1.0.0/manifests"},{"name":"0.7.1","sha":"edaaf38d0f0c8b0e761813a7bdf0e5b3ace201df","kind":"tag","published_at":"2015-10-05T23:49:59.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/0.7.1","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.7.1/manifests"},{"name":"0.7.0","sha":"6b9a04a22076b6c4962bcd080296e7e5c3aad3d8","kind":"tag","published_at":"2015-10-05T16:43:59.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/0.7.0","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.7.0/manifests"},{"name":"0.6.2","sha":"75086632f46964c23a7b73c1da8d78d63cf63f63","kind":"tag","published_at":"2014-10-22T17:19:48.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/0.6.2","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.2/manifests"},{"name":"0.6.1","sha":"f499419ec4b0f1df15dc6d47cc9d0b7fcfe46b90","kind":"tag","published_at":"2014-10-22T17:17:04.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/0.6.1","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"a305032250054018a5814d25c6e452a546b92755","kind":"tag","published_at":"2014-05-03T23:08:42.000Z","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/0.6.0","html_url":"https://github.com/maxcountryman/flask-bcrypt/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/maxcountryman/flask-bcrypt@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags/0.6.0/manifests"}]},"repo_metadata_updated_at":"2026-08-31T12:46:26.024Z","dependent_packages_count":2,"downloads":65507,"downloads_period":"total","dependent_repos_count":7,"rankings":{"downloads":null,"dependent_repos_count":12.934777184490246,"dependent_packages_count":19.606766804730775,"stargazers_count":21.82743649882729,"forks_count":22.950247018314286,"docker_downloads_count":null,"average":19.32980687659065},"purl":"pkg:conda/flask-bcrypt?repository_url=https://conda-forge.org","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/flask-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/flask-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/flask-bcrypt/dependencies","status":null,"funding_links":["https://github.com/sponsors/maxcountryman"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-31T08:41:56.000Z","issues_count":48,"pull_requests_count":48,"avg_time_to_close_issue":34338982.29268292,"avg_time_to_close_pull_request":4359823.863636363,"issues_closed_count":41,"pull_requests_closed_count":44,"pull_request_authors_count":34,"issue_authors_count":46,"avg_comments_per_issue":2.8541666666666665,"avg_comments_per_pull_request":2.0416666666666665,"merged_pull_requests_count":34,"bot_issues_count":1,"bot_pull_requests_count":2,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/issues","maintainers":[{"login":"alanhamlett","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alanhamlett"},{"login":"xsleonard","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/xsleonard"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/flask-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/flask-bcrypt/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/flask-bcrypt/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/flask-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/flask-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/flask-bcrypt/codemeta","maintainers":[],"registry":{"name":"conda-forge.org","url":"https://conda-forge.org","ecosystem":"conda","default":false,"packages_count":20636,"maintainers_count":0,"namespaces_count":0,"keywords_count":13549,"github":"conda-forge","metadata":{"kind":"conda-forge","key":"CondaForge","api":"https://conda.anaconda.org","funded_packages_count":2543},"icon_url":"https://github.com/conda-forge.png","created_at":"2022-10-03T15:37:08.743Z","updated_at":"2026-10-01T05:07:17.065Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/namespaces"}},{"id":13084651,"name":"python312Packages.flask-bcrypt","ecosystem":"nixpkgs","description":"Brcrypt hashing for Flask","homepage":"https://github.com/maxcountryman/flask-bcrypt","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/maxcountryman/flask-bcrypt","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-01T17:58:43.225Z","latest_release_published_at":"2026-02-01T17:58:43.225Z","latest_release_number":"1.0.1","last_synced_at":"2026-03-07T16:14:23.123Z","created_at":"2026-02-01T17:58:41.085Z","updated_at":"2026-03-11T07:56:52.463Z","registry_url":"https://search.nixos.org/packages?channel=24.11\u0026query=python312Packages.flask-bcrypt","install_command":"nix-env -iA nixpkgs.python312Packages.flask-bcrypt","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-24.11/pkgs/development/python-modules/flask-bcrypt/default.nix#L32","metadata":{"nix_attribute":"python3.12-flask-bcrypt-1.0.1","position":"pkgs/development/python-modules/flask-bcrypt/default.nix:32","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","aarch64-windows","x86_64-windows","i686-windows","i686-freebsd","x86_64-freebsd"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"flask-bcrypt","upstream_purl":"pkg:pypi/flask-bcrypt"},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python312Packages.flask-bcrypt?channel=24.11\u0026repository_url=https://channels.nixos.org/nixos-24.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python312Packages.flask-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python312Packages.flask-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python312Packages.flask-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.flask-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.flask-bcrypt/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.flask-bcrypt/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.flask-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.flask-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages/python312Packages.flask-bcrypt/codemeta","maintainers":[],"registry":{"name":"nixpkgs-24.11","url":"https://channels.nixos.org/nixos-24.11","ecosystem":"nixpkgs","default":false,"packages_count":121983,"maintainers_count":3777,"namespaces_count":0,"keywords_count":739,"github":"NixOS","metadata":{"funded_packages_count":5300},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.059Z","updated_at":"2026-10-01T05:00:38.994Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-24.11/namespaces"}},{"id":12814549,"name":"python310Packages.flask-bcrypt","ecosystem":"nixpkgs","description":"Brcrypt hashing for Flask","homepage":"https://github.com/maxcountryman/flask-bcrypt","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/maxcountryman/flask-bcrypt","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-01-26T16:58:27.089Z","latest_release_published_at":"2026-01-26T16:58:27.089Z","latest_release_number":"1.0.1","last_synced_at":"2026-04-09T11:02:02.300Z","created_at":"2026-01-26T16:58:26.872Z","updated_at":"2026-04-09T11:30:19.718Z","registry_url":"https://search.nixos.org/packages?channel=23.05\u0026query=python310Packages.flask-bcrypt","install_command":"nix-env -iA nixpkgs.python310Packages.flask-bcrypt","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/development/python-modules/flask-bcrypt/default.nix#L32","metadata":{"nix_attribute":"python3.10-flask-bcrypt-1.0.1","position":"pkgs/development/python-modules/flask-bcrypt/default.nix:32","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mipsel-linux","mips64el-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"flask-bcrypt","upstream_purl":"pkg:pypi/flask-bcrypt"},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python310Packages.flask-bcrypt?channel=23.05\u0026repository_url=https://channels.nixos.org/nixos-23.05","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python310Packages.flask-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python310Packages.flask-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python310Packages.flask-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.flask-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.flask-bcrypt/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.flask-bcrypt/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.flask-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.flask-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages/python310Packages.flask-bcrypt/codemeta","maintainers":[{"uuid":"costrouc","login":null,"name":"Chris Ostrouchov","email":"chris.ostrouchov@gmail.com","url":"https://github.com/costrouc","packages_count":496,"html_url":null,"role":null,"created_at":"2026-03-03T17:41:35.487Z","updated_at":"2026-03-03T17:41:35.487Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/maintainers/costrouc/packages"}],"registry":{"name":"nixpkgs-23.05","url":"https://channels.nixos.org/nixos-23.05","ecosystem":"nixpkgs","default":false,"packages_count":101092,"maintainers_count":2622,"namespaces_count":0,"keywords_count":613,"github":"NixOS","metadata":{"funded_packages_count":3317},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.882Z","updated_at":"2026-10-01T05:00:35.621Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.05/namespaces"}},{"id":13303104,"name":"python311Packages.flask-bcrypt","ecosystem":"nixpkgs","description":"Brcrypt hashing for Flask","homepage":"https://github.com/maxcountryman/flask-bcrypt","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/maxcountryman/flask-bcrypt","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T06:53:32.848Z","latest_release_published_at":"2026-02-02T06:53:32.848Z","latest_release_number":"1.0.1","last_synced_at":"2026-04-13T12:02:05.045Z","created_at":"2026-02-02T06:53:29.584Z","updated_at":"2026-08-27T04:54:22.838Z","registry_url":"https://search.nixos.org/packages?channel=23.11\u0026query=python311Packages.flask-bcrypt","install_command":"nix-env -iA nixpkgs.python311Packages.flask-bcrypt","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/development/python-modules/flask-bcrypt/default.nix#L32","metadata":{"nix_attribute":"python3.11-flask-bcrypt-1.0.1","position":"pkgs/development/python-modules/flask-bcrypt/default.nix:32","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"flask-bcrypt","upstream_purl":"pkg:pypi/flask-bcrypt"},"repo_metadata":{"id":41499400,"uuid":"1886138","full_name":"maxcountryman/flask-bcrypt","owner":"maxcountryman","description":"Flask-Bcrypt is a Flask extension that provides bcrypt hashing utilities for your application.","archived":false,"fork":false,"pushed_at":"2026-04-22T13:04:08.000Z","size":266,"stargazers_count":327,"open_issues_count":12,"forks_count":66,"subscribers_count":9,"default_branch":"master","last_synced_at":"2026-05-29T06:12:29.947Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://readthedocs.org/docs/flask-bcrypt/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxcountryman.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null}},"created_at":"2011-06-12T21:20:23.000Z","updated_at":"2026-05-07T17:48:09.000Z","dependencies_parsed_at":"2024-06-18T12:53:38.073Z","dependency_job_id":null,"html_url":"https://github.com/maxcountryman/flask-bcrypt","commit_stats":{"total_commits":86,"total_committers":26,"mean_commits":"3.3076923076923075","dds":0.686046511627907,"last_synced_commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/maxcountryman/flask-bcrypt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcountryman","download_url":"https://codeload.github.com/maxcountryman/flask-bcrypt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/sbom","scorecard":{"id":628982,"data":{"date":"2025-08-11","repo":{"name":"github.com/maxcountryman/flask-bcrypt","commit":"d9064521998846a59a98f311e3bd135e1dfe082c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":5,"reason":"Found 8/16 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/publish-release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/maxcountryman/flask-bcrypt/tests.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:18","Warn: pipCommand not pinned by hash: .github/workflows/publish-release.yml:19","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:27","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish-release.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T07:18:05.050Z","repository_id":41499400,"created_at":"2025-08-21T07:18:05.051Z","updated_at":"2025-08-21T07:18:05.051Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36890126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-24T02:00:14.037Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"repo_metadata_updated_at":"2026-08-27T04:54:22.838Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python311Packages.flask-bcrypt?channel=23.11\u0026repository_url=https://channels.nixos.org/nixos-23.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python311Packages.flask-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python311Packages.flask-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python311Packages.flask-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-26T11:36:42.712Z","issues_count":48,"pull_requests_count":48,"avg_time_to_close_issue":34338982.29268292,"avg_time_to_close_pull_request":4359823.863636363,"issues_closed_count":41,"pull_requests_closed_count":44,"pull_request_authors_count":34,"issue_authors_count":46,"avg_comments_per_issue":2.8541666666666665,"avg_comments_per_pull_request":2.0416666666666665,"merged_pull_requests_count":34,"bot_issues_count":1,"bot_pull_requests_count":2,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/issues","maintainers":[{"login":"alanhamlett","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alanhamlett"},{"login":"xsleonard","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/xsleonard"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.flask-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.flask-bcrypt/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.flask-bcrypt/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.flask-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.flask-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python311Packages.flask-bcrypt/codemeta","maintainers":[],"registry":{"name":"nixpkgs-23.11","url":"https://channels.nixos.org/nixos-23.11","ecosystem":"nixpkgs","default":false,"packages_count":108178,"maintainers_count":2997,"namespaces_count":0,"keywords_count":569,"github":"NixOS","metadata":{"funded_packages_count":4624},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.577Z","updated_at":"2026-10-01T05:01:15.937Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/namespaces"}},{"id":13295424,"name":"python310Packages.flask-bcrypt","ecosystem":"nixpkgs","description":"Brcrypt hashing for Flask","homepage":"https://github.com/maxcountryman/flask-bcrypt","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/maxcountryman/flask-bcrypt","keywords_array":["python"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-02-02T06:24:57.065Z","latest_release_published_at":"2026-02-02T06:24:57.065Z","latest_release_number":"1.0.1","last_synced_at":"2026-03-08T20:30:42.501Z","created_at":"2026-02-02T06:24:51.348Z","updated_at":"2026-03-09T22:02:33.220Z","registry_url":"https://search.nixos.org/packages?channel=23.11\u0026query=python310Packages.flask-bcrypt","install_command":"nix-env -iA nixpkgs.python310Packages.flask-bcrypt","documentation_url":"https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/development/python-modules/flask-bcrypt/default.nix#L32","metadata":{"nix_attribute":"python3.10-flask-bcrypt-1.0.1","position":"pkgs/development/python-modules/flask-bcrypt/default.nix:32","platforms":["aarch64-linux","armv5tel-linux","armv6l-linux","armv7a-linux","armv7l-linux","i686-linux","loongarch64-linux","m68k-linux","microblaze-linux","microblazeel-linux","mips-linux","mips64-linux","mips64el-linux","mipsel-linux","powerpc64-linux","powerpc64le-linux","riscv32-linux","riscv64-linux","s390-linux","s390x-linux","x86_64-linux","x86_64-darwin","i686-darwin","aarch64-darwin","armv7a-darwin","i686-cygwin","x86_64-cygwin","x86_64-windows","i686-windows"],"broken":false,"insecure":false,"unfree":false,"outputs":["dist","out"],"upstream_ecosystem":"pypi","upstream_name":"flask-bcrypt","upstream_purl":"pkg:pypi/flask-bcrypt"},"repo_metadata":{},"repo_metadata_updated_at":null,"dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:nix/python310Packages.flask-bcrypt?channel=23.11\u0026repository_url=https://channels.nixos.org/nixos-23.11","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/nixpkgs/python310Packages.flask-bcrypt","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/nixpkgs/python310Packages.flask-bcrypt","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/nixpkgs/python310Packages.flask-bcrypt/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.flask-bcrypt/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.flask-bcrypt/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.flask-bcrypt/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.flask-bcrypt/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.flask-bcrypt/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages/python310Packages.flask-bcrypt/codemeta","maintainers":[],"registry":{"name":"nixpkgs-23.11","url":"https://channels.nixos.org/nixos-23.11","ecosystem":"nixpkgs","default":false,"packages_count":108178,"maintainers_count":2997,"namespaces_count":0,"keywords_count":569,"github":"NixOS","metadata":{"funded_packages_count":4624},"icon_url":"https://github.com/NixOS.png","created_at":"2026-01-25T22:30:53.577Z","updated_at":"2026-10-01T05:01:15.937Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/nixpkgs-23.11/namespaces"}}],"commits":{"id":16040,"full_name":"maxcountryman/flask-bcrypt","default_branch":"master","total_commits":86,"total_committers":25,"total_bot_commits":1,"total_bot_committers":1,"mean_commits":3.44,"dds":0.4767441860465116,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-10-04T06:03:34.270Z","last_synced_commit":"d9064521998846a59a98f311e3bd135e1dfe082c","created_at":"2023-03-07T11:31:41.839Z","updated_at":"2026-10-04T06:03:34.191Z","committers":[{"name":"Max Countryman","email":"max.countryman@gmail.com","login":"maxcountryman","count":45},{"name":"Alan Hamlett","email":"alan.hamlett@gmail.com","login":"alanhamlett","count":8},{"name":"Alex Vykalyuk","email":"alekzvik@gmail.com","login":"alekzvik","count":5},{"name":"bovarysme","email":"bovarysme","login":"bovarysme","count":4},{"name":"Dan Callahan","email":"dan.callahan@gmail.com","login":"callahad","count":2},{"name":"Steve Leonard","email":"xsleonard@gmail.com","login":"xsleonard","count":2},{"name":"hugonun","email":"43740923+hugonun","login":"hugonun","count":2},{"name":"EdOverflow","email":"diopterasec@gmail.com","login":null,"count":1},{"name":"James Saryerwinnie","email":"jls.npi@gmail.com","login":null,"count":1},{"name":"Josh Friend","email":"jfriend@michiganlabs.com","login":null,"count":1},{"name":"Aaron Brady","email":"bradya@gmail.com","login":"insom","count":1},{"name":"Aru Sahni","email":"arusahni@gmail.com","login":"arusahni","count":1},{"name":"Bill Winslow","email":"bunslow@gmail.com","login":"dubslow","count":1},{"name":"Bob Jordan","email":"bob@smewp.net","login":"bmjjr","count":1},{"name":"Brandon Yanofsky","email":"byanofsky@me.com","login":"byanofsky","count":1},{"name":"Charles Ross","email":"chivalry@mac.com","login":"chivalry","count":1},{"name":"Frank Tackitt","email":"kageurufu@kageurufu.net","login":"kageurufu","count":1},{"name":"Matt Smith","email":"matt.daemon660@gmail.com","login":"psykzz","count":1},{"name":"Michael Sarfati","email":"msarfati@protonmail.com","login":"msarfati","count":1},{"name":"Navan Chauhan","email":"navanchauhan@gmail.com","login":"navanchauhan","count":1},{"name":"Pascal Hartig","email":"phartig@weluse.de","login":"passy","count":1},{"name":"Tim Gates","email":"tim.gates@iress.com","login":"timgates42","count":1},{"name":"TonySeek","email":"tonyseek@gmail.com","login":"tonyseek","count":1},{"name":"dependabot-preview[bot]","email":"27856297+dependabot-preview[bot]","login":"dependabot-preview[bot]","count":1},{"name":"liuzhijun","email":"lzjun567@qq.com","login":"lzjun567","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-10-04T00:00:07.749Z","repositories_count":8070201,"commits_count":1227131620,"contributors_count":56095657,"owners_count":1687887,"committers_count":3728905,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues":{"table":{"full_name":"maxcountryman/flask-bcrypt","html_url":"https://github.com/maxcountryman/flask-bcrypt","last_synced_at":"2026-10-03T05:33:14.116Z","status":null,"issues_count":48,"pull_requests_count":48,"avg_time_to_close_issue":34338982.29268292,"avg_time_to_close_pull_request":4359823.863636363,"issues_closed_count":41,"pull_requests_closed_count":44,"pull_request_authors_count":34,"issue_authors_count":46,"avg_comments_per_issue":2.8541666666666665,"avg_comments_per_pull_request":2.0416666666666665,"merged_pull_requests_count":34,"bot_issues_count":1,"bot_pull_requests_count":2,"past_year_issues_count":1,"past_year_pull_requests_count":2,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":0.5,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":1,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-10T11:04:43.619Z","updated_at":"2026-10-03T05:33:14.117Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcountryman%2Fflask-bcrypt/issues","issue_labels_count":{"table":{}},"pull_request_labels_count":{"table":{"dependencies":2,"python":1}},"issue_author_associations_count":{"table":{"NONE":44,"CONTRIBUTOR":4}},"pull_request_author_associations_count":{"table":{"CONTRIBUTOR":26,"NONE":12,"COLLABORATOR":10}},"issue_authors":{"table":{"ghost":2,"xmnlab":2,"Cabalist":1,"ser":1,"mohoyer":1,"dafinoer":1,"skupr-anaconda":1,"petar-andrejic":1,"kageurufu":1,"xavitorne":1,"dependabot-preview[bot]":1,"adsahay":1,"mjhea0":1,"mahenzon":1,"msarfati":1,"alekzvik":1,"portante":1,"khadkarajesh":1,"alifaki077":1,"goodnewsj62":1,"Shanks512":1,"Hiieu":1,"alexwaters":1,"scheung38":1,"pnegahdar":1,"JWKennington":1,"Joe-Heffer-Shef":1,"thewithz":1,"ButeForce":1,"archienorman11":1,"Remalloc":1,"vinhliem":1,"DarkSector":1,"ep4sh":1,"chrickso":1,"jeverling":1,"brvier":1,"maximebf":1,"awang":1,"tim-hub":1,"nebhead":1,"devosalain":1,"Amarnath-someperson":1,"liquidpeachy":1,"sphildreth":1,"imtiaz-emu":1}},"pull_request_authors":{"table":{"alanhamlett":8,"alekzvik":5,"xsleonard":2,"bliepp":2,"bovarysme":2,"toughrogrammer":1,"dubslow":1,"bmjjr":1,"EdOverflow":1,"dependabot[bot]":1,"kageurufu":1,"joshfriend":1,"msarfati":1,"passy":1,"ghost":1,"dependabot-preview[bot]":1,"jdiez17":1,"psykzz":1,"fgimian":1,"arusahni":1,"dafinoer":1,"insom":1,"timgates42":1,"mahenzon":1,"chivalry":1,"kirillrdy":1,"byanofsky":1,"jamesls":1,"brvier":1,"lzjun567":1,"tonyseek":1,"navanchauhan":1,"kethan1":1,"hugonun":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-10-04T00:00:07.477Z","repositories_count":17789817,"issues_count":47431347,"pull_requests_count":147315895,"authors_count":11912466,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"}},"past_year_issue_labels_count":{"table":{}},"past_year_pull_request_labels_count":{"table":{"dependencies":1,"python":1}},"past_year_issue_author_associations_count":{"table":{"NONE":1}},"past_year_pull_request_author_associations_count":{"table":{"NONE":2}},"past_year_issue_authors":{"table":{"skupr-anaconda":1}},"past_year_pull_request_authors":{"table":{"dependabot[bot]":1,"kirillrdy":1}},"maintainers":[{"table":{"login":"alanhamlett","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/alanhamlett"}},{"table":{"login":"xsleonard","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/xsleonard"}}],"active_maintainers":[]}},"events":{"total":{"CreateEvent":1,"IssuesEvent":1,"WatchEvent":6},"last_year":{"CreateEvent":1,"IssuesEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2022-07-09T15:03:03.375Z","updated_at":"2022-07-09T15:03:03.375Z","repository_link":"https://github.com/maxcountryman/flask-bcrypt/blob/master/docs/requirements.txt","dependencies":[{"id":129134066,"package_name":"Sphinx","ecosystem":"pypi","requirements":"\u003e=4","direct":true,"kind":"runtime","optional":false},{"id":129134067,"package_name":"Pallets-Sphinx-Themes","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-07-09T15:03:03.391Z","updated_at":"2022-07-09T15:03:03.391Z","repository_link":"https://github.com/maxcountryman/flask-bcrypt/blob/master/setup.py","dependencies":[{"id":129134070,"package_name":"Flask","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":129134071,"package_name":"bcrypt","ecosystem":"pypi","requirements":"\u003e=3.1.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/publish-release.yml","sha":null,"kind":"manifest","created_at":"2024-06-18T12:53:37.067Z","updated_at":"2024-06-18T12:53:37.067Z","repository_link":"https://github.com/maxcountryman/flask-bcrypt/blob/master/.github/workflows/publish-release.yml","dependencies":[{"id":18675910239,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":18675910240,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":18675910241,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"v1.4.1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/tests.yml","sha":null,"kind":"manifest","created_at":"2024-06-18T12:53:37.434Z","updated_at":"2024-06-18T12:53:37.434Z","repository_link":"https://github.com/maxcountryman/flask-bcrypt/blob/master/.github/workflows/tests.yml","dependencies":[{"id":18675910242,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":18675910243,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]}],"score":26.142061887623623,"created_at":"2026-09-30T03:51:00.907Z","updated_at":"2026-10-04T06:03:35.376Z","avatar_url":"https://github.com/maxcountryman.png","language":"Python","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/379187","html_url":"https://summary.ecosyste.ms/projects/379187"}