have the goods on sb

get / have the goods on sb (to find out true and, often, bad information about; discover what is wrong with; be able to prove the guilt of) — собрать/иметь компромат на кого-л.; собрать, иметь улики против кого-л; уличить; иметь/ собрать доказательства вины

Example 1: She keeps paying blackmail to a man who has the goods on her.

Example 2: Although Jane was not a good worker, her boss didn't fire her because she had the goods on him.

also
have sth on sb
[have some dirt on sb]
dig some dirt up on sb
[досье на кого-л]

Opp.
have nothing on sb,
not have anything on sb