Skip to content

content(security): add cross-origin isolation (COOP / COEP / CORP)#32

Merged
jdevalk merged 3 commits into
mainfrom
content/cross-origin-isolation
Jun 11, 2026
Merged

content(security): add cross-origin isolation (COOP / COEP / CORP)#32
jdevalk merged 3 commits into
mainfrom
content/cross-origin-isolation

Conversation

@jdevalk

@jdevalk jdevalk commented Jun 11, 2026

Copy link
Copy Markdown
Owner

What changed

Adds a new security spec page: Cross-origin isolation (COOP / COEP / CORP) at src/content/spec/security/cross-origin-isolation.md, and wires relatedSlugs on the three adjacent security pages (content-security-policy, frame-ancestors, permissions-policy).

Why now

The site already ships Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Resource-Policy: same-site on every response (public/_headers), but no spec page documented them. This closes the "ship it before you spec it" divergence — we recommend a behaviour we already implement, with a worked-example callout pointing at our own _headers.

Primary sources

Status: recommended

Not required — the platform contract does not break without these headers; most sites function without them. Not merely optional — they are baseline hardening against tabnabbing / XS-Leaks (COOP) and Spectre-style cross-origin resource theft (CORP), and we ship two of the three. Full cross-origin isolation via COEP: require-corp is described as opt-in/situational within the page, since it can break third-party embeds and is only needed for SharedArrayBuffer-class APIs.

Verification

  • npm run build passes; Pagefind indexes 135 pages (was 134).
  • New page renders at /spec/security/cross-origin-isolation/, serves at .md, and appears in /checklist/ and /llms.txt.
  • SKILL.md says "130+ pages" (rounded) and categories are unchanged, so no digest update was required.

Draft — not for merge without human review. MCP Worker redeploy is a post-merge human step.

🤖 Generated with Claude Code

jdevalk and others added 2 commits June 9, 2026 22:42
- open-graph: drop dead MDN "Open Graph protocol" page (Web/OpenGraph now 404s; MDN removed the standalone page). Primary source ogp.me already cited, so coverage is unaffected.
- hreflang: Google renamed the docs path segment specialized -> specialty; old URL 404s.
- global-privacy-control: GPC spec moved to the W3C org (w3c.github.io/gpc/); old globalprivacycontrol.github.io/gpc-spec/ 404s.

Bumped `updated` on each. URLs verified live before committing.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The site already ships Cross-Origin-Opener-Policy: same-origin and
Cross-Origin-Resource-Policy: same-site in public/_headers, but had no
spec page documenting them. Add a security page covering COOP, COEP and
CORP, wire relatedSlugs on the three adjacent security pages.

Closes the ship-it-before-you-spec-it gap for these headers.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 11, 2026

Copy link
Copy Markdown

Deploying specification-website with  Cloudflare Pages  Cloudflare Pages

Latest commit: f6faa97
Status: ✅  Deploy successful!
Preview URL: https://a52c626d.specification-website.pages.dev
Branch Preview URL: https://content-cross-origin-isolati.specification-website.pages.dev

View logs

…efit

Rewrite the COOP/CORP 'Why it matters' to lead with the concrete harm
to real users (tabnabbing, silent cross-site snooping) before the
mechanism, define Spectre plainly instead of the jargon 'Spectre-style
memory disclosure', and link web.dev's cross-origin isolation explainer.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jdevalk jdevalk marked this pull request as ready for review June 11, 2026 07:54
@jdevalk jdevalk merged commit 14bc7c3 into main Jun 11, 2026
8 checks passed
@jdevalk jdevalk deleted the content/cross-origin-isolation branch June 11, 2026 07:54
jdevalk added a commit that referenced this pull request Jun 11, 2026
PR #32 merged the spec page but omitted two tracked artifacts: the
changelog entry and the per-page OG image. Add both, plus the four
count-driven OG images the new page bumps (homepage/checklist/spec
totals + security category count). Every page now has an OG image.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant