Permissions-Policy: geolocation directive

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The HTTP Permissions-Policy header geolocation directive controls whether the current document is allowed to use the Geolocation Interface.

Specifically, where a defined policy blocks use of this feature, calls to getCurrentPosition() and watchPosition() will cause those functions' callbacks to be invoked with a GeolocationPositionError code of PERMISSION_DENIED.

Syntax

http
Permissions-Policy: geolocation=<allowlist>;
<allowlist>

A list of origins for which permission is granted to use the feature. See Permissions-Policy > Syntax for more details.

Default policy

The default allowlist for geolocation is self. The top-level browsing context and same-origin iframes are allowed access to the geolocation feature by default.

Examples

Basic usage

SecureCorp Inc. wants to disallow geolocation within all browsing contexts except for its own origin and those whose origin is https://example.com. It can do so by delivering the following HTTP response header to define a Permissions Policy:

http
Permissions-Policy: geolocation=(self "https://example.com")

Then include an allow attribute on the <iframe> element:

html
<iframe src="https://example.com/map" allow="geolocation"></iframe>

Note: Specifying the Permissions-Policy header in this manner disallows geolocation for other origins, even if they would be allowed by the <iframe> allow attribute.

Using the default policy

FastCorp Inc. wants to allow geolocation in a specific cross-origin child frame. Since the default allowlist for geolocation is self, it can do so by including an allow attribute on the <iframe> element:

html
<iframe src="https://other.com/store-locator" allow="geolocation"></iframe>

Specifications

Specification
Geolocation
# permissions-policy

Browser compatibility

See also