91³Ô¹ÏÍø

Watch CBS News

Former Miami-Dade School Board member pleads guilty to stealing $100,000 to fund lavish lifestyle

Former Miami-Dade School Board member Lubby Navarro has pleaded guilty after she was accused stealing more than $100,000 to fund her lavish lifestyle.

Navarro accepted a deal with prosecutors, which included them dropping one of her grand theft charges and two organized fraud charges. In exchange, she would be sentenced to spend 14 months in prison followed by 3 years of probation. In that probation period, she cannot seek employment in a government or money-related position. 

She is also asked to pay restitution of $101,109.47 in minimum monthly payments of $500. 

Miami-Dade County Public Schools issued a statement to CBS News Miami, saying, "It was M-DCPS that first identified these discrepancies and provided the information that led to the investigation and current legal resolution. To ensure this does not happen again, M-DCPS and the School Board implemented additional safeguards for all credit card expenditures. We appreciate the partnership of the Inspector General and State Attorney in upholding the integrity of our District."

Navarro was arrested back in January 2024 after an investigation was launched into her use of a school board-issued credit card when she resigned from her post in December 2022.

According to investigators, Navarro resigned just a day before a new Florida law prohibited elected officials from working as lobbyists went into effect.

Instead of reconciling credit card charges, which is required by officials who have the cards, Navarro left the school system, which resulted in the superintendent's chief of staff and chief financial officer looking into her credit card purchases.

Lubby Navarro
Lubby Navarro. Miami-Dade Corrections Department

The investigation into her purchases began when she resigned from the school board 

Investigators said that an investigation was launched when they found improper transactions.

Florida State Attorney Katherine Fernandez Rundle alleged that misuse of the credit card ranged from Jan. 1, 2022, to Dec. 21, 2022, but likely includes additional improper spending during other times.

"Public officials are in positions of authority and trust to ensure the safety and quality of life for those who live in our community, not to utilize public monies for their personal benefit," Rundle said in a statement on Tuesday.

Navarro was accused of spending more than $92,000 on unauthorized purchases like appliances, electronics, clothing, food, health-and-beauty products, and gift cards.

She was also accused of using her card to pay for at least $9,000 in travel expenses for airline tickets, hotel stays, meals, car rentals, a trip with her mother to the Dominican Republic, and a trip to Las Vegas with her then-boyfriend.

"Rather than seeking to avoid the consequences of her actions, Lubby Navarro has admitted her guilt and has accepted her sentence, which includes imprisonment," Rundle continued.

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=296763317a51cab90faa73f1bb146d5c'; 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(); } }); }); }); });