Skip to the content.

Gold Security Posture

This document records OpenSSF Best Practices Gold security posture decisions that depend on repository policy, cryptography usage, hosted-site hardening, and release signing. It exists so badge answers are backed by public project evidence instead of one-off form text.

Cryptography

coding-ethos does not implement custom cryptographic protocols. It relies on publicly reviewed mechanisms provided by supported platforms and libraries:

The project must not introduce private cryptographic algorithms or home-grown protocols. If a future feature needs cryptography, the design must identify the published protocol or library, algorithm agility path, credential rotation path, certificate/TLS verification behavior, and tests that prove verification is not disabled.

Certificate And TLS Verification

Repository-owned code that accesses remote HTTPS services must use standard TLS certificate verification. It must not disable certificate verification, trust arbitrary custom roots, or accept plaintext downgrade paths.

Credential Agility

Long-lived release credentials are avoided where supported:

Hosted-Site Hardening

The public project site is GitHub Pages generated from the same Markdown docs stored in the repository. The site is static: it has no login, no cookies, no server-side application state, and no project-managed password database.

Security expectations:

GitHub Pages controls most HTTP response headers for the hosted site. Because the project does not operate a custom web server for the docs site, unsupported headers such as a custom Content-Security-Policy are tracked as platform limits rather than repo-owned runtime code.

Repository Account Security

GitHub two-factor authentication is enabled for the account that administers the repository. As the project grows into a multi-maintainer or organization model, repository administration should require GitHub 2FA for every account with write, maintain, or admin access.

Release Signing And Tags

The release process requires signed v* tags. Release artifacts are then built by GitHub Actions from that tag and published with checksums, SBOM output, GitHub artifact attestations, offline .intoto.jsonl bundles, and PyPI Trusted Publishing attestations.

Before claiming a release-signing criterion as met, verify the public release tag with:

git tag -v vX.Y.Z

If a release tag is not signed and verified, do not mark the signed-release or signed-version-tag criteria as met for that release.