v0.35.0
thevoiceguy/siphon-aiv0.35.0Jul 16, 2026by github-actions[bot]
Upgrading?
AI Summary
Security hardening is added via an optional bearer token authentication mechanism for the `/metrics` endpoint, allowing deployments to restrict access when the port is exposed externally.
Key Highlights
- Optional bearer token authentication for the `/metrics` endpoint.
- New configuration option `[observability].metrics_token`.
- Unset token defaults to an open endpoint, ensuring backward compatibility.
New Features
- Optional bearer auth for metrics endpoint.
Full Release Notes
### Added
- **Optional `/metrics` bearer auth** —
`[observability].metrics_token`
(`docs/design/DESIGN_METRICS_AUTH.md`; #294). Recon-hardening for
deployments that expose the observability port beyond loopback:
when set, `GET /metrics` requires `Authorization: Bearer <token>`
(SHA-256 + constant-time compare, the admin listener's scheme; only
the hash is retained in memory). Failures answer `401` +
`WWW-Authenticate: Bearer`. **Unset = open**, the default —
existing deployments are unchanged. `/health` and `/ready` are
never gated (probes must not need secrets). Empty-after-expansion
tokens fail at load; use `${file:…}` / `${cred:…}`.
Prometheus-side `authorization.credentials_file` snippet documented
in `docs/DEPLOY.md` and `examples/observability/prometheus.yml`.
- **Metric**: `siphon_ai_metrics_requests_total{result=ok|unauthenticated}`
— emitted only when the gate is configured (an open endpoint counts
nothing); rejected scrapes also log a rate-limited warning.
This closes the last locally-buildable P2 roadmap item. No WS-protocol,
CDR, or webhook changes.
---
**Artifacts**
- Static musl binaries for `x86_64` and `aarch64` (`.tar.gz`).
- Debian packages (`.deb`) for `amd64` and `arm64` — `apt install ./siphon-ai_*_amd64.deb`.
- `SHA256SUMS` — verify with `sha256sum -c SHA256SUMS`.
- `*-sbom.cdx.json` — CycloneDX SBOM.
- `SHA256SUMS.cosign.bundle` — cosign keyless signature over the checksums.
- Container: `ghcr.io/thevoiceguy/siphon-ai:v0.35.0` (multi-arch, cosign-signed).
Verify the checksums signature:
```
cosign verify-blob --bundle SHA256SUMS.cosign.bundle \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp 'release.yml@' SHA256SUMS
```
Related Repositories
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one