All-in-one platform
The only platform designed for LATAM that unifies
device management, security, and identity
for your company.

One platform
Designed to manage and protect operations
of any size across LATAM.
Persistent control and risk assessment
of your devices, from anywhere.
Securely manage your company’s growing
mobile inventory.
Service management for dispersed teams,
focused on productivity.
Trusted by IT and security teams
40,000+
Protected devices
80+
Companies served
20+
Countries reached
24/7
Dedicated support
Industries
Nukke supports critical operations in key sectors
across LATAM.
(function () {
/* ===================================================== CAMBIO DE IDIOMA ===================================================== */
window.changeLang = function (lang) {
const currentLangText = document.getElementById("currentLangText");
const currentLangFlag = document.getElementById("currentLangFlag");
const navAccount = document.querySelector( "#siteHeader .header-actions .btn-outline" );
const isEnglish = lang === "EN";
/* ================================================= IDIOMA ================================================= */
if (currentLangText) {
currentLangText.textContent = isEnglish ? "EN" : "ES"; }
if (currentLangFlag) {
currentLangFlag.src = isEnglish
? "https://upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg"
: "https://upload.wikimedia.org/wikipedia/commons/9/9a/Flag_of_Spain.svg";
currentLangFlag.alt = isEnglish ? "USA Flag" : "Spain Flag"; }
/* ================================================= MI CUENTA ================================================= */
if (navAccount) {
navAccount.href = isEnglish
? "https://nukke.us/my-account/"
: "https://nukke.us/my-account/"; }
/* ================================================= TEXTOS NORMALES ================================================= */
document .querySelectorAll( "[data-es][data-en]" ) .forEach(function (element) {
if ( element.hasAttribute("data-es-html") || element.hasAttribute("data-en-html") ) { return; }
const value = isEnglish
? element.getAttribute("data-en")
: element.getAttribute("data-es");
if (value !== null) {
element.textContent = value; }
});
/* ================================================= TEXTOS CON HTML ================================================= */
document .querySelectorAll( "[data-es-html][data-en-html]" ) .forEach(function (element) {
const value = isEnglish
? element.getAttribute("data-en-html")
: element.getAttribute("data-es-html");
if (value !== null) {
element.innerHTML = value; }
});
/* ================================================= IDIOMA HTML ================================================= */
document.documentElement.lang = isEnglish ? "en" : "es";
/* ================================================= GUARDAR IDIOMA ================================================= */
try {
localStorage.setItem( "nukkeLanguage", lang );
} catch (error) {}
};
/* ===================================================== SELECTOR DE IDIOMA (CLIC) ===================================================== */
const langWrapper = document.querySelector(".lang-selector-wrapper");
const langToggleBtn = document.getElementById("currentLangBtn");
const langOptionButtons = document.querySelectorAll(".lang-option[data-lang]");
function closeLangMenu() {
if (!langWrapper) return;
langWrapper.classList.remove("open");
if (langToggleBtn) { langToggleBtn.setAttribute("aria-expanded", "false"); } }
if (langWrapper && langToggleBtn) {
langToggleBtn.addEventListener( "click", function (event) {
event.stopPropagation();
const isOpen = langWrapper.classList.toggle("open");
langToggleBtn.setAttribute( "aria-expanded", isOpen ? "true" : "false" ); } );
/* ------------------------------------------------- CERRAR AL HACER CLIC AFUERA ------------------------------------------------- */
document.addEventListener( "click", function (event) {
if (!langWrapper.contains(event.target)) { closeLangMenu(); } } );
/* ------------------------------------------------- CERRAR CON ESCAPE ------------------------------------------------- */
document.addEventListener( "keydown", function (event) {
if (event.key === "Escape") { closeLangMenu(); } } ); }
langOptionButtons.forEach(function (button) {
button.addEventListener( "click", function (event) {
event.stopPropagation();
window.changeLang(button.dataset.lang);
closeLangMenu(); } ); });
/* ===================================================== MENÚ MÓVIL ===================================================== */
const siteHeader = document.getElementById("siteHeader");
const navToggle = document.querySelector( "#siteHeader .nav-toggle" );
if (navToggle && siteHeader) {
navToggle.addEventListener( "click", function () {
const isOpen = siteHeader.classList.toggle("open");
navToggle.setAttribute( "aria-expanded", isOpen ? "true" : "false" );
navToggle.textContent = isOpen ? "×" : "☰";
} );
/* =============================================== CERRAR MENÚ =============================================== */
siteHeader .querySelectorAll("nav.main a") .forEach(function (link) {
link.addEventListener( "click", function () {
siteHeader.classList.remove( "open" );
navToggle.setAttribute( "aria-expanded", "false" );
navToggle.textContent = "☰";
} );
});
}
/* ===================================================== IDIOMA GUARDADO ===================================================== */
let savedLanguage = "EN";
try {
const storedLanguage = localStorage.getItem( "nukkeLanguage" );
if ( storedLanguage === "ES" || storedLanguage === "EN" ) {
savedLanguage = storedLanguage;
}
} catch (error) {}
/* ===================================================== APLICAR IDIOMA ===================================================== */
window.changeLang( savedLanguage );
})();