software enforcement layer