Subresource Integrity Policy
Requires selected script and style requests to carry integrity metadata, with an optional report-only rollout mode.
Support in current browsers
Checked against the current browser versions recorded in MDN browser data 8.1.5.
| Browser | Minimum | Outcome | Reason |
|---|---|---|---|
| Chrome | 155 | Works | Every required mapped BCD feature is available without a recorded qualification. |
| Edge | 154 | Works | Every required mapped BCD feature is available without a recorded qualification. |
| Firefox | 157 | Works with limits | Every required mapped feature is available, but BCD records one or more qualifications. |
| Safari | 27 | Works | Every required mapped BCD feature is available without a recorded qualification. |
| Chrome for Android | 155 | Works | Every required mapped BCD feature is available without a recorded qualification. |
| Firefox for Android | 157 | Works with limits | Every required mapped feature is available, but BCD records one or more qualifications. |
| Safari on iOS | 27 | Works | Every required mapped BCD feature is available without a recorded qualification. |
| Android WebView | 155 | Works | Every required mapped BCD feature is available without a recorded qualification. |
| Samsung Internet | 30.0 | Works | Every required mapped BCD feature is available without a recorded qualification. |
How support changed
Each segment groups recorded releases with the same result. Gaps between recorded versions are not filled in. This is support at each release, rather than the planner’s check of every release above a minimum.
Chrome
http.headers.Integrity-Policy- 1 – 137136 recorded releasesNot supported
- 138 – 15518 recorded releasesWorks
http.headers.Integrity-Policy-Report-Only- 1 – 137136 recorded releasesNot supported
- 138 – 15518 recorded releasesWorks
Edge
http.headers.Integrity-Policy- 12 – 13765 recorded releasesNot supported
- 138 – 15417 recorded releasesWorks
http.headers.Integrity-Policy-Report-Only- 12 – 13765 recorded releasesNot supported
- 138 – 15417 recorded releasesWorks
Firefox
http.headers.Integrity-Policy- 1 – 144147 recorded releasesNot supported
- Partial implementation
- Reporting <code>endpoints</code> are ignored (violations are logged to console).
- 145 – 15713 recorded releasesWorks with limits
- Partial implementation
- Reporting <code>endpoints</code> are ignored (violations are logged to console).
http.headers.Integrity-Policy-Report-Only- 1 – 144147 recorded releasesNot supported
- Partial implementation
- Reporting <code>endpoints</code> are ignored (violations are logged to console).
- 145 – 15713 recorded releasesWorks with limits
- Partial implementation
- Reporting <code>endpoints</code> are ignored (violations are logged to console).
Safari
http.headers.Integrity-Policy- 1 – 18.653 recorded releasesNot supported
- 26 – 278 recorded releasesWorks
http.headers.Integrity-Policy-Report-Only- 1 – 18.653 recorded releasesNot supported
- 26 – 278 recorded releasesWorks
Chrome for Android
http.headers.Integrity-Policy- 18 – 137113 recorded releasesNot supported
- 138 – 15518 recorded releasesWorks
http.headers.Integrity-Policy-Report-Only- 18 – 137113 recorded releasesNot supported
- 138 – 15518 recorded releasesWorks
Firefox for Android
http.headers.Integrity-Policy- 4 – 144128 recorded releasesNot supported
- Partial implementation
- Reporting <code>endpoints</code> are ignored (violations are logged to console).
- 145 – 15713 recorded releasesWorks with limits
- Partial implementation
- Reporting <code>endpoints</code> are ignored (violations are logged to console).
http.headers.Integrity-Policy-Report-Only- 4 – 144128 recorded releasesNot supported
- Partial implementation
- Reporting <code>endpoints</code> are ignored (violations are logged to console).
- 145 – 15713 recorded releasesWorks with limits
- Partial implementation
- Reporting <code>endpoints</code> are ignored (violations are logged to console).
Safari on iOS
http.headers.Integrity-Policy- 1 – 18.650 recorded releasesNot supported
- 26 – 278 recorded releasesWorks
http.headers.Integrity-Policy-Report-Only- 1 – 18.650 recorded releasesNot supported
- 26 – 278 recorded releasesWorks
Android WebView
http.headers.Integrity-Policy- 1 – 137108 recorded releasesNot supported
- 138 – 15518 recorded releasesWorks
http.headers.Integrity-Policy-Report-Only- 1 – 137108 recorded releasesNot supported
- 138 – 15518 recorded releasesWorks
Samsung Internet
http.headers.Integrity-Policy- 1.0 – 29.051 recorded releasesNot supported
- 30.01 recorded releaseWorks
http.headers.Integrity-Policy-Report-Only- 1.0 – 29.051 recorded releasesNot supported
- 30.01 recorded releaseWorks
BCD 8.1.5 · catalogue 2.3.0. Source corrections can change this trace without a new browser release.
What this feature can and cannot do
Helps protect against
- Executable subresources without integrity metadata
- Incomplete SRI deployment coverage
Does not guarantee
- Incorrect but well-formed integrity metadata
- Compromise of the document that declares the policy
- Resource types outside the selected blocked destinations
What you need before using it
- SRI metadata on affected resources
- Reporting endpoints when policy reports are required
Fallback to keep in place
Inventory executable resources and enforce equivalent build-time checks where Integrity Policy is unavailable.