In the town of Salem, high school senior Lily Colson regularly hangs out with her three best friends, Bex Warren, and sisters Sarah and Em Lacey. They attend a party where Bex hooks up with her crush Diamond, while Lily hangs out with her boyfriend Mark, simultaneously texting a man known only as "Daddy" behind his back. After having sex, Diamond tells Bex to keep their hookup a secret, as Bex is
transgender. Marty, a casual hacker, receives a message from an unknown hacker containing pictures of Mayor Bartlett, a known anti-LGBTQ candidate, engaging with male escorts and dressing up in women's clothing, which Marty forwards to the entire town. Bartlett holds a
press conference and fatally shoots himself in front of the crowd. Salem High's mild-mannered Principal Turrell is the next to be hacked, with pictures of his six-year-old daughter in the bath earning him accusations of pedophilia. He refuses to resign, intending to set things right for the students. As the police question Marty about the hacks, half the town's private information is leaked. Daddy is revealed to be Sarah and Em's neighbor Nick Mathers, whom Lily used to babysit for. The lewd pictures and videos that Lily has sent to Nick are made public when his information is leaked. As a result, she is exposed and humiliated by Mark, and her parents disown her. After she is thrown out on the street, she is harassed by a man in a truck who films her before chasing her with a knife. Eventually, she stuns him with a shovel before seeking refuge in Sarah and Em's house. A week later, most of the town has
donned masks and
taken up arms to exact revenge on those they think have wronged them. Nick, now leading a mob of masked vigilantes, captures Marty, whom they torture into admitting that Lily's
IP address seemed to be the source of the hacks. Before executing Marty, they upload a video of his forced confession. The masked assailants track Lily to Sarah and Em's house, where all four girls are staying, and break in. Nance sacrifices herself to keep the raiders at bay, allowing Lily and Bex to escape. Meanwhile, led by Officer Richter, the mob drags Sarah and Em outside and forces them into a police car. Bex takes out one of the attackers with a
nail gun and makes her way out onto the streets to find help, while Lily hides in Nick's house. Nick pretends to help Lily before brandishing a knife, intending to rape her to death for causing the disintegration of his marriage. She incapacitates him and hides in the bathroom, where she discovers Marty's corpse. Nick bursts in, and after a brief struggle, Lily kills him with a razor blade. She discovers his large cache of weapons, which she uses to gun Richter down and rescue Sarah and Em. Meanwhile, Bex is captured by Diamond's best friend, Johnny, who tries to force Diamond to hang her as retribution for his humiliation. Bex convinces him to spare her, so Johnny has him tied up and forces him to watch when Lily, Em, and Sarah rescue her just in time. Once all his friends are eliminated in the ensuing skirmish, Johnny surrenders, and Diamond becomes free. Lily uploads a video proclaiming her innocence and urging everyone in Salem to stand up and fight back against their tormentors; she is soon joined by a crowd of victims who are suspected by the mob for wronging them with the hacks. After the entire town destroys itself following a warlike riot between
persecutors and their victims, Lily's younger brother Donny is revealed to be the mastermind behind the hacks. He is captured and convicted for
cyberterrorism, murder, and
invasion of privacy. When asked by his parents about the reason for his actions, Donny replies, "I don't know.
For the lulz." The Salem High
marching band performs
Miley Cyrus' "
We Can't Stop" through the destroyed town littered with dead bodies and destroyed vehicles. ==Cast==