# healthd - battery/charger monitoring service daemon
# healthd is removed. The type is kept for backwards compatibility.
type healthd, domain;

# system/sepolicy/public is for vendor-facing type and attribute definitions.
# DO NOT ADD allow, neverallow, or dontaudit statements here.
# Instead, add such policy rules to system/sepolicy/private/*.te.
