91³Ô¹ÏÍø

Watch CBS News

Miami-Dade inspectors facing public corruption charges, accused of extorting thousands from family-run businesses

Miami-Dade County inspectors are now facing charges for bad behavior on the job after investigators said they used their position to extort thousands of dollars from more than a dozen family-run businesses.

The Miami-Dade County Sheriff's Office arrested Charles Bryant and Craig Bethel, two Miami-Dade County Environmental Resources Management inspectors, on organized fraud charges for allegedly extorting money from over 15 family businesses.

"[The] subjects were going into restaurants and using their position of authority to extort money from victims under the threat of shutting down their business or their operation and issuing very large monetary fund," said Miami-Dade County Sheriff Rose Cordero-Stutz.

Jamaica Kitchen and Shinju Japanese Buffet in Southwest Miami-Dade were among the first two of several restaurants that were targeted.

According to officials, the investigation began in April 2024 when they received a call from one of the victims, saying that Bryant went into their business and said that they had a violation — which wasn't true — but if they would pay him, he told them he would make them go away.

Prosecutors said both men would find alleged problems with restaurants' grease traps and then convince the owners to pay them through cash transfer apps such as Zelle.  

"Just think about how they felt," said Miami-Dade State Attorney Katherine Fernandez Rundle. "They felt like they were being robbed. This is their business on one side, they're going to get violations or shut down. They pay off these guys for a couple hundred dollars."

Bryant was initially arrested in May, just one month after the investigation they dubbed "Operation Grease Trap."

However, their investigation led them to more victims as well as Bethel, who they said was also a part of the scheme — a scheme that Cordero-Stutz and Rundle said would not be tolerated.

"It's an important issue in our community and is not to be tolerated," Rundle said. "We will continue to address these concerns in these complaints."

Miami-Dade County's Regulatory and Economic Resources Office said going forward, they will require its inspectors to wear body cameras and have trackers on county-issued vehicles.

Cordero-Stutz and Rundle said they believe there may be more victims and hope the arrests convince other people to come forward. If you feel you may have been a victim, authorities said to call MDSO or the State Attorney's Office.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });