<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
  <policy user="bluetooth">
    <allow own="org.chromium.Bluetooth"/>
    <allow send_destination="org.chromium.Bluetooth"/>

    <!-- Same as org.bluez send_interface allows -->
    <allow send_interface="org.bluez.Agent1"/>
    <allow send_interface="org.bluez.MediaEndpoint1"/>
    <allow send_interface="org.bluez.MediaPlayer1"/>
    <allow send_interface="org.bluez.ThermometerWatcher1"/>
    <allow send_interface="org.bluez.AlertAgent1"/>
    <allow send_interface="org.bluez.Profile1"/>
    <allow send_interface="org.bluez.HeartRateWatcher1"/>
    <allow send_interface="org.bluez.CyclingSpeedWatcher1"/>
    <allow send_interface="org.bluez.GattCharacteristic1"/>
    <allow send_interface="org.bluez.GattDescriptor1"/>
    <allow send_interface="org.freedesktop.DBus.ObjectManager"/>
    <allow send_interface="org.freedesktop.DBus.Properties"/>
  </policy>

  <!-- Accepts superuser, useful for manual testing -->
  <policy user="root">
    <allow send_destination="org.chromium.Bluetooth"/>
  </policy>

  <!-- Chrome talks to org.chromium.Bluetooth -->
  <policy user="chronos">
    <allow send_destination="org.chromium.Bluetooth"/>
  </policy>

  <!-- Power manager needs to deliver suspend/resume events -->
  <policy user="power">
    <allow send_destination="org.chromium.Bluetooth"/>
  </policy>

  <!-- Cras needs to register player and endpoints -->
  <policy user="cras">
    <allow send_destination="org.chromium.Bluetooth"/>
  </policy>

  <!-- Denies everyone else -->
  <policy context="default">
    <deny send_destination="org.chromium.Bluetooth"/>
  </policy>
</busconfig>
