Should I stay or should I go?

So a little background on my boyfriend and my relationship, he has a history of talking to girls behind my back. Which I'm not surprised when he did this bc he's been very open with me about how he was in old relationships( he's cheated on every girl he's been with). Now I know that's a HUGE red flag, but silly me fell for him. We've been together for just over two years and we have a 3 month old (which I found him flirting with other girls when I was 4 months pregnant) but he's the best dad and that makes me so happy, but i recently found out he cheated on me. I have a photo of him kissing another girl, and when I first asked him about it he denied it all. What makes the situation hard for me is that we just moved to a different state together so I have no family or friends here, and I'm a SAHM right now so I have no money. What makes me want to stay is the fact that I do truly love him, we still have a great time together and he is a good guy, other than the fact that he has wondering eyes when it comes to being online (Instagram, Facebook, Snapchat, etc.) But I don't know if I can be with someone that I can't trust. When I finally got him to admit about the cheating I've never seen him cry the way he did. He was saying how I'M the one he wants to be with and marry me one day, how he doesn't want to lose me or the baby, but I just don't know what to do. He's still super protective of his phone, changed his password and turned off the notifications for when he gets messages. I love him, but I can't trust him. I feel like I know what the obvious answer is, but what would you do?