CMS spent over $1 million on a school security system. It doesn’t work.

CMS spent over $1 million on a school security system. It doesn’t work.
Charlotte Mecklenburg School Superintendent Earnest Winston on Tuesday, August 13, 2019. (Source: Jeff Siner | Charlotte Observer)

CHARLOTTE, N.C. (Annie Ma and Fred Clasen-Kelly/Charlotte Observer) - After the fatal shooting of a student at Butler High School in 2018, Charlotte-Mecklenburg Schools’ leaders assured the public that a new crisis alert system would make children safer.

But they didn’t reveal one important detail: The system didn’t work.

Over the last year, CMS has installed technology in more than 30 schools intended to allow employees to trigger an alarm by pressing a button on a card they carry with their ID badges in case of a school shooting or another emergency.

The district has touted the technology from Centegix in press conferences, meetings and public statements even though administrators have known for months that the system often did not operate properly at schools where it was installed.

On Friday, following questions from The Charlotte Observer, Superintendent Earnest Winston held a press conference and said the district would give Centegix 30 days to fix the system.


Consultants with expertise in school finance and education technology said the agreement CMS signed with Centegix raises questions about whether inadequate oversight wasted taxpayer money.

The Observer reviewed hundreds of pages of CMS documents obtained through public record requests, including emails, court records, purchase agreements, phone logs and calendars. Reporters interviewed eight current and former district officials and school vendors, including people with direct knowledge about bidding for the crisis alert system.

“This project is at a very critical stage, high schools are complete but they are not operational,” Amy Shire, a senior purchasing agent for CMS, wrote in a May 28, 2019, email to other administrators. “If CMS continues to move forward with this vendor, what were issues earlier in the project now appear to be risks.”

  • The Charlotte-Mecklenburg Board of Education, which is responsible for overseeing how the district money is spent, did not vote to approve a contract with Centegix.

CMS administrators agreed to buy at least $1.75 million worth of equipment from the company through purchase orders, which often don’t require approval from the full nine-member school board.

Two school-finance experts, who have consulted districts around the country, said it is highly unusual for a school system to spend such a significant sum of money without a contract or school board approval.

  • CMS policy generally prohibits employees from making contact with companies making bids to ensure taxpayer money is spent lawfully and to avoid the appearance of wrongdoing.

Phone logs and a calendar show that former CMS Superintendent Clayton Wilcox and the founder of Centegix made phone calls to each other or scheduled to meet in person at least 16 times around the time CMS was considering the company’s bid.

After two years on the job, Wilcox resigned in August without offering any public explanation. Since then, current and former employees have alleged that Wilcox helped a company that employed his son secure a deal with the district and that he sought to become CEO of another tech company after he successfully lobbied CMS to pay to use its software.

  • CMS decided to equip more schools with the crisis alert system despite concerns that the technology had been installed at a handful of schools, but still was not operational eight months after the bid had been awarded to Centegix, according to emails.

In an email dated June 9, the district’s Executive Director of Procurement Greg Bame wrote that officials were planning to meet to discuss a list of concerns about awarding a second bid to Centegix that would expand the number of schools.

“System functionally,” Bame wrote. “Are any of the system previously purchased operational?”

This is a developing story and will be updated.