Skip to content

Add Document-Isolation-Policy HTTP header - #30939

Merged
Elchi3 merged 2 commits into
mdn:mainfrom
adamsilverstein:document-isolation-policy
Oct 22, 2026
Merged

Elchi3 merged 2 commits into
mdn:mainfrom
adamsilverstein:document-isolation-policy

Conversation

@adamsilverstein

@adamsilverstein adamsilverstein commented Oct 21, 2026 •

Copy link
Copy Markdown

WordPress uses this header to enable client-side media processing, so I am proposing it tracked here. It is also the first step toward a web-features ID that the Interop folks asked for.

Claude did the research and drafted the data, I checked it over:

Summary

Adds http.headers.Document-Isolation-Policy. The header lets a single document opt into cross-origin isolation (and so SharedArrayBuffer) without its embedder or embedded content sending COOP/COEP headers.

  • Chrome 137 on desktop, 146 on Android, after an origin trial in 132-136.
  • Edge, Opera and Samsung Internet are mirrored from Chrome.
  • WebView is set to false, since chromestatus lists no WebView milestone.
  • Firefox is set to false with impl_url pointing at the implementation bug. Mozilla's position is positive.
  • Safari is set to false with impl_url pointing at the implementation bug. WebKit has not taken a standards position yet.
  • experimental: true, since only one engine supports it and it has shipped for less than two years.
  • No mdn_url, because there is no MDN page yet.

The isolate-and-require-corp and isolate-and-credentialless values both shipped together with the header, so they are not split into subfeatures, following Cross-Origin-Embedder-Policy and Cross-Origin-Opener-Policy, which only add subfeatures for values that shipped later. Document-Isolation-Policy-Report-Only is left out of this PR because its reporting behavior hasn't been verified yet.

Test results and supporting details

A local test page served Document-Isolation-Policy and checked self.crossOriginIsolated and typeof SharedArrayBuffer in Chrome 155 (stable). With isolate-and-require-corp and isolate-and-credentialless the page is cross-origin isolated and SharedArrayBuffer is defined. With none, or with the header absent, it is not. This confirms current behavior only, not the 137 and 146 version numbers, which come from chromestatus.

npm run lint passes.

Related issues

AI Use

Claude Code drafted the data and this description, I steered and reviewed. I will review and test.

adamsilverstein and others added 2 commits October 21, 2026 15:37
Chrome shipped the header in 137 on desktop and 146 on Android (no WebView milestone).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018gf3BxtKgMJ57c1WJa8GP2
@github-actions github-actions Bot added the data:http Compatibility data for HTTP features. https://developer.mozilla.org/docs/Web/HTTP label Oct 21, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Tip: Review these changes grouped by change (recommended for most PRs), or grouped by feature (for large PRs).

@github-actions github-actions Bot added the size:m Pull request changing 25-100 lines of code. label Oct 21, 2026

@Elchi3 Elchi3 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, @adamsilverstein 👍

@Elchi3
Elchi3 merged commit 59b490a into mdn:main Oct 22, 2026
9 checks passed
@mdn-bot mdn-bot mentioned this pull request Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

data:http Compatibility data for HTTP features. https://developer.mozilla.org/docs/Web/HTTP size:m Pull request changing 25-100 lines of code.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants