Description
Platform Mesh has been awarded the OpenSSF Best Practices passing badge (project #12932). This follow-up tracks the work to reach the higher tiers:
- Silver: currently at 96%
- Gold: currently at 61%
Like the passing badge, this is an org-wide, project-level effort — the questionnaire is answered once for Platform Mesh as a whole, not per repo.
Silver — remaining requirements (2)
Both are considered relatively easily attainable.
Gold — remaining requirements (sorted hardest → easiest)
Suggested order
- Lock in Silver first. Two easy requirements (
build_repeatable, static_analysis_common_vulnerabilities) — a guaranteed badge, don't block it behind Gold work.
- Spike the hard Gold gates next — these decide whether Gold is reachable at all:
security_review — confirm we have someone to perform/document it.
test_statement_coverage90 — assess the real cost of going 80% → 90% across repos.
dynamic_analysis — identify a tool and how it fits the release flow.
If any of these is infeasible, Gold is blocked regardless of the rest — so resolve them before investing in the easy criteria.
- Only once Gold looks achievable, knock out the easy wins:
copyright_per_file, license_per_file, small_tasks, hardened_site, and build_reproducible (follows from
build_repeatable).
Objectives
- Silver badge awarded for Platform Mesh (project #12932).
- Gold badge feasibility assessed via the three hard gates; if viable, remaining Gold requirements completed (larger items tracked as their own sub-tasks if needed).
Demo Required
None
Description
Platform Mesh has been awarded the OpenSSF Best Practices passing badge (project #12932). This follow-up tracks the work to reach the higher tiers:
Like the passing badge, this is an org-wide, project-level effort — the questionnaire is answered once for Platform Mesh as a whole, not per repo.
Silver — remaining requirements (2)
build_repeatable— the project MUST be able to repeat the process of generating information from source files and get exactly the same bit-for-bit result.-ldflags, and the build does not use-trimpath,-buildid=, orSOURCE_DATE_EPOCH. Needs investigation into the least-breaking way to make builds repeatable.static_analysis_common_vulnerabilities— the project MUST use at least one static analysis tool that looks for common vulnerabilities in the analyzed language.goseccan cover this but is not enabled by default in golangci-lint. Enable it across repos.Both are considered relatively easily attainable.
Gold — remaining requirements (sorted hardest → easiest)
security_review— a security review MUST have been performed within the last 5 years, considering the security requirements and security boundary.dynamic_analysis— at least one dynamic analysis tool MUST be applied to any proposed major production release before release. (Attainable, but potentially significanteffort.)
test_statement_coverage90— FLOSS automated test suite(s) MUST provide ≥90% statement coverage. (We currently require 80%; closing the gap is non-trivial.)build_reproducible— the project MUST have a reproducible build. (Depends on howbuild_repeatableis handled.)copyright_per_file— each source file MUST include a copyright statement identifying the copyright holder. (Easily attainable.)license_per_file— each source file MUST include a license statement, e.g. anSPDX-License-Identifiercomment near the top. (Easily attainable.)small_tasks— the project MUST clearly identify small tasks for new/casual contributors (URL required). Can use thegood first issuelabel. (Easily attainable.)hardened_site— the project website, repository, and download site MUST include key hardening headers with non-permissive values. Mostly concerns platform-mesh.io. (Easily attainable.)Suggested order
build_repeatable,static_analysis_common_vulnerabilities) — a guaranteed badge, don't block it behind Gold work.security_review— confirm we have someone to perform/document it.test_statement_coverage90— assess the real cost of going 80% → 90% across repos.dynamic_analysis— identify a tool and how it fits the release flow.If any of these is infeasible, Gold is blocked regardless of the rest — so resolve them before investing in the easy criteria.
copyright_per_file,license_per_file,small_tasks,hardened_site, andbuild_reproducible(follows frombuild_repeatable).Objectives
Demo Required
None