m365.cloud.microsoft
Grade B · 70/100 · 5/7 security headers present
Security Score
Security Headers
CSP Violations
Issues Found
Recommendations
Security
70 / 100Good security foundation but some CSP hardening recommended.
Compliance
67 / 100Several compliance gaps found in CSP implementation.
Best Practices
85 / 100Good practices in place but missing some important optimizations.
CSP Analysis
default-src 'self';base-uri 'self';script-src 'nonce-mVeahZx3dsfZSs4qJ5T01A==' 'strict-dynamic' 'report-sample' https:;report-to csp-endpoint;upgrade-insecure-requests;style-src 'self' 'report-sample' *.cdn.office.net *.microsoft.com res-dev.cdn.officeppe.net 'unsafe-inline' https://www.microsoft.com/;font-src 'self' data: *.cdn.office.net res-dev.cdn.officeppe.net data c.s-microsoft.com *.microsoft.com;connect-src 'self' https://browser.pipe.aria.microsoft.com https://browser.events.data.microsoft.com *.office.com *.cdn.office.net res-dev.cdn.officeppe.net https://consentreceiverfd-prod.azurefd.net https://*.clarity.ms/collect https://turbo.microsoft.com https://deeplinkservice.svc.cloud.microsoft https://sdf.deferreddeeplinkservice.microsoft.com data:;frame-src https://login.microsoftonline.com https://login.live.com mem.gfx.ms amcdn.msftauth.net amcdn.msauth.net;img-src * data: blob:;worker-src 'self' blob:;child-src 'self' blob:;report-uri https://csp.microsoft.com/report/Harmony-App-PROD;form-action https://login.microsoftonline.com;frame-ancestors 'self';
Directive Analysis
Missing Directives
Strict-Dynamic Analysis
Security Headers
Isolates the browsing context to prevent Spectre-type side-channel attacks and cross-origin window manipulation.
How to add it:
add_header Cross-Origin-Opener-Policy "same-origin" always;Header always set Cross-Origin-Opener-Policy "same-origin"Rules > Transform Rules > HTTP Response Header Modification > Set Cross-Origin-Opener-Policy to "same-origin"Restricts which browser features (camera, microphone, geolocation) the page can use, limiting attack surface.
How to add it:
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"Rules > Transform Rules > HTTP Response Header Modification > Set Permissions-Policy valuestrict-origin-when-cross-origin
Controls how much referrer information is sent with requests, preventing data leaks to third parties.
max-age=31536000; includeSubDomains
Forces browsers to use HTTPS for all future requests, preventing man-in-the-middle attacks and SSL stripping.
nosniff
Prevents browsers from MIME-sniffing responses away from the declared Content-Type, blocking drive-by downloads.
SAMEORIGIN
Prevents the page from being embedded in iframes, protecting against clickjacking attacks.
1; mode=block
Legacy XSS filter for older browsers. Modern browsers use CSP instead. Set to "0" to avoid false positives.
2 recommended security headers are missing on m365.cloud.microsoft.
Issues Found
- •CRITICAL: 'https:' in script-src allows scripts from ANY HTTPS domaincritical
- •CRITICAL: Bare wildcard (*) in img-src allows ANY sourcecritical
- •DANGER: 'http:' or 'https:' scheme-source alongside strict-dynamic — older browsers that don't support strict-dynamic will fall back to allowing scripts from ANY HTTP/HTTPS origincritical
- •Deprecated: 'report-uri' is deprecated in CSP Level 3. Use 'report-to' directive instead.info
- •Info: 'blob:' URI in child-srcinfo
- •Info: 'blob:' URI in img-srcinfo
- •Info: 'blob:' URI in worker-srcinfo
- •Info: 'data:' URI in connect-srcinfo
- •Info: 'data:' URI in font-srcinfo
- •Info: 'data:' URI in img-srcinfo
- •Missing HIGH directive object-src (Plugin control - should be 'none')high
- •Missing security header: Cross-Origin-Opener-Policymedium
- •Missing security header: Permissions-Policymedium
- •RISK: 'blob:' in worker-src allows creation of workers from dynamic blob contentmedium
- •Subdomain wildcard '*.cdn.office.net' in connect-src - vulnerable to subdomain takeovermedium
- •Subdomain wildcard '*.cdn.office.net' in font-src - vulnerable to subdomain takeovermedium
- •Subdomain wildcard '*.cdn.office.net' in style-src - vulnerable to subdomain takeovermedium
- •Subdomain wildcard '*.microsoft.com' in font-src - vulnerable to subdomain takeovermedium
- •Subdomain wildcard '*.microsoft.com' in style-src - vulnerable to subdomain takeovermedium
- •Subdomain wildcard '*.office.com' in connect-src - vulnerable to subdomain takeovermedium
- •Unsafe inline execution allowed in style-srchigh
- •Whitelist entries ["https:"]... are ignored when strict-dynamic is present (CSP3 behavior)medium
Recommendations
- →Add object-src directive with appropriate restrictions
- →Consider implementing a stricter Content Security Policy
- →Replace wildcards (*) with specific source lists
Beyond headers: infrastructure exposure
via OSN, our sister projectSecurity headers protect the browser. OSN maps what's exposed underneath — servers, open ports, known CVEs, DNS and WHOIS.
m365.cloud.microsoft
1 scan since 3/22/2026
Latest: 70/100
Total Scans
1
Latest Score
70/100
First Scan
3/22/2026
Last Scan
3/22/2026
Security
70 / 100Good security foundation but some CSP hardening recommended.
Compliance
67 / 100Several compliance gaps found in CSP implementation.
Best Practices
85 / 100Good practices in place but missing some important optimizations.
Scan History
| Date | Score | CSP | Headers | Issues | Action |
|---|---|---|---|---|---|
| Mar 22, 2026 | B (70) | Yes | 5/7 | 22 | View → |
Show off your security grade
Embed this badge on your site or README. It updates automatically after each scan and links back to this report.
<a href="https://headertest.com/results/m365.cloud.microsoft" title="Security headers grade for m365.cloud.microsoft — HeaderTest">
<img src="https://headertest.com/api/badge/m365.cloud.microsoft" alt="HeaderTest security grade: B (70/100) for m365.cloud.microsoft" />
</a>[](https://headertest.com/results/m365.cloud.microsoft)