# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2026 Alexandre Pujol <alexandre@pujol.io>
# SPDX-License-Identifier: GPL-2.0-only

abi <abi/4.0>,

include <tunables/global>

@{exec_path} = @{bin}/ykman
@{att} = /att/yubikey-manager/
profile yubikey-manager /{,usr/}bin/ykman flags=(attach_disconnected,attach_disconnected.path=@{att},mediate_deleted,complain) {
  include <abstractions/attached/base>
  include <abstractions/attached/nameservice-strict>

  @{exec_path} mr,

  /dev/bus/usb/{,**} rw,
  /dev/hidraw* rw,
  /dev/ttyUSB* rw,

  @{sys}/bus/usb/{,**} r,
  @{sys}/class/hidraw/{,**} r,
  @{sys}/devices/**/usb*/{,**} r,

  /usr/share/yubikey-manager/{,**} r,

  include if exists <local/yubikey-manager>
}

# vim:syntax=apparmor
