Context
Four operational gaps that are individually small but together block GA. All have concrete remediations and code-side scaffolding already in place — the missing piece is the operator pulling them together.
Acceptance criteria
Cloud Armor policy (INF-02)
Alertmanager webhook secrets (INF-01)
Cosign signing + Binary Authorization (INF-03)
Hub HSTS header (RT-04)
Severity
High — GA blocker. None require deep engineering; together they remove silent-degradation risks and meet the security-hardening bar a USDC-supporting public hub should clear.
Evidence pointers
final_readiness_report.html §7.3 (INF-01, INF-02, INF-03), §4.4 RT-04, §13.1 item 6.
infra/k8s/01-hub.yaml:107-152, infra/k8s/04-alertmanager.yaml:39-52, .github/workflows/gke-images.yml:217-243.
Context
Four operational gaps that are individually small but together block GA. All have concrete remediations and code-side scaffolding already in place — the missing piece is the operator pulling them together.
Acceptance criteria
Cloud Armor policy (INF-02)
pico-hub-armorsecurity policy viagcloud compute security-policies create pico-hub-armorwith the rules already documented ininfra/k8s/01-hub.yaml:107-124(XSS, SQLi, default rate-limit 100 req/min per IP).BackendConfigin01-hub.yaml:140references the live policy.Alertmanager webhook secrets (INF-01)
.secrets/monitoring-prod.envwith realALERTMANAGER_DEFAULT_WEBHOOK_URL,ALERTMANAGER_PAGER_WEBHOOK_URL,ALERTMANAGER_TRIAGE_WEBHOOK_URL(PagerDuty, Slack, triage destination).infra/k8s/secrets-bootstrap.sh --bootstrap-monitoring --env-file .secrets/monitoring-prod.env.url_fileread errors in pod logs).Cosign signing + Binary Authorization (INF-03)
COSIGN_PRIVATE_KEYrepo secret to the KMS reference (preferred over raw blob).Hub HSTS header (RT-04)
apps/hub/src/server.tsthat emitsStrict-Transport-Security: max-age=63072000; includeSubDomains; preloadon every response.hub.pico.taiko.xyzto https://hstspreload.org once verified in production.Severity
High — GA blocker. None require deep engineering; together they remove silent-degradation risks and meet the security-hardening bar a USDC-supporting public hub should clear.
Evidence pointers
final_readiness_report.html§7.3 (INF-01, INF-02, INF-03), §4.4 RT-04, §13.1 item 6.infra/k8s/01-hub.yaml:107-152,infra/k8s/04-alertmanager.yaml:39-52,.github/workflows/gke-images.yml:217-243.