Harold has played linebacker throughout his career but the Bills listed him as a defensive end when they announced the signing.
A third-round pick (79th overall) out of Virginia in 2015, Harold started 24 games over his first three seasons in San Francisco. He made 93 tackles along with nine sacks between Detroit and the Niners. He had a career-best four sacks with the Lions.
While in San Francisco, Harold was one of three players who knelt to protest social injustice during the national anthem -- joining Eric Reid and Colin Kaepernick. He chose not to kneel during the 2018 season.
Harold, who turned 25 in January, opened up last season for the first time about the mental health issues he dealt with in college following the death of his mother from pancreatic cancer.
ESPN's Michael Rothstein contributed to this report.