This is one of those situations that every parent (step or not) dreads, and we've been there.
If your SD has a history of self harm she will be more easily swayed by this boy. Having sex makes her feel loved/wanted/desirable etc. Her sense of self worth will be tied into it big time. Waving the big stick/calling social services/the Police is tempting, but will only make it worse.
When it happened to us, SD was 13. Totally denied it of course but the truth came out eventually. It was a hideous time. However we were given some really good advice by friends, so for what it's worth...
- You can't stop them, however hard you try, and the harder you try the more it will push her away/she'll lie/sneak out etc
- Don't turn the boy into forbidden fruit. That only makes him more attractive.
We didn't trust SD to take the pill so she went straight on the injection. We also sat her down and talked about safety - emotional as well as physical. We said that we hadn't always been this old and we understood how exciting/nice etc it was, but that we needed to make sure she was safe. We talked about the need to be open and honest with us. We said that whilst we might not always like what we would hear, we would always listen and always be there, and that we would always love her, no matter what.
THEN, we kicked off with phase 2 of the plan. We invited him over. LOTS. We included him in every family event. He came on holiday with us (with boundaries of respect etc in place). We also gradually made sure that a bit of distance was introduced by making it harder for her to get to his place. For example we'd say "yes of course we can take you over, but I just have to do XYZ first/on the way" etc so it took a little longer/was more of a hassle. Not all the time, but enough so it was easier for him to come to our place. We figured at least if they were at our place we knew she was safe.
Eventually it fizzled out, and thankfully, we avoided pregnancy/STD's. She still has lousy taste in guys and a few self esteem issues but that can be said for a lot of us :)
Hang in there 