Evidence and criteria for the OpenSSF Best Practices passing badge.
sendit holds the OpenSSF Best Practices passing badge
at 100% — all 67 passing-level criteria are answered Met or N/A.
Change Control link
| Criterion | Status | Evidence |
|---|
repo_public | Met | github.com/lewta/sendit |
repo_track | Met | Commit history |
repo_interim | Met | All work via feature branches and PRs |
repo_distributed | Met | Git |
version_unique | Met | Tags |
version_semver | Met | Semantic Versioning — Releases |
version_tags | Met | Tags |
release_notes | Met | All releases have authored notes; CHANGELOG.md |
release_notes_vulns | Met | No CVEs fixed to date; CVE policy documented in CHANGELOG.md header |
Reporting link
Security link
| Criterion | Status | Evidence |
|---|
know_secure_design | Met | Attested on platform |
know_common_errors | Met | Attested on platform |
crypto_published | Met | Uses stdlib crypto/tls only |
crypto_call | Met | No crypto reimplemented — go.mod |
crypto_floss | Met | stdlib crypto is FLOSS |
crypto_keylength | Met | Delegated to stdlib TLS (NIST-compliant) |
crypto_working | Met | No broken algorithms used |
crypto_weaknesses | Met | stdlib TLS avoids known-weak algorithms |
crypto_pfs | Met | TLS 1.3 default in Go stdlib provides PFS |
crypto_password_storage | N/A | sendit stores no passwords |
crypto_random | N/A | sendit generates no cryptographic keys |
delivery_mitm | Met | HTTPS downloads + SLSA provenance + checksums.txt — Releases |
delivery_unsigned | Met | checksums.txt served only via HTTPS |
vulnerabilities_fixed_60_days | Met | govulncheck blocks merge on any known CVE — security.yml |
vulnerabilities_critical_fixed | Met | govulncheck + Dependabot security PRs |
no_leaked_credentials | Met | All secrets via GitHub Actions secrets only |
Analysis link
| Criterion | Status | Evidence |
|---|
static_analysis | Met | golangci-lint + CodeQL — ci.yml |
static_analysis_common_vulnerabilities | Met | gosec covers OWASP-class checks |
static_analysis_fixed | Met | CI blocks merge on lint failure |
static_analysis_often | Met | Runs on every PR |
dynamic_analysis | Met | Native Go fuzz tests + go test -race — ci.yml |
dynamic_analysis_unsafe | N/A | Go is a memory-safe language |
dynamic_analysis_enable_assertions | Met | go test -race run in CI |
dynamic_analysis_fixed | Met | Fuzz findings and race conditions addressed before merge |