91³Ô¹ÏÍø

Watch CBS News

Controversial FISA surveillance program extended by House but only until April 30

Washington — The House early Friday approved a short-term renewal until April 30 of a controversial surveillance program used by U.S. spy agencies, after Republicans revolted and refused President Trump's push for a longer extension.

The measure passed in a post-midnight session by unanimous consent, meaning no members objected. 

A new proposal was unveiled late Thursday that would have extended the program for five years with revisions. It was a departure from the clean 18-month renewal Mr. Trump had demanded and Speaker Mike Johnson previously backed.

Lawmakers scrambled back to the Capitol as Democrats blasted the process, with many members flipping through pages of the bill on the floor as votes began. The effort collapsed when a key procedural vote fell short, doomed by GOP defections.

"We were very close tonight," Johnson said.

Later Friday morning, it was taken up by the Senate, which also passed a 10-day extension.

Speaker of the House Mike Johnson
House Speaker Mike Johnson departs after a vote at the Capitol on March 26, 2026. Nathan Posner/Anadolu via Getty Images

Massachusetts Rep. Jim McGovern kicked off a fiery floor debate late Thursday by asking, "Does anybody actually know what the hell is in this thing?

"Are you kidding me? Who the hell is running this place?" said McGovern.

At the center of the standoff that has stretched throughout the week is Section 702 of the Foreign Intelligence Surveillance Act, known as FISA, which permits the CIA, National Security Agency, FBI and other agencies to collect and analyze vast amounts of overseas communications without a warrant. In doing so, they can incidentally sweep up communications involving Americans who interact with foreign targets.

U.S. officials say the authority is critical to disrupting terrorist plots, cyber intrusions and foreign espionage. Proponents of its renewal stress that it's imperative that it be kept in place as the war with Iran continues.

But opponents from both parties worry that it allows federal authorities to look at Americans' communications without a search warrant.   

Its path to passage has teetered all week in a familiar fight, as lawmakers weigh civil liberties concerns against intelligence officials' warnings about national security risks.

"There are a lot of opinions," Johnson said earlier Thursday. "We want to make sure that we have this very important tool for national security, but we also do it in a way that jealously guards constitutional rights."

Mr. Trump and his allies had lobbied aggressively all week for a clean renewal of the program. A group of Republicans traveled to the White House on Tuesday, and on Wednesday CIA Director John Ratcliffe spoke directly with GOP lawmakers. House Majority Leader Steve Scalise said Thursday there had "been negotiations late into the night with the White House and some of our members."

"I am asking Republicans to UNIFY, and vote together on the test vote to bring a clean Bill to the floor," Mr. Trump wrote on Truth Social this week. "We need to stick together."

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(); } }); }); }); });