How to Fix a Blocked Plug-In Problem in Safari
This is a Safari-specific security issue that's become more common with recent Safari updates. The "Blocked plug-in" error happens when Safari's security policies prevent certain content from loading, particularly PDFs served from CDNs with specific headers.
The most likely solution:
Based on the Sanity file field documentation, you can try adding a ?dl parameter to your PDF URL. According to Sanity's documentation, this parameter can be used with file assets to control download behavior:
<a
href="https://cdn.sanity.io/files/m29pqcus/staging/d103fbd4191583b07c87301e18e1afd954e62348.pdf?dl"
rel="noopener"
>
Aktuelle Verhaltensregeln / Hygienemaßnahmen.
</a>This forces the file to download rather than trying to open inline, which may bypass Safari's plugin blocking. Note that I removed target="_blank" since forcing a download doesn't need a new tab.
Why this is happening now:
Safari has become increasingly strict with security policies over the past couple of years. Since your site has been running for 2 years without issues, it's very likely that a Safari update changed how it handles PDFs from certain CDNs. Safari's Enhanced Tracking Prevention and plugin security features have been particularly aggressive with cross-origin content.
The key difference is that your working Bernina link is likely served with different HTTP headers that Safari trusts, or it's being served from the same origin as the page itself.
Additional debugging steps:
If the ?dl parameter doesn't work, you can investigate the HTTP headers to understand what Safari is seeing:
- Open Safari Developer Tools (Safari → Develop → Show Web Inspector)
- Go to the Network tab
- Click your PDF link and watch the request
- Compare the Response Headers between the working Bernina link and your Sanity link
- Look specifically at
Content-Type,Content-Disposition, andX-Content-Type-Optionsheaders
If Safari continues blocking it, the issue might be related to CORS policies or how Safari interprets security headers from cdn.sanity.io. In that case, you might consider re-uploading the PDF to see if that refreshes any cached metadata, or contact Sanity support if it's a broader CDN header configuration issue.
Sanity – Build the way you think, not the way your CMS thinks
Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.