The company I work for has a very strict social media policy, so I won't disclose what I do or where I work--with that said, my job entails being in uniform (to the point of looking like LEOs or security guards), we deal with shady people at late hours and carry/handle large amounts of cash, and oftentimes work alone on site. There is a strict no weapons policy, with a section specifically referencing no firearms "on company property or in vehicles parked on company property", and we are not to carry anything that can be used as a weapon, including pepper spray, pocket knives, leatherman, etc.
The company is run by a bunch of liberal moonbats who live in la-la land and have no idea what we deal with at the ground level. We actually had a training manager tell us that if a customer were to attack us, we were expressly forbidden from fighting back, and to "perhaps just talk to them and calm them down". They are also so afraid of offending their customers that they bend over backwards to kow tow to them in any way, and blame the employees for problems caused by said customers. We actually had an employee get assaulted by one of our clientele, and no action was taken against the assailant, including from law enforcement, at the urging of a manager. My co-worker was injured badly enough to have to go to the ER. The security tapes of the assault conveniently disappeared, and my co-worker was told in no uncertain terms that if he attempted to sue the company OR the assailant he would be fired.
your co-worker should 100% hire an attorney and sue them.