# nativeperms.
type nativeperms, domain;
type nativeperms_exec, exec_type, file_type;

brillo_domain(nativeperms)

# Allow crash_reporter access to core dump files.
allow_crash_reporter(nativeperms)

allow nativeperms permission_service:service_manager { add find };
