Leeswaarschuwing: Onderstaande tekst bevat details over de inhoud of de afloop van het verhaal.
De 14-jarige Annie Cameron (Liana Liberato) ontmoet in een chatroom op internet ogenschijnlijk een leuke jongen genaamd Charlie. Charlie zegt dat hij 16 is en net als Annie aan volleybal doet. Nadat ze via internet een goede band hebben opgebouwd geeft Charlie toe dat hij eigenlijk ouder is, eerst zegt hij 20 te zijn en later 25. Annie schrikt wel, maar besluit toch door te gaan met chatten.
Na drie maanden chatten en bellen spreken ze af om elkaar te ontmoeten in het winkelcentrum. Daar aangekomen blijkt "Charlie" (Chris Henry Coffey) nog een stuk ouder dan 25 te zijn (45). Hoewel Annie het niet fijn vindt dat Charlie tegen haar liegt, palmt Charlie het meisje in met complimenten en lieve woordjes. Charlie heeft een lingeriesetje gekocht voor Annie en ze gaan naar een motelkamer om het setje te passen. In de motelkamer misbruikt Charlie Annie seksueel en filmt dit misbruik ook.
Een paar dagen later komt Annies vriendin Brittany erachter wat er met Annie gebeurd is, vertelt het en de FBI start een onderzoek. Intussen start ook Will (Clive Owen), Annies vader, op eigen houtje een onderzoek. Annie blijft volhouden dat Charlie echt van haar hield en is boos op Brittany dat die het doorverteld heeft. Pas als ze erachter komt dat de pedofiel ook andere meisjes op soortgelijke wijze gegroomd en misbruikt heeft geeft ze ronduit toe dat ze verkracht was.
Will verliest zichzelf in zijn eigen onderzoek en slaat een man in elkaar die hij ervan verdenkt de kindermisbruiker te zijn. Annie is boos op haar vader en als ze er ook nog eens achter komt dat ze op internet wordt gekleineerd onderneemt ze een zelfmoordpoging. Will redt zijn dochter en legt haar vriendschap met Brittany, en later ook met haar vader bij.
In de aftiteling blijkt Charlie eigenlijk Graham Weston te zijn, een getrouwde leraar op een middelbare school.