web-shareweb-share 지시어는 Web Share API의 navigator.share()로 OS 네이티브 공유 시트를 띄워 링크·텍스트·파일을 공유할 수 있는지를 제어합니다. 기본 허용 목록은 self이며, 모바일에서 흔히 쓰는 공유 버튼의 기반입니다.
`web-share=(self)`는 자기 오리진, `web-share=()`는 전면 차단, `web-share=(self "https://app.example.com")`는 지정 오리진에 위임합니다. iframe에는 `allow="web-share"`가 필요합니다. 정책이 거부하면 navigator.share()가 반환하는 Promise는 NotAllowedError로 reject됩니다.
navigator.share()는 반드시 사용자 제스처(클릭 등) 안에서 호출되어야 하며, 이는 정책과 별개 요건입니다. navigator.canShare()로 공유 가능 데이터(특히 파일)를 사전 확인할 수 있습니다. 보안 컨텍스트에서만 동작하고, 지원되지 않는 데스크톱 브라우저를 위해 폴백(복사·SNS 링크)을 두는 것이 좋습니다. 구형 Feature-Policy를 대체합니다.
Permissions-Policy: web-share=(self)