Companies can and do discriminate based on age, criminal record, sex, etc.
They're just not stupid enough to go on record. They don't make it a written policy or advertise it. That would be like reporting your own post when you troll someone.
They know that if they don't want a felon, to just higher someone with out a felony. Even in the rare case of an applicant suing, the applicant has to prove the reason they were not hired is due to a record. Good luck.
The company can always say someone else interviewed better.
The government can writ down some words on some paper, and it won't matter in the least.