[Feature] Machine-readable project metadata, so a third party can attest without asking #555
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#555
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
One recommendation in
proposals/gen-two-tier-approach.md(orcwg/cra-attestations) is easy to miss and is the most useful idea in the document. Attestations may be issued by unaffiliated third parties — researchers, manufacturers, national bodies — and for that to work without pestering the maintainer, the project's information should be public in a form that lets third parties generate an attestation through machine automatable means.Why this is worth doing even though we already publish everything. All the facts exist:
SECURITY.md,CONTRIBUTING.md,LICENSE.md,sbom/,docs/BUILD.md,docs/CHECKS.md. They exist as prose in a dozen files, in two languages, written for humans. A downstream user who wants to know our disclosure terms has to readSECURITY.mdandtool/check_service_norms.dart. That is a burden we impose on them and, when they ask by e-mail, a burden that comes straight back to us.The form. OpenSSF Security Insights is the existing specification for this: a
SECURITY-INSIGHTS.ymlin the repository root carrying the project's contacts, disclosure terms, dependency policy, build and release facts, and links to the artefacts. It is machine-readable, versioned, and already consumed by third-party tooling — which beats inventing our own JSON. Check the current spec version before adopting; it has moved.What this issue delivers
SECURITY-INSIGHTS.yml(or whatever the current spec names it), filled in from the files that already hold the facts.SECURITY.mdis worse than none, because it is the copy a machine reads. This repository's habit applies: a test that fails when the two disagree — at minimum the security contact, the disclosure terms, and the licence. Same reflex asdocs_registration_testandsbom_test.COMPLIANCE.md(#549) andSECURITY.md, so a human finds it too.Second-order benefit. Writing the facts in a schema forces the gaps into the open — support period, release cadence, signing — which are exactly the fields #520, #551 and #552 are about. Expect this issue to find things.
Judgement call to make first: whether one more root-level file earns its place, or whether this is compliance decoration. The argument for is that it removes work rather than adding it — every field a third party can read is a question nobody has to send us.