- Deployment history and release metadata.
- API and webhook credentials.
- Audit integrity and metric correctness.
- Availability of the release-operations console.
- External GitHub/CI event producers to the webhook endpoint.
- Browser clients to the API.
- API process to the database.
- Container runtime to the cluster/node.
- HMAC SHA-256 webhook verification with constant-time comparison.
- API-key authentication for mutating endpoints outside local mode.
- Payload size cap, strict Pydantic enums, and bounded query limits.
- SQLAlchemy parameterized queries and unique idempotency constraint.
- Non-root containers, dropped Linux capabilities, read-only roots, and
seccompdefaults. - Audit events linked by previous hash and event hash.
- Health probes and Prometheus metrics for detection.
- The local API-key model is intentionally small; production should sit behind OIDC or a service-to-service identity layer.
- Hash-chain append is single-writer safe. Use a database lock/transaction policy or an external append-only stream when scaling writers horizontally.
- The dashboard should use a CSP and CSRF strategy when cookie authentication is introduced.
- Secrets in Kubernetes must come from an external secret manager;
secret.example.yamlis a shape-only example.