sendit holds the OpenSSF Best Practices passing badge at 100% — all 67 passing-level criteria are answered Met or N/A.

openssf best practices: passingopenssf best practicespassing

Basics

CriterionStatusEvidence
description_goodMetREADME
interactMetCONTRIBUTING.md
contributionMetCONTRIBUTING.md
contribution_requirementsMetCONTRIBUTING.md#contribution-requirements
floss_licenseMetMIT — LICENSE
floss_license_osiMetopensource.org/license/mit
license_locationMetLICENSE
documentation_basicsMetlewta.github.io/sendit
documentation_interfaceMetCLI Reference
sites_httpsMetAll project URLs served over HTTPS
discussionMetGitHub Issues
englishMetAll documentation and issue responses in English
maintainedMetReleases

Change Control

CriterionStatusEvidence
repo_publicMetgithub.com/lewta/sendit
repo_trackMetCommit history
repo_interimMetAll work via feature branches and PRs
repo_distributedMetGit
version_uniqueMetTags
version_semverMetSemantic Versioning — Releases
version_tagsMetTags
release_notesMetAll releases have authored notes; CHANGELOG.md
release_notes_vulnsMetNo CVEs fixed to date; CVE policy documented in CHANGELOG.md header

Reporting

CriterionStatusEvidence
report_processMetGitHub Issues
report_trackerMetGitHub Issues
report_responsesMetAll filed issues acknowledged
enhancement_responsesMetGitHub Issues
report_archiveMetGitHub Issues — publicly searchable
vulnerability_report_processMetSECURITY.md
vulnerability_report_privateMetPrivate advisory reporting
vulnerability_report_responseMet14-day initial response documented in SECURITY.md

Quality

CriterionStatusEvidence
buildMetgo build ./cmd/senditCONTRIBUTING.md
build_common_toolsMetStandard Go toolchain
build_floss_toolsMetGo is FLOSS — go.mod
testMetgo test ./...CONTRIBUTING.md
test_invocationMetgo test ./... is the idiomatic Go test invocation
test_mostMetcodecov.io/gh/lewta/sendit
test_continuous_integrationMetci.yml
test_policyMetCONTRIBUTING.md#testing-policy
tests_are_addedMetFuzz tests added with new input-handling functionality
tests_documented_addedMetCONTRIBUTING.md#testing-policy
warningsMetgolangci-lint — .golangci.yml
warnings_fixedMetCI fails on lint errors
warnings_strictMetgosec + staticcheck enabled

Security

CriterionStatusEvidence
know_secure_designMetAttested on platform
know_common_errorsMetAttested on platform
crypto_publishedMetUses stdlib crypto/tls only
crypto_callMetNo crypto reimplemented — go.mod
crypto_flossMetstdlib crypto is FLOSS
crypto_keylengthMetDelegated to stdlib TLS (NIST-compliant)
crypto_workingMetNo broken algorithms used
crypto_weaknessesMetstdlib TLS avoids known-weak algorithms
crypto_pfsMetTLS 1.3 default in Go stdlib provides PFS
crypto_password_storageN/Asendit stores no passwords
crypto_randomN/Asendit generates no cryptographic keys
delivery_mitmMetHTTPS downloads + SLSA provenance + checksums.txt — Releases
delivery_unsignedMetchecksums.txt served only via HTTPS
vulnerabilities_fixed_60_daysMetgovulncheck blocks merge on any known CVE — security.yml
vulnerabilities_critical_fixedMetgovulncheck + Dependabot security PRs
no_leaked_credentialsMetAll secrets via GitHub Actions secrets only

Analysis

CriterionStatusEvidence
static_analysisMetgolangci-lint + CodeQL — ci.yml
static_analysis_common_vulnerabilitiesMetgosec covers OWASP-class checks
static_analysis_fixedMetCI blocks merge on lint failure
static_analysis_oftenMetRuns on every PR
dynamic_analysisMetNative Go fuzz tests + go test -raceci.yml
dynamic_analysis_unsafeN/AGo is a memory-safe language
dynamic_analysis_enable_assertionsMetgo test -race run in CI
dynamic_analysis_fixedMetFuzz findings and race conditions addressed before merge