Close Menu
AIToday7

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    What's Hot

    New method aims to keep kids safe from illegal AI

    July 13, 2026

    Could AI help al-Qaeda and other groups plan terror attacks?

    July 13, 2026

    I tried to parody the most absurd AI products, but the tech industry beat me to it

    July 13, 2026
    Facebook X (Twitter) Instagram
    Trending
    • New method aims to keep kids safe from illegal AI
    • Could AI help al-Qaeda and other groups plan terror attacks?
    • I tried to parody the most absurd AI products, but the tech industry beat me to it
    • Naver’s startup investment organization D2SF (center director Yang Sang-hwan, photo) has already inv..
    • Chefs Say These 20 Kitchen Gadgets Are a Waste of Money. Here’s What to Buy Instead
    • Madison County Board of Supervisors discusses possible cybersecurity attack
    • Intent Clusters Guide AI Product Discovery
    • Christopher Nolan says people ‘disdain’ AI and the idea it will replace humans is ‘nonsense’
    Facebook X (Twitter) Instagram Pinterest Vimeo
    AIToday7
    • Home
    • AI News
    • Tech News
    • AI Guides
    • Chatbots
    • Cybersecurity
    • Gadgets
    • More
      • Generative AI
      • Startups
    AIToday7
    Home»Cybersecurity»Madison County Board of Supervisors discusses possible cybersecurity attack
    Cybersecurity

    Madison County Board of Supervisors discusses possible cybersecurity attack

    stamilhstgr0518@gmail.comBy stamilhstgr0518@gmail.comJuly 13, 2026No Comments8 Mins Read
    Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
    Madison County Board of Supervisors discusses possible cybersecurity attack
    Share
    Facebook Twitter LinkedIn Pinterest Email

    The Madison County Board of Supervisors voted to refer a possible <a href="https://aitoday7.com/the-6-biggest-cybersecurity-breaches-of-2026-so-far/” title=”The 6 biggest cybersecurity breaches of 2026 so far”>cybersecurity attack involving security cameras to state authorities during a special meeting

    THEY ADD THAT THE DOG WILL NOT RETURN TO THE HOSPITAL IN MADISON COUNTY. THE BOARD OF SUPERVISORS SAYS THERE WAS PART OF A. THEY WERE PART OF A CYBER SECURITY ATTACK. IN A SPECIAL MEETING THIS MORNING, THE BOARD VOTED 2 TO 1 TO REFER THE ISSUE TO IOWA DCI AND THE ATTORNEY GENERAL’S OFFICE. THIS COMES MONTHS AFTER THE BOARD VOTED TO APPROVE OUTSOURCING ITS I.T. DEPARTMENT. THE MADISON COUNTY SHERIFF’S OFFICE TELLS KCCI THIS INVOLVES SECURITY CAMERAS. WE HAVE CONTACTED THE D. C I AND THE ATTORNEY GENERAL’S OFFICE THAT BOTH SAY THEY HAVE NOT YET RECEIVED A COMPLAINT ABOUT THE ISSUE, AND WE HAVE CONTACTED THE BOARD OF SUPE
    Updated: 9:52 PM CDT Jul 12, 2026
    Editorial Standards ⓘ
    Madison County Board of Supervisors discusses possible cybersecurity attack

    The Madison County Board of Supervisors voted to refer a possible cybersecurity attack involving security cameras to state authorities during a special meeting

    The Madison County Board of Supervisors revealed during a special meeting Thursday morning that they were part of a “cybersecurity attack.”

    The board voted 2-1 to refer the matter to the Iowa Division of Criminal Investigation (DCI) and the attorney general’s office. This follows the board’s decision in March to out

    The Madison County Sheriff’s Office said the issue involves access to security cameras.

    According to the meeting agenda, the board had planned to motion for a closed session to discuss the matter. However, they ultimately decided not to enter a closed session.

    Madison County Board Supervisor Diane Fitch confirms with KCCI that the sheriff or county attorney had been contacted about a breach by their IT service.

    Both the DCI and the attorney general’s office said they have not yet received a complaint regarding the issue.

    KCCI has reached out to the other two board members, Heather Stancil and Jessica Hobbs, for further details on the breach. No response has been received so far.

    Weather Information

    ‘
    + ‘
    ‘;
    var gptLayer = window.gptLayer;
    if (gptLayer && typeof gptLayer.insertAds === ‘function’) {
    var slotsBefore = gptLayer.adSlots ? gptLayer.adSlots.length : 0;
    gptLayer.insertAds();
    if ((gptLayer.adSlots ? gptLayer.adSlots.length : 0) > slotsBefore) {
    if (typeof gptLayer.callAdSlots === ‘function’) {
    gptLayer.callAdSlots(‘imm’);
    }
    }
    }
    }
    }

    function closeRadarOverlay(containerId) {
    var overlay = document.getElementById(containerId + ‘-radar-overlay’);
    if (!overlay) return;
    overlay.classList.remove(‘is-open’);
    overlay.setAttribute(‘aria-hidden’, ‘true’);
    document.body.classList.remove(‘weather-radar-overlay-active’);
    var adSlot = overlay.querySelector(‘.weather-radar-overlay__ad-slot’);
    if (adSlot) {
    adSlot.innerHTML = ”;
    }
    }

    function trackRadarOverlayInteraction(containerId) {
    var now = Date.now();
    var key = ‘radar_overlay_last_interaction_’ + containerId;
    if (!window[key] || now – window[key] > 10000) {
    window[key] = now;
    dispatchWeatherGA4Event(‘radar_overlayinteraction’, ‘interaction’, containerId);
    }
    }

    function isMobileOrTabletViewport(breakpoint = 980) {
    const w = window.innerWidth || document.documentElement.clientWidth || 0;
    return w < breakpoint;
    }

    function removeUnusedWeatherModule() {
    const desktopClass = ‘sidelist-weather’;
    const mobileClass = ‘mobile-weather’;

    if (isMobileOrTabletViewport()) {
    console.log(‘[WEATHER-BOX] Mobile/tablet viewport detected, removing desktop weather module if it exists’);
    const desktopModule = document.querySelector(‘.’ + desktopClass);
    if (desktopModule) {
    console.log(‘[WEATHER-BOX] Removing desktop weather module’);
    desktopModule.remove();
    }
    } else {
    console.log(‘[WEATHER-BOX] Desktop viewport detected, removing mobile weather module if it exists’);
    const mobileModule = document.querySelector(‘.’ + mobileClass);
    if (mobileModule) {
    console.log(‘[WEATHER-BOX] Removing mobile weather module’);
    mobileModule.remove();
    }
    }
    }

    document.addEventListener(‘DOMContentLoaded’, function() {
    removeUnusedWeatherModule();

    function generateForecastItem(data) {
    var ariaLabel = data.timeLabel + ‘, ‘ + data.primaryTemp + ‘ degrees, ‘ +
    data.secondaryInfo + ‘ percent chance of precipitation’;
    return `
    `;
    }

    function refreshWeatherIframe(containerId) {
    var iframeId = ‘weather-iframe-‘ + containerId;
    var iframe = document.getElementById(iframeId);
    if (iframe && iframe.src) {
    var originalSrc = iframe.src;
    iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=’ + Date.now();
    }
    }

    function initializeWeatherBox(container) {
    var containerId = container.getAttribute(‘data-container-id’);
    var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

    function switchWeatherTab(tabName, clickedElement) {
    container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
    tab.classList.remove(‘open’);
    tab.setAttribute(‘aria-selected’, ‘false’);
    });

    clickedElement.classList.add(‘open’);
    clickedElement.setAttribute(‘aria-selected’, ‘true’);

    container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
    content.style.display = ‘none’;
    content.setAttribute(‘hidden’, ‘true’);
    });

    var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
    if (targetContent) {
    targetContent.style.display = ‘block’;
    targetContent.removeAttribute(‘hidden’);
    }
    }

    function loadWeatherData() {
    // If weather data is already being loaded, wait for it
    if (window.weatherDataPromise) {
    window.weatherDataPromise.then(function(data) {
    if (data && data.data) {
    var weatherContainer = container.closest(‘.weather-box-container’);
    if (weatherContainer) {
    weatherContainer.style.display = ‘flex’;
    updateCurrentWeather(data.data);
    updateForecastTabs(data.data);
    updateWeatherAlertsBar(data.data);
    }
    }
    });
    return;
    }

    var location = { zip: window.DEFAULT_ZIPCODE };

    try {
    var storedLocations = localStorage.getItem(‘hrst.zip.history’);
    if (storedLocations) {
    var locations = JSON.parse(storedLocations);
    if (locations && locations.length > 0) {
    location = locations[0];
    }
    }
    } catch (e) {}

    var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

    if (window.fetch) {
    window.weatherDataPromise = fetch(apiUrl)
    .then(function(response) { return response.json(); })
    .then(function(data) {
    if (data && data.data) {
    var article = container.closest(‘.article–wrapper’);
    var weatherContainer = container.closest(‘.weather-box-container’);
    if (weatherContainer) {
    weatherContainer.style.display = ‘flex’;
    updateCurrentWeather(data.data);
    updateForecastTabs(data.data);
    updateWeatherAlertsBar(data.data);
    }
    return data;
    }
    })
    .catch(function(error) {
    console.error(‘Error loading weather:’, error);
    // Reset to unknown background on error
    updateWeatherBackground(‘unknown’);
    });
    }
    }

    function updateWeatherAlertsBar(weatherData) {
    var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
    if (!weatherWatchHeader) return;

    var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
    var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

    if (weatherData.alerts_count > 0) {
    weatherWatchHeader.className = ‘weather-watch-header has-alerts’;
    if (weatherWatchText) {
    weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
    }
    if (weatherWatchLink) {
    if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
    weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
    weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
    }
    weatherWatchLink.setAttribute(‘href’, ‘/alerts’);
    weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, ‘/alerts’);”);
    }
    } else {
    weatherWatchHeader.className = ‘weather-watch-header’;
    if (weatherWatchText) {
    weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
    }
    if (weatherWatchLink) {
    var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
    var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
    if (initialHref) {
    weatherWatchLink.setAttribute(‘href’, initialHref);
    }
    if (initialOnclick) {
    weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
    }
    }
    }
    }

    function updateCurrentWeather(weatherData) {
    if (weatherData.current) {
    var tempValue = weatherData.current.temp_f || ”;
    var skyValue = weatherData.current.sky || ”;
    var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

    var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
    if (tempEl) {
    tempEl.textContent = tempValue;
    tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
    }

    var iconEl = container.querySelector(‘.weather-grid–current-icon’);
    if (iconEl && weatherData.current.icon_name) {
    iconEl.className = ‘weather-grid–current-icon weather-current-icon icon icon-weather-‘ + weatherData.current.icon_name;
    }

    var skyEl = container.querySelector(‘.weather-grid–sky’);
    if (skyEl) {
    skyEl.textContent = skyValue;
    skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
    }

    var feelsEl = container.querySelector(‘.weather-grid–feels’);
    if (feelsEl) {
    feelsEl.textContent = feelsLikeValue + ‘°F’;
    feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
    }

    var weatherContainer = container.querySelector(‘.weather-temp-container’);
    if (weatherContainer) {
    var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
    skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
    weatherContainer.setAttribute(‘aria-label’, summary);
    }

    updateWeatherBackground(weatherData.current.icon_name);
    }
    }

    function updateWeatherBackground(iconName) {
    try {
    var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
    container.style.backgroundImage = ‘url(‘ + bgPath + ‘)’;
    } catch (e) {
    console.log(‘Error updating weather background:’, e);
    }
    }

    function updateForecastTabs(weatherData) {
    var visibleItems = isWeatherBoxV2 ? 6 : 5;

    if (weatherData.hourly) {
    var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
    if (hourlyContainer) {
    var html = ”;
    var maxHours = Math.min(visibleItems, weatherData.hourly.length);

    for (var i = 0; i < maxHours; i++) {
    var hour = weatherData.hourly[i];
    html += generateForecastItem({
    timeLabel: hour.hour_display,
    iconName: hour.icon_name,
    primaryTemp: hour.temp_f,
    secondaryInfo: hour.precip_chance + ‘%’
    });
    }
    hourlyContainer.innerHTML = html;
    }
    }

    if (weatherData.daily) {
    var dailyContainer = container.querySelector(‘.weather-daily-forecast’);
    if (dailyContainer) {
    var html = ”;
    var maxDays = Math.min(visibleItems, weatherData.daily.length);

    for (var i = 0; i < maxDays; i++) {
    var day = weatherData.daily[i];
    var dayName = getShortDayName(day.day);

    html += generateForecastItem({
    timeLabel: dayName,
    iconName: day.icon_name,
    primaryTemp: day.high_f,
    secondaryInfo: day.precip_chance + ‘%’
    });
    }
    dailyContainer.innerHTML = html;
    }
    }
    }

    function getShortDayName(dayName) {
    switch (dayName) {
    case ‘Today’:
    return ‘Today’;
    case ‘Tomorrow’:
    return ‘Tmrw’;
    case ‘Sunday’:
    return ‘Sun’;
    case ‘Monday’:
    return ‘Mon’;
    case ‘Tuesday’:
    return ‘Tue’;
    case ‘Wednesday’:
    return ‘Wed’;
    case ‘Thursday’:
    return ‘Thu’;
    case ‘Friday’:
    return ‘Fri’;
    case ‘Saturday’:
    return ‘Sat’;
    default:
    return dayName;
    }
    }

    container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
    var isActive = tab.classList.contains(‘open’);
    tab.setAttribute(‘tabindex’, ‘0’); // Both tabs focusable for VoiceOver
    tab.setAttribute(‘role’, ‘tab’);
    tab.setAttribute(‘aria-selected’, isActive);

    tab.addEventListener(‘keydown’, function(e) {
    var tabs = Array.from(container.querySelectorAll(‘[data-tab-id]’));
    var currentIndex = tabs.indexOf(this);

    switch(e.key) {
    case ‘ArrowLeft’:
    e.preventDefault();
    var prevIndex = currentIndex > 0 ? currentIndex – 1 : tabs.length – 1;
    tabs[prevIndex].focus();
    break;
    case ‘ArrowRight’:
    e.preventDefault();
    var nextIndex = currentIndex < tabs.length – 1 ? currentIndex + 1 : 0;
    tabs[nextIndex].focus();
    break;
    case ‘Enter’:
    case ‘ ‘:
    e.preventDefault();
    var tabId = this.getAttribute(‘data-tab-id’);
    switchWeatherTab(tabId, this);
    if (tabId === ‘hourly’) {
    dispatchWeatherGA4Event(‘click_hourly’, ‘click’, containerId);
    } else if (tabId === ‘daily’) {
    dispatchWeatherGA4Event(‘click_daily’, ‘click’, containerId);
    }
    break;
    }
    });

    tab.onclick = function() {
    var tabId = this.getAttribute(‘data-tab-id’);
    switchWeatherTab(tabId, this);
    if (tabId === ‘hourly’) {
    dispatchWeatherGA4Event(‘click_hourly’, ‘click’, containerId);
    } else if (tabId === ‘daily’) {
    dispatchWeatherGA4Event(‘click_daily’, ‘click’, containerId);
    }
    return false;
    };
    });

    loadWeatherData();

    window.addEventListener(‘pageshow’, function(event) {
    if (event.persisted) {
    // Fix for weather radar iframe appearing gray after browser back/forward navigation
    // When user navigates back, the page loads from browser cache but the iframe
    // content doesn’t restore properly, showing a gray screen instead of the radar map
    // This forces a fresh reload of the iframe by adding a timestamp parameter
    setTimeout(function() {
    refreshWeatherIframe(containerId);
    }, 300);
    }
    });
    }

    document.querySelectorAll(‘.weather-sidebar’).forEach(function(weatherBox) {
    initializeWeatherBox(weatherBox);
    });

    });

    X
    Google Logo

    Board County discusses Madison Supervisors
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous ArticleIntent Clusters Guide AI Product Discovery
    Next Article Chefs Say These 20 Kitchen Gadgets Are a Waste of Money. Here’s What to Buy Instead
    stamilhstgr0518@gmail.com
    • Website

    Related Posts

    Cybersecurity

    What leaked messages tell us about global hacking gang Conti

    July 12, 2026
    Cybersecurity

    The 6 biggest cybersecurity breaches of 2026 so far

    July 12, 2026
    Cybersecurity

    CISA looks to remedy ailments from big May credential leak

    July 11, 2026
    Add A Comment
    Leave A Reply Cancel Reply

    Top Posts

    New method aims to keep kids safe from illegal AI

    July 13, 20260 Views

    Could AI help al-Qaeda and other groups plan terror attacks?

    July 13, 20260 Views

    I tried to parody the most absurd AI products, but the tech industry beat me to it

    July 13, 20260 Views
    Stay In Touch
    • Facebook
    • YouTube
    • TikTok
    • WhatsApp
    • Twitter
    • Instagram
    Latest Reviews
    Chatbots

    OpenAI bets on families as ChatGPT goes deeper into households

    stamilhstgr0518@gmail.comJuly 11, 2026
    Generative AI

    MUSIC COMMUNITY INTRODUCES NEW LABELING PROGRAM TO DISTINGUISH GENERATIVE AI IN SOUND RECORDINGS

    stamilhstgr0518@gmail.comJuly 11, 2026
    AI News

    Safe from AI: which jobs will help you thrive in the future?

    stamilhstgr0518@gmail.comJuly 11, 2026

    Subscribe to Updates

    Get the latest tech news from FooBar about tech, design and biz.

    Most Popular

    New method aims to keep kids safe from illegal AI

    July 13, 20260 Views

    Could AI help al-Qaeda and other groups plan terror attacks?

    July 13, 20260 Views

    I tried to parody the most absurd AI products, but the tech industry beat me to it

    July 13, 20260 Views
    Our Picks

    OpenAI bets on families as ChatGPT goes deeper into households

    July 11, 2026

    MUSIC COMMUNITY INTRODUCES NEW LABELING PROGRAM TO DISTINGUISH GENERATIVE AI IN SOUND RECORDINGS

    July 11, 2026

    Safe from AI: which jobs will help you thrive in the future?

    July 11, 2026

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    Facebook X (Twitter) Instagram Pinterest
    • About Us
    • Get In Touch
    • Disclaimer
    • Privacy Policy
    • Terms and Conditions
    © 2026 AIToday7. All Rights Reserved.

    Type above and press Enter to search. Press Esc to cancel.