Security
Security policy, supported versions, and how to report a vulnerability.
Supported versions
sendit follows a rolling release model. Only the latest stable release receives security updates.
| Version | Supported |
|---|---|
| Latest stable | ✓ |
| All previous | ✗ |
Latest security hardening release
The latest stable release is v1.6.0. Security hardening from the July 2026 Codex Security scan shipped in v1.2.5 and remains included in current releases. That hardening keeps supported workflows intact while tightening several defaults:
- Cross-host HTTP redirects are blocked by default; set
http.allow_cross_host_redirects: trueonly when cross-host redirects are intentional. - Opt-in cross-host redirects still pass through per-domain rate limiting before the redirected request is sent.
sendit generate --urlkeeps robots.txt sitemap discovery within the seed origin and skips oversized HTML and sitemap responses.- The optional Prometheus metrics listener binds to loopback by default because metric labels include target domains; set
metrics.bind_address: 0.0.0.0only when exposing metrics intentionally. - Scheduled pacing remains paused outside active cron windows instead of dispatching after each poll interval.
No CVE has been assigned for this release. See the v1.2.5 release notes for the full changelog and artifacts.
Reporting a vulnerability
Do not open a public GitHub issue for security vulnerabilities.
Use GitHub’s private vulnerability reporting to submit a report confidentially. You will receive acknowledgement within 48 hours and a resolution target within 7 days.
Please include:
- A description of the vulnerability and its potential impact
- Steps to reproduce or a proof-of-concept
- Any suggested fix or mitigation (optional)
Disclosure policy
We follow coordinated disclosure. Once a fix is available, we will publish a GitHub Security Advisory and release a patched version simultaneously. We aim to resolve confirmed reports within 30 days of a confirmed report.
Build provenance
All release artifacts from v0.12.2 onwards include SLSA provenance attestations generated by GitHub Actions. You can verify that a downloaded artifact was produced by this repository’s CI pipeline and has not been tampered with:
gh attestation verify <artifact> --owner lewtaRequires the GitHub CLI (v2.49.0+). On success the command prints the signing certificate details and exits 0; on failure it exits non-zero.
Example:
gh attestation verify sendit_0.12.2_linux_amd64.tar.gz --owner lewta
# Loaded digest sha256:... for file://sendit_0.12.2_linux_amd64.tar.gz
# ✓ Attestation verified — sendit_0.12.2_linux_amd64.tar.gz was attested by https://github.com/lewta/sendit/.github/workflows/release.ymlSecurity policy
The full security policy is maintained in SECURITY.md in the repository root.