{"date":"2026-09-18T05:31:17Z","repo":{"name":"github.com/firebase/flutterfire","commit":"2c1e26fb2f2309a9e545cb3734be2fbb21c1a52d"},"scorecard":{"version":"v5.5.0","commit":"c395761df6afe1a69e476bc60a013a94bcbc153f"},"score":8.5,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 6 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained","short":"Determines if the project is \"actively maintained\"."}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool","short":"Determines if the project uses a dependency update tool."}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review","short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged."}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow","short":"Determines if the project's GitHub Action workflows avoid dangerous patterns."}},{"name":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/android_unit_tests.yaml:27","Info: jobLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_smoke.yaml:614","Info: jobLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_smoke.yaml:54","Info: jobLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_smoke.yaml:186","Info: jobLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_smoke.yaml:205","Info: jobLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_smoke.yaml:325","Info: jobLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_smoke.yaml:457","Info: jobLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_smoke.yaml:533","Info: jobLevel 'contents' permission set to 'read': .github/workflows/nightly.yaml:135","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/pr_title.yaml:12","Info: jobLevel 'contents' permission set to 'read': .github/workflows/reusable_e2e_android.yaml:97","Info: jobLevel 'contents' permission set to 'read': .github/workflows/reusable_e2e_changes.yaml:68","Info: jobLevel 'contents' permission set to 'read': .github/workflows/reusable_e2e_ios.yaml:117","Info: jobLevel 'contents' permission set to 'read': .github/workflows/reusable_e2e_macos.yaml:102","Info: jobLevel 'contents' permission set to 'read': .github/workflows/reusable_e2e_web.yaml:117","Info: jobLevel 'contents' permission set to 'read': .github/workflows/reusable_e2e_windows.yaml:97","Info: jobLevel 'contents' permission set to 'read': .github/workflows/reusable_repo_changes.yaml:53","Info: topLevel 'contents' permission set to 'read': .github/workflows/all_plugins.yaml:22","Info: topLevel 'contents' permission set to 'read': .github/workflows/android_unit_tests.yaml:8","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_ai.yaml:48","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_analytics.yaml:48","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_app_check.yaml:48","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_app_installations.yaml:48","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_auth.yaml:52","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_crashlytics.yaml:47","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_database.yaml:41","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_fdc.yaml:32","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_firestore.yaml:44","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_functions.yaml:41","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_messaging.yaml:48","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_ml_model_downloader.yaml:48","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_performance.yaml:48","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_pipeline.yaml:35","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_remote_config.yaml:48","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_smoke.yaml:17","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e_tests_storage.yaml:41","Info: topLevel 'contents' permission set to 'read': .github/workflows/nightly.yaml:20","Info: topLevel permissions set to 'read-all': .github/workflows/ossf-scorecard.yml:18","Warn: no topLevel permission defined: .github/workflows/pr_title.yaml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/reusable_e2e_android.yaml:85","Info: topLevel 'contents' permission set to 'read': .github/workflows/reusable_e2e_changes.yaml:63","Info: topLevel 'contents' permission set to 'read': .github/workflows/reusable_e2e_ios.yaml:105","Info: topLevel 'contents' permission set to 'read': .github/workflows/reusable_e2e_macos.yaml:90","Info: topLevel 'contents' permission set to 'read': .github/workflows/reusable_e2e_web.yaml:105","Info: topLevel 'contents' permission set to 'read': .github/workflows/reusable_e2e_windows.yaml:81","Info: topLevel 'contents' permission set to 'read': .github/workflows/reusable_repo_changes.yaml:48","Info: no jobLevel write permissions found"],"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions","short":"Determines if the project's workflows follow the principle of least privilege."}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license","short":"Determines if the project has defined a license."}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging","short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall."}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts","short":"Determines if the project has generated executable (binary) artifacts in the source repository."}},{"name":"Pinned-Dependencies","score":9,"reason":"dependency not pinned by hash detected -- score normalized to 9","details":["Warn: npmCommand not pinned by hash: .github/workflows/scripts/start-firebase-emulator.sh:20","Warn: npmCommand not pinned by hash: .github/workflows/scripts/start-firebase-emulator.sh:34","Warn: goCommand not pinned by hash: .github/workflows/all_plugins.yaml:110","Info:  78 out of  78 GitHub-owned GitHubAction dependencies pinned","Info:  32 out of  32 third-party GitHubAction dependencies pinned","Info:   9 out of  11 npmCommand dependencies pinned","Info:   0 out of   1 goCommand dependencies pinned"],"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies","short":"Determines if the project has declared and pinned the dependencies of its build process."}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices","short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge."}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing","short":"Determines if the project uses fuzzing."}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases","short":"Determines if the project cryptographically signs release artifacts."}},{"name":"Vulnerabilities","score":5,"reason":"5 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: https://osv.dev/GHSA-4mjr-xmp4-gh2g","Warn: Project is vulnerable to: https://osv.dev/GHSA-x5fp-wj9c-mxmx","Warn: Project is vulnerable to: https://osv.dev/GHSA-w5hq-g745-h8pq","Warn: Project is vulnerable to: https://osv.dev/GHSA-mp7j-qc5w-4988","Warn: Project is vulnerable to: https://osv.dev/GHSA-xv26-6w52-cph6"],"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities","short":"Determines if the project has open, known unfixed vulnerabilities."}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection","short":"Determines if the default and release branches are protected with GitHub's branch protection settings."}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/firebase/.github/SECURITY.md:1","Info: Found linked content: github.com/firebase/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/firebase/.github/SECURITY.md:1","Info: Found text in security policy: github.com/firebase/.github/SECURITY.md:1"],"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy","short":"Determines if the project has published a security policy."}},{"name":"SAST","score":9,"reason":"SAST tool is not run on all commits -- score normalized to 9","details":["Warn: 27 commits out of 30 are checked with a SAST tool"],"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast","short":"Determines if the project uses static code analysis."}},{"name":"CI-Tests","score":10,"reason":"30 out of 30 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests","short":"Determines if the project runs tests before pull requests are merged."}},{"name":"Contributors","score":10,"reason":"project has 36 contributing companies or organizations","details":["Info: found contributions from: 21-23, CDTM, FirebaseExtended, FlutterFlow, FlutterVikings, GDGSeattle, NodeRedis, SharezoneApp, Thmanyah-LLC, agym-co, angulardart, ankidroid, dart-lang, dart-lang @flutter @google, firebase, firebase devrel, flutter, fluttercommunity, flutterflow, full stack developer, google, googlemaps, googlers, independent developer, invertase, jpmorganchase, nexus-xyz, notifee, purduewebdevclub, react-native-firebase, react-native-market, redibox, rolling-scopes, senior solutions engineer, thmanyah-, tuenti-ninjas"],"documentation":{"url":"https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors","short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies)."}}]}
