Voters fill out their ballots in Middlebury in Nov. 2024. File photo by Caleb Kenna/VTDigger
RUTLAND CITY — Vermont argued in federal court Tuesday that the Trump administration’s lawsuit demanding the state’s voter roll data should be dismissed because the administration has not provided a sufficient reason for its request.
The Trump administration sued Vermont’s secretary of state, among many other states, last year after she refused the department’s demand to turn over voter data, including voters’ addresses, drivers license numbers and the last four digits of their Social Security numbers.
Following the hearing, Federal Judge Mary Kay Lanthier will issue a ruling to dismiss or move forward with the case.
Secretary of State Sarah Copeland Hanzas said she had grounds to deny the request because Vermont Law barred the state and local government officials from sharing personally identifying voter data with federal agencies.
Advertisement
Copeland Hanzas said in an interview before the hearing that the Trump administration’s requests for states’ unredacted voter rolls undermines public trust in elections and points to broader concerns with privacy rights.
“We don’t want the federal government to have that level of information about individual Vermonters,” Copeland Hanzas said.
The state of Vermont’s lawyer Samuel Stratton, representing Copeland Hanzas, argued the case should be dismissed because the Department of Justice did not provide a factual basis and purpose for the request and therefore does not comply with the Civil Rights Act.
“We are proud to defend Secretary Copeland Hanzas in this case, and we will continue working to protect our elections from federal interference,” the Attorney General Charity Clark wrote in a Tuesday statement.
The Department of Justice attorney Brittany Bennett argued that the federal government has broad authority under the Civil Rights Act to seek voter data in order to determine whether the state of Vermont’s elections are in compliance with federal law.
Advertisement
The hearing comes after judges recently dismissed similar cases in California, Michigan, Oregon and Massachusetts. A federal judge in Massachusetts dismissed the case last week, asserting that the department failed to comply with Title III of the Civil Rights Act of 1960 by not sharing in detail how the department will use voter information.
The Department of Justice has brought similar lawsuits against 30 states for withholding voter rolls, while 12 states have complied or said they would comply with the Justice Department’s request, according to a tracker run by the Brennan Center for Justice.
“We certainly hope and expect that the outcome of ours will be similar to what’s happened with the states that have gone before us,” Copeland Hanzas said. “But if the motion to dismiss isn’t approved, then we will continue to fight, and we will have our day in court.”
Disclosure: VTDigger reporter Greta Solsaa worked in summer 2022 as a paid canvasser for the Vermont Public Interest Research Group, which filed several motions in the case.
The most widespread storm coverage will occur between 2-8 PM Tuesday, April 14
Advertisement
Timeline: When to expect showers & thunderstorms Tuesday in Vermont, New York
The most widespread storm coverage will occur between 2-8 PM Tuesday, April 14
Advertisement
NBC5 First Warning Meteorologist
Advertisement
NBC5 meteorologists expect strong to locally severe thunderstorms Tuesday afternoon into the evening for Vermont and northern New York.Watch the video to see when showers, downpours, and storms are most likely near your town.
BURLINGTON, Vt. —
NBC5 meteorologists expect strong to locally severe thunderstorms Tuesday afternoon into the evening for Vermont and northern New York.
Advertisement
Watch the video to see when showers, downpours, and storms are most likely near your town.
Advertisement
`;
}
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();
}
}
Advertisement
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’);
});
var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}
Advertisement
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’);
});
}
}
Advertisement
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’, “https://www.mynbc5.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.mynbc5.com/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’);
}
Advertisement
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);
}
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 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex
`;
}
Advertisement
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’);
});
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;
Advertisement
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’, “https://www.mynbc5.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.mynbc5.com/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 || ”;
Advertisement
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);
}
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 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex
A movement to limit the resale price of concert and event tickets is growing in Vermont.Last Thursday, renowned Vermont singer Noah Kahan submitted a video to a state Senate committee voicing his support of H.512. The bill passed the House last month. “This bill is a critical step in eliminating predatory resale behaviors and offering promoters a great solution for exchanging and reselling tickets in a safe marketplace,” the Strafford native said to lawmakers.The bill would limit the resale of tickets to 110% of the value they were originally purchased at. Other Vermonter’s testified that day and said they found themselves purchasing tickets online, not from the event’s venue or artist. They said the price was way above the original rate. “Now I was not just mad at myself, but I was mad at this person who did it to me,” Marina Cole of Wheelock told lawmakers. In 2024, the National Association of Ticket Brokers told NBC 5 that they were against price caps, which this bill is currently pursuing.”We have really good businesspeople who are doing the right thing,” Executive Director Gary Adler said at the time. The bill, as passed by the House, would charge the Vermont Attorney General’s Office with enforcing the resale cap. The office would have the authority to conduct audits, issue penalties and revoke a reseller’s license. Resale licenses would be a new requirement under the current bill. “I suspect the enforcement won’t be easy,” executive director of the Champlain Valley Exposition Tim Shea said Monday. “But it’s something we’re looking to follow and advocate for the right ticket buyer.”Shea said the Expo has been approached by consumers who have faced high resale prices and even some cases of ticket fraud through online reselling. He believes the legislation would help avoid those issues and keep revenues for Vermont venues and artists within the state. “When tickets are marked up to the level, they are that money’s going out of Vermont. It’s not staying here. It’s not going to the promoter. It’s not going to the concessioners on the ground,” Shea said. The bill is currently being reviewed by the Senate Committee on Economic Development, Housing, and General Affairs.
MONTPELIER, Vt. —
A movement to limit the resale price of concert and event tickets is growing in Vermont.
Last Thursday, renowned Vermont singer Noah Kahan submitted a video to a state Senate committee voicing his support of H.512. The bill passed the House last month.
Advertisement
“This bill is a critical step in eliminating predatory resale behaviors and offering promoters a great solution for exchanging and reselling tickets in a safe marketplace,” the Strafford native said to lawmakers.
The bill would limit the resale of tickets to 110% of the value they were originally purchased at. Other Vermonter’s testified that day and said they found themselves purchasing tickets online, not from the event’s venue or artist. They said the price was way above the original rate.
“Now I was not just mad at myself, but I was mad at this person who did it to me,” Marina Cole of Wheelock told lawmakers.
Advertisement
In 2024, the National Association of Ticket Brokers told NBC 5 that they were against price caps, which this bill is currently pursuing.
“We have really good businesspeople who are doing the right thing,” Executive Director Gary Adler said at the time.
The bill, as passed by the House, would charge the Vermont Attorney General’s Office with enforcing the resale cap.
The office would have the authority to conduct audits, issue penalties and revoke a reseller’s license. Resale licenses would be a new requirement under the current bill.
“I suspect the enforcement won’t be easy,” executive director of the Champlain Valley Exposition Tim Shea said Monday. “But it’s something we’re looking to follow and advocate for the right ticket buyer.”
Advertisement
Shea said the Expo has been approached by consumers who have faced high resale prices and even some cases of ticket fraud through online reselling. He believes the legislation would help avoid those issues and keep revenues for Vermont venues and artists within the state.
“When tickets are marked up to the level, they are that money’s going out of Vermont. It’s not staying here. It’s not going to the promoter. It’s not going to the concessioners on the ground,” Shea said.
The bill is currently being reviewed by the Senate Committee on Economic Development, Housing, and General Affairs.