batterybattery 지시어는 navigator.getBattery()로 접근하는 Battery Status API의 사용 가능 여부를 제어합니다. 이 API는 충전 상태·배터리 잔량·충전/방전 예상 시간을 노출하며, 기본 허용 목록은 self입니다.
`battery=(self)`는 자기 오리진만, `battery=()`는 완전 차단, `battery=(self "https://app.example.com")`는 지정 오리진에 위임합니다. iframe이 배터리 정보를 쓰려면 `allow="battery"`가 필요합니다. 정책이 거부하면 navigator.getBattery()가 반환하는 Promise는 NotAllowedError로 reject됩니다.
배터리 잔량·충전 상태는 여러 스크립트가 관찰하면 사용자를 재식별하는 핑거프린팅 벡터가 될 수 있어, 여러 브라우저가 Battery Status API를 아예 제거하거나 값을 반올림·저해상도화했습니다. 따라서 이 지시어는 기능이 존재하는 브라우저에서 그 접근 범위를 좁히는 역할을 합니다. 구형 Feature-Policy의 battery를 대체합니다.
Permissions-Policy: battery=(self)