*CUT TO THE CHASE*
This spoiler was submitted by Jeremy
Salem, MA - Several people in town are wearing a bunch of weird masks. We hear the voice of high school senior Lily Coulson (Odessa Young) saying how the people in her town lost their minds. She then takes us to the beginning of her story.
Lily was a regular student always hanging out with her best friends - Bex (Hari Nef), Em (Abra), and Sarah (Suki Waterhouse). The girls talk about how Bex's crush, Diamond (Danny Ramirez), has been texting her. The girls later go to a party that night where Bex hooks up with Diamond while Lily goes to be alone with her boyfriend Mark (Bill Skarsgard). After sex, Diamond leaves Bex alone, and she starts to cry. Meanwhile, Bex is texting someone named "Daddy" behind Mark's back.
The next day, a hack occurs in which Mayor Bartlett (Cullen Moss), a known anti-gay candidate, is exposed for engaging with male escorts and dressing up in women's clothing. The scandal becomes so distressing for Bartlett, that he goes before a conference of people, pulls out a gun, and shoots himself in the mouth. Bex claims she doesn't feel bad for Bartlett due to his personal history of hypocrisy.
At school, Lily gets called in by Principal Turrell (Colman Domingo) for drawing nude women in pornographic poses. Lily argues that it is meant to be empowering, while Turrell assures Lily he sees her potential.
Soon, Turrell's phone gets hacked, and pictures of his underage daughter are shown, making people think that Turrell is a pedophile. He goes before a conference of people who believe he is going to formally resign, but he tries to defend his position and state that he cares for the children, so he will not resign, and the crowd boos him.
More people start to get hacked. It's revealed that cheerleader Reagan (Bella Thorne) spread nude pictures of her friend Grace (Maude Apatow) to a guy she liked. Grace takes an aluminum bat and whacks Reagan over the head with it during cheerleading practice, leading to Grace getting arrested.
Quickly, more than half the town's personal pictures and information are leaked. "Daddy" is revealed to be Lily's neighbor Nick Mathers (Joel McHale), whose kids Lily babysat. Lily's pictures and videos that she sent to Nick are revealed. Mark finds out and has his friends hold Lily down so he can expose her for being a whore by taking a picture of a birthmark on her back that was seen in the videos, while Lily's parents kick her out of the house when they find out what she did.
Lily is walking down the street in shame when a few guys drive by her to film and mock her. One of them pulls out a knife, so Lily runs through the backyard of someone else's home. The guy chases her around the back trying to film her, but Lily takes him out by whacking him across the face with a shovel.
Pretty soon, most of the men in town go insane when their secrets are exposed. They find a kid, Marty (Noah Galvin), whom they believe to be behind the hacks. After waterboarding him, they get Marty to say who is really behind the hacks. In a live video, Marty claims that he noticed a lot of activity coming from Lily's computer, labeling her as the mastermind. The men in the video stab Marty to death, and Lily and her friends see the video, knowing they are in trouble.
Masked men break into Em's home and go after the girls. Em's mom Nance (Anika Noni Rose) gets her own gun and kills some of the men, but one of the men in turn kills Nance. Em and Sarah are taken outside and held hostage by a corrupt cop and other psychos. Bex tries to escape Em's house, but she's cornered by a masked goon with a nail gun. They fight in the pool until Bex gets the nail gun and kills the guy. However, Bex is found and caught by Diamond, his friend Johnny (Cody Christian), and other goons.
Lily runs to Nick's house for safety. Although he comforts her at first, his intentions become sinister when he tries to rape Lily. She appears to go along with it, but then bites him in the face and hides in his bathroom where he finds what appear to be the mutilated corpses of Nick's wife and daughter, whom he killed after his life was ruined. Lily takes a razor blade and ties it to a towel. Nick breaks through the door and attacks Lily, but she slashes his throat. Lily then finds Nick's large cache of weapons and goes to save her friends.
Lily finds the cop taking Em and Sarah, and she confronts him. Lily blasts him with a shotgun and frees her friends. They go to find Bex, who is about to be hung after Johnny found out that Diamond had relations with her, and is repulsed because Bex is transgender. Bex pleads with Diamond not to let this happen. He undoes the noose around her neck, but Johnny shoves Diamond and puts it back on, having one of his guys drive a truck that she is standing on to let here drop. The girls show up with their weapons and start blowing heads off and chopping limbs off to save Bex. After killing all the other guys, Bex prepares to kill Johnny, but he pathetically pleads for his life, and she spares him. They also let Diamond go free.
Lily then makes a video calling out to the other girls in the neighborhood to stand up and fight back against the psychos. All the girls listen, and they join Lily and her friends as they come up against an army of masked goons.
Sometime later, Mr. and Mrs. Coulson are speaking to a detective regarding one of their kids being behind the hack and that they are looking at a life sentence. The true perpetrator turns out to be Donny (Caden Swain), Lily's brother. When his father asks why he did it, Donny responds, "For the lulz."