Current section

Files

Jump to
ash_onetime SECURITY.md
Raw

SECURITY.md

# Security policy
Please report suspected vulnerabilities privately to the maintainers through GitHub's
private vulnerability reporting for `baselabs/ash_onetime`. Do not open a public issue
until a maintainer confirms disclosure is safe.
## Supported versions
| Release line | Bug fixes | Security fixes |
| --- | --- | --- |
| Pre-1.0: latest published minor (the `0.7.x` line — superseded by 1.0.0; upgrade) | No | No — upgrade to 1.x |
| Pre-1.0: older minors | No | No — upgrade to the latest minor |
| From 1.0.0: latest minor | Yes | Yes |
| From 1.0.0: previous minor | Security-driven only | Yes — backported patch releases |
From 1.0.0 the security window covers the latest two minors. The window may widen
(announced as a docs change) and never silently narrows — a narrowing is announced one
minor ahead in the release notes.
## Fix and disclosure policy
- Security fixes ship as patch releases on the supported minors. A fix that takes the
form of a dependency-floor raise (the v0.7.0 class) follows the floor policy: a minor
on the latest line, plus — once 1.0.0 splits the window — a patch backport carrying
only the floor raise on the second supported minor. Fix development happens in the
advisory's private collaboration space; the advisory is published when the patches are
out.
- A vulnerable dependency floor is a security issue of this package. The published
requirement range is part of ash_onetime's security surface — a security library must
not resolve to a vulnerable floor. Dependency advisories that affect a supported
minor's resolvable range get the same intake, severity, and backport handling as
direct defects.
- Advisories publish as GitHub Security Advisories (GHSA; CVE IDs via GitHub's CNA) and
are linked from the CHANGELOG entry of the fixing release. Reporters are credited by
name unless they decline.
- No hard SLA and no automatic disclosure deadline: private reports are acknowledged
within 7 days, receive status updates at least weekly while open, and publish
cooperatively with the reporter. Mitigations and workarounds are published first when
a fix needs longer.
Reports should include the affected commit or release, a minimal reproduction, impact,
and whether the issue concerns scope isolation, admission uncertainty, replay,
cryptography, response persistence, or cleanup.
Security invariants include mandatory explicit scope, PostgreSQL-only admission authority,
fail-closed nonce uncertainty, digest- and contract-bound response replay, trusted-local-only
verification facts, strict post-horizon cleanup, and conservative external recovery. Optional
caches, Plug extraction, and Oban scheduling cannot grant admission.
Do not include production keys, tokens, signatures, response payloads, tenant data, or database
credentials in a report. Use synthetic evidence and coordinate encrypted transfer if a secret
is essential to reproduction. See [the security model](documentation/security.md) for trust
boundaries and named misuses.