Plot
Cecilia Kass is trapped in an abusive relationship with wealthy optics engineer and businessman Adrian Griffin, the founder and CEO of the human–computer augmentation company Cobalt. One night, she drugs Adrian with her diazepam and escapes his highly secured house; Adrian is awoken by a car alarm and nearly catches her, but she gets away with the help of her younger sister Emily.
Cecilia hides out with her childhood friend, San Francisco Police detective James Lanier, and his teenage daughter, Sydney. Two weeks after Cecilia's escape, news breaks that Adrian has committed suicide. His lawyer/younger brother Tom Griffin contacts Cecilia to inform her that Adrian left her $5 million in his will.
As time goes on, Cecilia suspects that there is another presence in the house after several strange events, but James assures her she is just traumatized and paranoid. During a job interview, she finds her work portfolio contents removed and then faints. The doctor tells her that high levels of diazepam were found in her system. In her bathroom, she finds the same bloodied diazepam bottle with which she drugged Adrian.
Cecilia, accompanied by James, meets with Tom again. She believes that Adrian faked his death and used his optics expertise to become invisible in order to torment her, but Tom rebuffs the idea and pleads with her to not let Adrian posthumously win, revealing that he too was a victim of Adrian's manipulations and is glad his brother is dead. Later, Emily receives a fake insulting email from Cecilia's account. Afterwards, an unseen force hits Sydney, who assumes it was Cecilia, causing James to ask her to leave. While alone at the house, Cecilia tries to catch the figure she believes hit Sydney. She finds Adrian's phone in the attic, on which she immediately receives a text saying "surprise". Cecilia dumps paint down the attic trap door, coating an invisible figure. A violent struggle ensues, but Cecilia escapes.
Determined to find answers, Cecilia goes to Adrian's home to investigate his lab, where she finds an additional invisible bodysuit, confirming her suspicions. Right after she hides the suit in their former bedroom's closet, the invisible figure attacks again, so she flees and contacts Emily. The pair meet at a restaurant, where the invisible figure slits Emily's throat and places the knife in Cecilia's hand, framing her for murder.
While awaiting trial, Cecilia is remanded to a psychiatric hospital, and at night hears a voice exclaim "Surprise". Later, she learns she is pregnant. Tom offers to get Cecilia's charges dropped if she agrees to "go back to him (Adrian)" and raise the child, implying that Tom helped stage his brother's suicide. He reveals that Adrian tampered with her birth control to impregnate her. Cecilia refuses the offer and steals a fountain pen from him. That night, she attempts suicide to lure out the invisible figure. When the figure tries to stop her, she stabs him with the pen, causing the suit to malfunction. The security team arrives, but the figure incapacitates them before fleeing the hospital with Cecilia in pursuit. To protect her unborn child, the figure threatens to attack those she loves. Cecilia races to James's house and finds the figure attacking him and Sydney. She shoots the figure dead but finds Tom in the suit. Police storm Adrian's house and find him alive, tied up and claiming that Tom held him prisoner. They conclude that Tom killed Emily as well, but Cecilia believes that Adrian set his brother up as the scapegoat for his crimes.
To get Adrian's confession, a now exonerated Cecilia meets him at his house for dinner wearing a wire, while James listens in from a few blocks away. She agrees to mend their relationship if he confesses to killing Emily. Adrian insists that Tom was responsible but claims that the experience changed his outlook on life and how he treated her. After Adrian says the word "surprise", hinting that he actually was the invisible man, Cecilia excuses herself to the bathroom. However, she equips his invisible suit that she previously hid and slits his throat, with the nearby security camera making it seem as if he committed suicide. After calling 911, she whispers "surprise" to Adrian, and he collapses dead.
When James arrives, Cecilia confirms to him what the camera captured. He notices that she is carrying the extra suit but agrees to keep silent and allows her to leave.