chore(work): finish 07-security-header-adapters
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"updated_at": "2026-05-20T09:48:15.365Z",
|
"updated_at": "2026-05-20T09:58:23.827Z",
|
||||||
"epics": {
|
"epics": {
|
||||||
"binder-wrap-helper": {
|
"binder-wrap-helper": {
|
||||||
"status": "done",
|
"status": "done",
|
||||||
@@ -634,10 +634,10 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"07-security-header-adapters": {
|
"07-security-header-adapters": {
|
||||||
"status": "in-progress",
|
"status": "done",
|
||||||
"title": "Per-framework security header adapters",
|
"title": "Per-framework security header adapters",
|
||||||
"ac_total": 2,
|
"ac_total": 2,
|
||||||
"ac_completed": 1,
|
"ac_completed": 2,
|
||||||
"depends_on": [
|
"depends_on": [
|
||||||
"06-security-headers-core-module"
|
"06-security-headers-core-module"
|
||||||
],
|
],
|
||||||
@@ -688,8 +688,13 @@
|
|||||||
"ready": [
|
"ready": [
|
||||||
{
|
{
|
||||||
"epic": "security-headers-rate-limit-sbom",
|
"epic": "security-headers-rate-limit-sbom",
|
||||||
"story": "07-security-header-adapters",
|
"story": "08-app-wiring-web-next",
|
||||||
"title": "Per-framework security header adapters"
|
"title": "App wiring: web-next"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"epic": "security-headers-rate-limit-sbom",
|
||||||
|
"story": "09-app-wiring-web-tanstack-and-cms",
|
||||||
|
"title": "App wiring: web-tanstack and cms"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"epic": "security-headers-rate-limit-sbom",
|
"epic": "security-headers-rate-limit-sbom",
|
||||||
@@ -702,23 +707,6 @@
|
|||||||
"title": "Documentation and conformance reference updates"
|
"title": "Documentation and conformance reference updates"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"blocked": [
|
"blocked": [],
|
||||||
{
|
|
||||||
"epic": "security-headers-rate-limit-sbom",
|
|
||||||
"story": "08-app-wiring-web-next",
|
|
||||||
"title": "App wiring: web-next",
|
|
||||||
"waiting_on": [
|
|
||||||
"security-headers-rate-limit-sbom/07-security-header-adapters"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"epic": "security-headers-rate-limit-sbom",
|
|
||||||
"story": "09-app-wiring-web-tanstack-and-cms",
|
|
||||||
"title": "App wiring: web-tanstack and cms",
|
|
||||||
"waiting_on": [
|
|
||||||
"security-headers-rate-limit-sbom/07-security-header-adapters"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"needs_prd_ship": []
|
"needs_prd_ship": []
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ id: 07-security-header-adapters
|
|||||||
epic: security-headers-rate-limit-sbom
|
epic: security-headers-rate-limit-sbom
|
||||||
title: Per-framework security header adapters
|
title: Per-framework security header adapters
|
||||||
type: technical-story
|
type: technical-story
|
||||||
status: in-progress
|
status: done
|
||||||
feature: core-shared
|
feature: core-shared
|
||||||
depends-on: [06-security-headers-core-module]
|
depends-on: [06-security-headers-core-module]
|
||||||
blocks: [08-app-wiring-web-next, 09-app-wiring-web-tanstack-and-cms]
|
blocks: [08-app-wiring-web-next, 09-app-wiring-web-tanstack-and-cms]
|
||||||
created: 2026-05-20T00:00:00Z
|
created: 2026-05-20T00:00:00Z
|
||||||
updated: 2026-05-20T09:48:15.201Z
|
updated: 2026-05-20T09:58:23.659Z
|
||||||
---
|
---
|
||||||
|
|
||||||
## Goal
|
## Goal
|
||||||
@@ -42,4 +42,4 @@ Adapters follow the `core-analytics/react` subpath pattern established in the co
|
|||||||
## Tasks
|
## Tasks
|
||||||
|
|
||||||
- [x] Implement `packages/core-shared/src/security/next/index.ts`: Next.js middleware calling `generateNonce()` + `buildSecurityHeaders`, setting all six headers and `x-nonce` on the response, plus `getNonce()` helper reading `x-nonce` from Next.js `headers()`; add subpath to `package.json` exports; adapter tests asserting all headers present, nonce in response headers, `getNonce()` reads it; all gates pass.
|
- [x] Implement `packages/core-shared/src/security/next/index.ts`: Next.js middleware calling `generateNonce()` + `buildSecurityHeaders`, setting all six headers and `x-nonce` on the response, plus `getNonce()` helper reading `x-nonce` from Next.js `headers()`; add subpath to `package.json` exports; adapter tests asserting all headers present, nonce in response headers, `getNonce()` reads it; all gates pass.
|
||||||
- [ ] Implement `packages/core-shared/src/security/tanstack/index.ts`: TanStack Start server middleware equivalent (generate nonce, set headers + `x-nonce`) plus request-context nonce extractor; add subpath to `package.json` exports; adapter tests asserting equivalent header + nonce behaviour; all gates pass.
|
- [x] Implement `packages/core-shared/src/security/tanstack/index.ts`: TanStack Start server middleware equivalent (generate nonce, set headers + `x-nonce`) plus request-context nonce extractor; add subpath to `package.json` exports; adapter tests asserting equivalent header + nonce behaviour; all gates pass.
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ status: in-progress
|
|||||||
features:
|
features:
|
||||||
[core-shared, core-testing, core-eslint, auth, web-next, web-tanstack, cms]
|
[core-shared, core-testing, core-eslint, auth, web-next, web-tanstack, cms]
|
||||||
created: 2026-05-20T00:00:00Z
|
created: 2026-05-20T00:00:00Z
|
||||||
updated: 2026-05-20T09:35:46.924Z
|
updated: 2026-05-20T09:58:23.659Z
|
||||||
---
|
---
|
||||||
|
|
||||||
## Goal
|
## Goal
|
||||||
@@ -26,7 +26,7 @@ Security scanners flag the absence of HSTS, X-Frame-Options, X-Content-Type-Opti
|
|||||||
- [x] [04 — `withRateLimit` wrapper and conformance extensions](04-with-rate-limit-wrapper-and-conformance/_story.md)
|
- [x] [04 — `withRateLimit` wrapper and conformance extensions](04-with-rate-limit-wrapper-and-conformance/_story.md)
|
||||||
- [x] [05 — auth.signIn rate-limit backfill](05-auth-signin-rate-limit-backfill/_story.md)
|
- [x] [05 — auth.signIn rate-limit backfill](05-auth-signin-rate-limit-backfill/_story.md)
|
||||||
- [x] [06 — Security headers core module](06-security-headers-core-module/_story.md)
|
- [x] [06 — Security headers core module](06-security-headers-core-module/_story.md)
|
||||||
- [ ] [07 — Per-framework security header adapters](07-security-header-adapters/_story.md)
|
- [x] [07 — Per-framework security header adapters](07-security-header-adapters/_story.md)
|
||||||
- [ ] [08 — App wiring: web-next](08-app-wiring-web-next/_story.md)
|
- [ ] [08 — App wiring: web-next](08-app-wiring-web-next/_story.md)
|
||||||
- [ ] [09 — App wiring: web-tanstack and cms](09-app-wiring-web-tanstack-and-cms/_story.md)
|
- [ ] [09 — App wiring: web-tanstack and cms](09-app-wiring-web-tanstack-and-cms/_story.md)
|
||||||
- [ ] [10 — SBOM CI workflow and ADR-023 amendment](10-sbom-ci-workflow/_story.md)
|
- [ ] [10 — SBOM CI workflow and ADR-023 amendment](10-sbom-ci-workflow/_story.md)
|
||||||
|
|||||||
Reference in New Issue
Block a user