91³Ô¹ÏÍø

Watch CBS News

Who is Walt Nauta — and why was the Trump aide also indicted in the documents case?

On Friday, the Justice Department unsealed an indictment against former President Donald Trump, which names his aide Walt Nauta as a co-conspirator. Trump faces 37 counts related to sensitive documents, and the 38th count alleges Nauta, a military veteran, made false statements and representations during an FBI interview.

Nauta, whose full name is Waltine Torre Nauta, is from Guam and enlisted in the Navy in 2001. From 2012 to 2021, he served in Washington, D.C. as part of the Presidential Food Service, according to his service record. 

Trump called Nauta a "wonderful man" in a Truth Social post Friday. He said Nauta served in the White House and retired as a senior chief before becoming a personal aide. "He has done a fantastic job," Trump wrote on his social media platform.

Nauta was a valet to Trump, according to the indictment, a role that is similar to a personal assistant or "body man." Nauta would have worked closely with Trump in the White House and traveled with him, and continued to work for Trump after his presidency. 

Trump Iowa
West Palm Beach, FL - March 13 : Walt Nauta, aid to former President Donald Trump, follows Trump as they board his airplane, known as Trump Force One, in route to Iowa at Palm Beach International Airport on Monday, March 13, 2023, in West Palm Beach, FL. Jabin Botsford/The Washington Post via Getty Images

The indictment alleges that as they prepared for Trump to leave the White House, Trump and his staff, including Nauta, "packed items, including some of Trump's boxes," which contained hundreds of classified documents. These boxes were allegedly transported from the White House to The Mar-a-Lago, Trump's golf club and residence in Florida.

According to the indictment, Nauta and other employees moved the boxes around Mar-a-Lago several times, and even sent photos of boxes toppled over. Some boxes were allegedly loaded into Nauta's car and brought to a truck that then brought them to the National Archives, also referred to as NARA.

The indictment alleges Trump directed Nauta "to move boxes of documents to conceal them from Trump's attorney, the FBI and the grand jury."

A source told CBS News that security camera footage from Mar-a-Lago captured Nauta moving boxes. 

Nauta is also accused of lying during an FBI interview in May 2022. The indictment alleges he falsely stated he was not aware of the boxes being brought to Trump's residence for his review before they were provided to NARA. He is accused of lying about not knowing how many boxes were loaded onto the truck to be brought to NARA. And he is accused of falsely reporting if he knew whether or not the boxes were stored in a secure location. 

Nauta's name is mentioned in several of the 37 counts listed in the indictment. The final count states Nauta "did knowingly and willfully make a materially false, fictitious, and fraudulent statement and representation" in a voluntary interview "during a federal criminal investigation being conducted by the FBI."

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