How to add Cross-Origin-Embedder-Policy on IIS
Last updated · Reviewed by a CISSP-certified security practitioner
To add Cross-Origin-Embedder-Policy on IIS, set the header in web.config with the value require-corp. Requires embedded resources to opt in (enables cross-origin isolation). Save web.config; IIS applies it on the next request. Recycle the app pool if needed. Then confirm it with curl -I or a free FixSecurityHeaders scan.
What does Cross-Origin-Embedder-Policy do?
COEP makes the page refuse cross-origin resources that haven't opted in via CORP or CORS. Combined with COOP it enables cross-origin isolation.
Risk if missing: Informational: mainly needed for SharedArrayBuffer and high-precision timers.
What is the IIS configuration?
Add this to web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Cross-Origin-Embedder-Policy" value="require-corp" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>How do I add it step by step?
- Open web.config.
- Paste the Cross-Origin-Embedder-Policy configuration shown below.
- Save web.config; IIS applies it on the next request. Recycle the app pool if needed.
- Run curl -I https://yourdomain.com and look for the cross-origin-embedder-policy line.
- Scan your site on FixSecurityHeaders to confirm the grade improved.
How do I verify it worked?
curl -sI https://yourdomain.com | grep -i "cross-origin-embedder-policy"
# expected:
# cross-origin-embedder-policy: require-corpCheck your site now
Free scan, instant grade, exact fixes for your stack.
What are the common mistakes?
- Easily breaks third‑party images, fonts and embeds. Consider credentialless, and only deploy if you need isolation.
- Headers in web.config apply to every response from that site.
- Removing the Server header requires removeServerHeader (IIS 10+) or URL Rewrite.
Quick reference
| Header | Cross-Origin-Embedder-Policy |
|---|---|
| Recommended value | require-corp |
| Stack | IIS |
| Where | web.config |
| Compliance | OWASP ASVS V14.4 |
FAQ
What value should I use for Cross-Origin-Embedder-Policy?
A safe default is require-corp. Easily breaks third‑party images, fonts and embeds. Consider credentialless, and only deploy if you need isolation.
Why isn't Cross-Origin-Embedder-Policy showing up on IIS?
Headers in web.config apply to every response from that site. Also clear any CDN or page cache, and check you edited the config that actually serves your domain.
Does Cross-Origin-Embedder-Policy affect SEO or performance?
No measurable performance cost — it's a few bytes per response. It doesn't affect rankings directly, but a misconfigured policy can break page resources, so test before enforcing.
Which compliance frameworks reference Cross-Origin-Embedder-Policy?
OWASP ASVS V14.4.
Related guides
- Cross-Origin-Embedder-Policy explained
- Cross-Origin-Embedder-Policy on Nginx
- Cross-Origin-Embedder-Policy on Apache
- Cross-Origin-Embedder-Policy on Cloudflare
- Cross-Origin-Embedder-Policy on Vercel
- Strict-Transport-Security on IIS
- Content-Security-Policy on IIS
- X-Content-Type-Options on IIS
- X-Frame-Options on IIS