Every situation, and every person is different. Being so binary with people rarely works as an HR strategy. All you do is throw out the best talent for people that are good at not getting in trouble. Being good at not getting in trouble does not make you a good developer, a good salesperson, a good marketer, a good accountant... it just ensures that the person is good at not getting caught and getting out of it when caught. Useful skills, but usually NOT what you are hiring for.
Every time I have been cheated, swindled or defrauded it was by someone who had no prior criminal history whatsoever. I've seen church lady bookkeepers embezzle. I've seen top workers steal inventory. I've had 10%er developers fake time records so they could go to the bar. I've had people turn in tens of thousands in fake expenses. I've had incredibly good customers for five years straight try to get fraudulent refunds.
The common thread was that every one of these persons had a major change in their personal life. Divorces. Tax problems. Spouse got fired. Kids got really ill. Every time there was a major change. So I've started paying close attention to the personal lives of people who work with and for me. When things get tough for them, I try to be engaged and communicate a lot more with them. Sometimes I can directly help (for instance pay off a killer deductible to get the bill collectors to stop). Other times I can't... but by being engaged and interested, the employee knows at some level I'm paying attention. Since I started paying attention, I've had a lot less shenanigans. I'm also a lot less afraid to hire people who are facing challenges... and I've made some amazing hires over the years as a result.