software enforcement