Casa NUA presents

your Networked Art gallery

NUA is a Networked Art virtual gallery developed by Casa NUA. Explore, curate and exhibit your own NFT collection — with a special ownership seal — on your own TVs or displays, or just browse and show NFT art from the entire world in your hands.Our apps are currently in beta testing for iPhone, iPad and TV OS.
Also coming next: Samsung, Google TV and Android apps.

(function () { var NUA_STORES = { ios: "", tvos: "", googletv:"", samsung: "" }; var T = { en: { title: "Get NUA", sub: "Curate your gallery on your phone. Exhibit it on your screens.", soon: "Coming soon", open: "Get", others: "Other screens", ios: "iPhone \x26 iPad", tvos: "Apple TV", googletv: "Google TV", samsung: "Samsung TV", primaryIos: "App Store", primaryGoogle: "Google Play", primarySamsung: "Samsung Apps", hintIos: "For your Apple TV: open the App Store on the TV and search for NUA.", hintAndroid: "Google Play can install NUA straight onto your Google TV — choose the TV when installing.", hintSamsung: "Or on the TV: open Apps and search for NUA.", howTvos: "On the TV: App Store → search NUA", howSamsung: "On the TV: Apps → search NUA", howGoogle: "From your phone, install to the TV", howIos: "App Store on iPhone or iPad" }, pt: { title: "Baixe NUA", sub: "Faça a curadoria da sua galeria no celular. Exiba nas suas telas.", soon: "Em breve", open: "Baixar", others: "Outras telas", ios: "iPhone e iPad", tvos: "Apple TV", googletv: "Google TV", samsung: "TV Samsung", primaryIos: "App Store", primaryGoogle: "Google Play", primarySamsung: "Samsung Apps", hintIos: "Para a sua Apple TV: abra a App Store na TV e procure por NUA.", hintAndroid: "O Google Play instala o app NUA direto na sua Google TV — escolha a TV na hora de instalar.", hintSamsung: "Ou na TV: abra Apps e procure por NUA.", howTvos: "Na TV: App Store → procure NUA", howSamsung: "Na TV: Apps → procure NUA", howGoogle: "Pelo celular, instale na TV", howIos: "App Store no iPhone ou iPad" }, es: { title: "Descarga NUA", sub: "Cura tu galería en el teléfono. Exhíbela en tus pantallas.", soon: "Próximamente", open: "Descargar", others: "Otras pantallas", ios: "iPhone y iPad", tvos: "Apple TV", googletv: "Google TV", samsung: "TV Samsung", primaryIos: "App Store", primaryGoogle: "Google Play", primarySamsung: "Samsung Apps", hintIos: "Para tu Apple TV: abre la App Store en el televisor y busca NUA.", hintAndroid: "Google Play puede instalar NUA directamente en tu Google TV: elige el televisor al instalar.", hintSamsung: "O en el televisor: abre Apps y busca NUA.", howTvos: "En el TV: App Store → busca NUA", howSamsung: "En el TV: Apps → busca NUA", howGoogle: "Desde el teléfono, instala en el TV", howIos: "App Store en iPhone o iPad" }, fr: { title: "Téléchargez NUA", sub: "Composez votre galerie sur votre téléphone. Exposez-la sur vos écrans.", soon: "Bientôt", open: "Obtenir", others: "Autres écrans", ios: "iPhone et iPad", tvos: "Apple TV", googletv: "Google TV", samsung: "TV Samsung", primaryIos: "App Store", primaryGoogle: "Google Play", primarySamsung: "Samsung Apps", hintIos: "Pour votre Apple TV : ouvrez l’App Store sur le téléviseur et cherchez NUA.", hintAndroid: "Google Play peut installer NUA directement sur votre Google TV : choisissez le téléviseur à l’installation.", hintSamsung: "Ou sur le téléviseur : ouvrez Apps et cherchez NUA.", howTvos: "Sur la TV : App Store → cherchez NUA", howSamsung: "Sur la TV : Apps → cherchez NUA", howGoogle: "Depuis le téléphone, installez sur la TV", howIos: "App Store sur iPhone ou iPad" } }; var lang = String((navigator.languages && navigator.languages[0]) || navigator.language || "en").slice(0, 2).toLowerCase(); var t = T[lang] || T.en; var ua = navigator.userAgent || ""; var touchMac = /Macintosh/.test(ua) && (navigator.maxTouchPoints || 0) > 1; var kind = /Tizen|SMART-TV|SmartTV.*Samsung/i.test(ua) ? "samsung" : /Android/.test(ua) && /\bTV\b|GoogleTV|AFT|BRAVIA|Android TV/i.test(ua) ? "googletv" : /iPhone|iPad|iPod/.test(ua) || touchMac ? "ios" : /Android/.test(ua) ? "android" : "desktop"; var el = document.getElementById("nua-get"); var esc = function (s) { return String(s).replace(/[&\x3c>"]/g, function (c) { return { "\x26": "\x26amp;", "\x3c": "\x26lt;", ">": "\x26gt;", '"': "\x26quot;" }[c]; }); }; function primary(storeKey, label, deviceName) { var url = NUA_STORES[storeKey]; return url ? '\x3ca class="nua-primary" href="' + esc(url) + '" rel="noopener">' + esc(label) + "\x3csmall>" + esc(deviceName) + "\x3c/small>\x3c/a>" : '\x3cdiv class="nua-primary nua-soon">' + esc(label) + "\x3csmall>" + esc(deviceName) + " · " + esc(t.soon) + "\x3c/small>\x3c/div>"; } function row(storeKey, name, how) { var url = NUA_STORES[storeKey]; return '\x3cdiv class="nua-row">\x3cdiv>\x3cdiv class="nua-row-name">' + esc(name) + '\x3c/div>\x3cdiv class="nua-row-how">' + esc(how) + "\x3c/div>\x3c/div>" + (url ? '\x3ca href="' + esc(url) + '" rel="noopener">' + esc(t.open) + "\x3c/a>" : '\x3cspan class="nua-soon-pill">' + esc(t.soon) + "\x3c/span>") + "\x3c/div>"; } var ROWS = { ios: function () { return row("ios", t.ios, t.howIos); }, tvos: function () { return row("tvos", t.tvos, t.howTvos); }, googletv: function () { return row("googletv", t.googletv, t.howGoogle); }, samsung: function () { return row("samsung", t.samsung, t.howSamsung); } }; var top = "", hint = "", skip = {}; if (kind === "ios") { top = primary("ios", t.primaryIos, t.ios); hint = t.hintIos; skip.ios = 1; } if (kind === "android" || kind === "googletv") { top = primary("googletv", t.primaryGoogle, t.googletv); hint = t.hintAndroid; skip.googletv = 1; } if (kind === "samsung") { top = primary("samsung", t.primarySamsung, t.samsung); hint = t.hintSamsung; skip.samsung = 1; } var others = ["ios", "tvos", "googletv", "samsung"].filter(function (k) { return !skip[k]; }).map(function (k) { return ROWS[k](); }).join(""); el.setAttribute("lang", T[lang] ? lang : "en"); el.setAttribute("data-device", kind); el.innerHTML = "\x3ch2>" + esc(t.title) + "\x3c/h2>" + '\x3cp class="nua-sub">' + esc(t.sub) + "\x3c/p>" + top + (hint ? '\x3cp class="nua-hint">' + esc(hint) + "\x3c/p>" : "") + '\x3cdiv class="nua-others">' + (top ? '\x3cdiv class="nua-others-title">' + esc(t.others) + "\x3c/div>" : "") + others + "\x3c/div>"; })();

Claim a Code for the Collector Edition here.

Casa NUA is an IRL NFT Art Museum and the world's most experienced cryptoart show runner. We go to great lengths to ensure all NFT art is exhibited as it's meant to, both in our physical locations and virtually through our apps.We work as a non-profit and we welcome your contribution so we can keep building the world's best experiences for enjoying NFT art.

Inaugurated in 2023 in a 1940s penthouse in downtown São Paulo, Brazil, Casa NUA is the global South's 1st Museum of Networked Art.Casa NUA promotes, therefore, the fruition and dissemination of digital art issued as NFTs, also functioning as an incubator for local artists and an educational center in the convergence between the arts and technology. Through our 2 IRL spaces in São Paulo — Casa NUA and Domínio PúbliCC0 6529 — and via our apps, we disseminate cryptoart and culture to artists, collectors and art enthusiasts.Proudly holder of 6529 Gradient #96 among hundreds of artworks, Casa NUA is a global reference in the curation and exhibition of natively digital, networked art.

Casa NUA : website - 6529 - 𝕏 - instagram

Contribute !

We are currently a very lean team of only 5 persons (Hugo, Patê, Mika, Alex and Sina) working full time to build, care for and maintain everything virtually AND in our 2 IRL historical locations serving thousands of monthly visitors: frequent curations, visitor welcome and guidance, artist and collector workshops, content creation and public promotion, app development and maintenance, administrative bureaucracy, security, cleaning...All of our programming is completely free and we have no private or governmental sponsors in order to maintain full independence. We constantly build with and for the 6529 Network, and we also kindly accept decentralized contributions to keep us functioning and building. For now, this can be done by:- subscribing to one of the paid tiers in our app;
- in the form of donations of any amount to casanua.eth;
- or through the acquisition of any of our Meme Cards on 6529.
Thank you!

(function () { var NUA_COLLECTOR = { api: "https://nua-collector-codes.casanua.workers.dev", appStoreId: "" }; var APPKIT = "https://cdn.jsdelivr.net/npm/\x40reown/appkit-cdn\x401.8.24/dist/appkit.js"; var T = { en: { title: "Collector Edition", how: "Connect a wallet linked to your 6529 consolidation and sign one verification message. No transaction is sent.", rule: "Casa NUA community members can try the Collector Edition for 3 months, and nothing is charged when they end. You can request a new one every three months.", nextOn: "Your next code opens on {d}.", tooSoon: "This wallet, or one linked to it, received a code on {d}. The next one opens on {d2}.", connect: "Connect wallet", free: "A signature only — never a transaction, never a cost.", choosing: "Choose your wallet…", signing: "Sign the message in your wallet.", checking: "Checking the chain…", yourCode: "Your Collector code", copy: "Copy", copied: "Copied", open: "Open in the App Store", redeemHow: "To redeem it: App Store → your picture → Redeem Gift Card or Code.", notHolder: "This wallet, with the wallets linked to it, holds none of the Casa NUA Memes.", empty: "There are no codes available right now. Please come back soon.", unread: "We could not read the chain just now. Please try again in a minute.", contract: "This wallet cannot sign here. Sign with the wallet that is a Casa NUA holder, or a wallet it has consolidated with on 6529.", badSig: "That signature did not check out. Please try again.", cancelled: "Signing was cancelled.", noWallet: "No wallet could be opened on this page.", another: "Use another wallet", retry: "Try again", back: "Back" }, pt: { title: "Collector Edition", how: "Conecte uma carteira ligada à sua consolidação no 6529 e assine uma mensagem de verificação. Nenhuma transação é enviada.", rule: "Membros da comunidade Casa NUA podem experimentar a Collector Edition por 3 meses, e nada é cobrado quando eles terminam. Você pode pedir um novo código a cada três meses.", nextOn: "Seu próximo código abre em {d}.", tooSoon: "Esta carteira, ou uma ligada a ela, recebeu um código em {d}. O próximo abre em {d2}.", connect: "Conectar carteira", free: "Só uma assinatura — nunca uma transação, nunca um custo.", choosing: "Escolha sua carteira…", signing: "Assine a mensagem na sua carteira.", checking: "Consultando a blockchain…", yourCode: "Seu código Collector", copy: "Copiar", copied: "Copiado", open: "Abrir na App Store", redeemHow: "Para resgatar: App Store → sua foto → Resgatar Cartão-Presente ou Código.", notHolder: "Esta carteira, com as carteiras ligadas a ela, não tem nenhum dos Memes da Casa NUA.", empty: "Não há códigos disponíveis agora. Volte em breve.", unread: "Não conseguimos consultar a blockchain agora. Tente de novo em um minuto.", contract: "Esta carteira não consegue assinar aqui. Assine com a carteira que é membro da Casa NUA, ou com uma carteira consolidada com ela no 6529.", badSig: "A assinatura não confere. Tente de novo.", cancelled: "A assinatura foi cancelada.", noWallet: "Nenhuma carteira pôde ser aberta nesta página.", another: "Usar outra carteira", retry: "Tentar de novo", back: "Voltar" }, es: { title: "Collector Edition", how: "Conecta una billetera vinculada a tu consolidación en 6529 y firma un mensaje de verificación. No se envía ninguna transacción.", rule: "Los miembros de la comunidad Casa NUA pueden probar la Collector Edition durante 3 meses, y no se cobra nada cuando terminan. Puedes pedir uno nuevo cada tres meses.", nextOn: "Tu próximo código se abre el {d}.", tooSoon: "Esta billetera, o una vinculada a ella, recibió un código el {d}. El próximo se abre el {d2}.", connect: "Conectar billetera", free: "Solo una firma — nunca una transacción, nunca un costo.", choosing: "Elige tu billetera…", signing: "Firma el mensaje en tu billetera.", checking: "Consultando la cadena…", yourCode: "Tu código Collector", copy: "Copiar", copied: "Copiado", open: "Abrir en la App Store", redeemHow: "Para canjearlo: App Store → tu foto → Canjear tarjeta regalo o código.", notHolder: "Esta billetera, con las billeteras vinculadas a ella, no tiene ninguno de los Memes de Casa NUA.", empty: "No hay códigos disponibles ahora. Vuelve pronto.", unread: "No pudimos consultar la cadena ahora. Inténtalo de nuevo en un minuto.", contract: "Esta billetera no puede firmar aquí. Firma con la billetera que es miembro de Casa NUA, o con una billetera consolidada con ella en 6529.", badSig: "La firma no es válida. Inténtalo de nuevo.", cancelled: "La firma fue cancelada.", noWallet: "No se pudo abrir ninguna billetera en esta página.", another: "Usar otra billetera", retry: "Reintentar", back: "Volver" }, fr: { title: "Collector Edition", how: "Connectez un portefeuille lié à votre consolidation 6529 et signez un message de vérification. Aucune transaction n’est envoyée.", rule: "Les membres de la communauté Casa NUA peuvent essayer la Collector Edition pendant 3 mois, et rien n’est facturé à leur fin. Vous pouvez en demander un nouveau tous les trois mois.", nextOn: "Votre prochain code s’ouvre le {d}.", tooSoon: "Ce portefeuille, ou un portefeuille lié, a reçu un code le {d}. Le prochain s’ouvre le {d2}.", connect: "Connecter le portefeuille", free: "Une simple signature — jamais une transaction, jamais un coût.", choosing: "Choisissez votre portefeuille…", signing: "Signez le message dans votre portefeuille.", checking: "Lecture de la blockchain…", yourCode: "Votre code Collector", copy: "Copier", copied: "Copié", open: "Ouvrir dans l’App Store", redeemHow: "Pour l’utiliser : App Store → votre photo → Utiliser une carte cadeau ou un code.", notHolder: "Ce portefeuille, avec les portefeuilles qui lui sont liés, ne détient aucun des Memes Casa NUA.", empty: "Aucun code n’est disponible pour le moment. Revenez bientôt.", unread: "Impossible de lire la blockchain pour le moment. Réessayez dans une minute.", contract: "Ce portefeuille ne peut pas signer ici. Signez avec le portefeuille membre de Casa NUA, ou un portefeuille consolidé avec lui sur 6529.", badSig: "Cette signature n’est pas valide. Réessayez.", cancelled: "La signature a été annulée.", noWallet: "Aucun portefeuille n’a pu être ouvert sur cette page.", another: "Utiliser un autre portefeuille", retry: "Réessayer", back: "Retour" } }; var lang = String((navigator.languages && navigator.languages[0]) || navigator.language || "en").slice(0, 2).toLowerCase(); if (!T[lang]) lang = "en"; var t = T[lang]; var el = document.getElementById("nua-meme"); el.setAttribute("lang", lang); var day = function (ms) { try { return new Date(ms).toLocaleDateString(lang, { day: "numeric", month: "long", year: "numeric", timeZone: "UTC" }); } catch (e) { return new Date(ms).toISOString().slice(0, 10); } }; var fill = function (s, a, b) { return s.replace("{d}", a == null ? "" : day(a)).replace("{d2}", b == null ? "" : day(b)); }; var esc = function (s) { return String(s).replace(/[&\x3c>"]/g, function (c) { return { "\x26": "\x26amp;", "\x3c": "\x26lt;", ">": "\x26gt;", '"': "\x26quot;" }[c]; }); }; var api = function (path, body) { return fetch(NUA_COLLECTOR.api + path, body ? { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify(body) } : {}) .then(function (r) { return r.json(); }); }; var available = true, busy = false, kit = null, account = null, choosing = false; function head() { return "\x3ch2>" + esc(t.title) + "\x3c/h2>" + (t.sub ? '\x3cp class="nua-sub">' + esc(t.sub) + "\x3c/p>" : ""); } function btn(label, act, small) { return '\x3cbutton class="nua-primary" data-act="' + act + '">' + esc(label) + (small ? "\x3csmall>" + esc(small) + "\x3c/small>" : "") + "\x3c/button>"; } function secondary(label, act) { return '\x3cbutton class="nua-secondary" data-act="' + act + '">' + esc(label) + "\x3c/button>"; } function intro(note) { el.innerHTML = head() + '\x3cp class="nua-sub">' + esc(t.how) + "\x3c/p>" + '\x3cp class="nua-rule">' + esc(t.rule) + "\x3c/p>" + btn(t.connect, "connect", t.free) + (note ? '\x3cp class="nua-note">' + esc(note) + "\x3c/p>" : (!available ? '\x3cp class="nua-note">' + esc(t.empty) + "\x3c/p>" : "")) + (t.keeps ? '\x3cp class="nua-note">' + esc(t.keeps) + "\x3c/p>" : ""); } function working(line) { el.innerHTML = head() + '\x3cdiv class="nua-msg">' + esc(line) + "\x3c/div>" + '\x3cbutton class="nua-primary" disabled>' + esc(t.connect) + "\x3c/button>"; } function message(line, withAnother, withRetry) { el.innerHTML = head() + '\x3cdiv class="nua-msg">' + esc(line) + "\x3c/div>" + (withRetry ? secondary(t.retry, "connect") : "") + (withAnother ? secondary(t.another, "another") : "") + secondary(t.back, "back"); } function showCode(r) { var id = String(NUA_COLLECTOR.appStoreId || "").trim(); var url = id ? "https://apps.apple.com/redeem?ctx=offercodes\x26id=" + encodeURIComponent(id) + "\x26code=" + encodeURIComponent(r.code) : ""; el.innerHTML = head() + '\x3cdiv class="nua-label">' + esc(t.yourCode) + "\x3c/div>" + '\x3cdiv class="nua-code">' + esc(r.code) + "\x3c/div>" + (url ? '\x3ca class="nua-primary" href="' + esc(url) + '" rel="noopener">' + esc(t.open) + "\x3c/a>" : "") + secondary(t.copy, "copy") + '\x3cp class="nua-note">' + esc(t.redeemHow) + "\x3c/p>" + (r.nextAt ? '\x3cp class="nua-note">' + esc(fill(t.nextOn, r.nextAt)) + "\x3c/p>" : ""); el.setAttribute("data-code", r.code); } function result(r) { busy = false; if (!r || !r.state) return message(t.unread, false, true); if (r.state === "code") return showCode(r); if (r.state === "too_soon") return message(fill(t.tooSoon, r.claimedAt, r.nextAt), true); if (r.state === "not_holder") return message(t.notHolder, true); if (r.state === "empty") return message(t.empty, false); if (r.state === "bad_signature") return message(r.why === "contract" ? t.contract : t.badSig, true); return message(t.unread, false, true); } function toHex(s) { var b = new TextEncoder().encode(s), h = "0x"; for (var i = 0; i < b.length; i++) h += (b[i] < 16 ? "0" : "") + b[i].toString(16); return h; } function signWith(provider, address) { if (busy) return; busy = true; choosing = false; working(t.signing); api("/nonce", { address: address, lang: lang }).then(function (n) { if (!n || !n.message || !n.ticket) throw { unread: true }; return provider.request({ method: "personal_sign", params: [toHex(n.message), address] }).then(function (sig) { working(t.checking); return api("/verify", { ticket: n.ticket, signature: sig }); }); }).then(result, function (e) { busy = false; if (e && e.unread) return message(t.unread, false, true); var code = e && (e.code || (e.data && e.data.code)); if (code === 4001 || /reject|denied|cancel/i.test(String(e && e.message))) return intro(t.cancelled); message(t.unread, false, true); }); } function connect() { var p0 = kit && account && kit.getWalletProvider && kit.getWalletProvider(); if (p0) return signWith(p0, account); working(t.choosing); choosing = true; api("/config").then(function (cfg) { var pid = cfg && cfg.reownProjectId; if (!pid) throw new Error("no project id"); return import(APPKIT).then(function (m) { if (!kit) { var adapter = new m.WagmiAdapter({ projectId: pid, networks: [m.networks.mainnet] }); kit = m.createAppKit({ adapters: [adapter], networks: [m.networks.mainnet], projectId: pid, metadata: { name: "NUA", description: "Casa NUA holders", url: location.origin, icons: [] }, features: { analytics: false, email: false, socials: false, swaps: false, onramp: false, send: false, history: false }, themeMode: "dark", themeVariables: { "--w3m-accent": "#ecebe6", "--w3m-font-family": "Inter, system-ui, sans-serif" } }); kit.subscribeAccount(function (a) { var addr = a && a.isConnected && a.address; if (!addr || addr === account) return; account = addr; var p = kit.getWalletProvider(); if (p) { signWith(p, addr); if (kit.close) kit.close(); } }); kit.subscribeState && kit.subscribeState(function (s) { if (s && s.open === false && choosing && !busy) { choosing = false; intro(); } }); } return kit.open(); }); }).catch(function () { var eth = window.ethereum; if (!eth) return intro(t.noWallet); eth.request({ method: "eth_requestAccounts" }).then(function (list) { if (list && list[0]) signWith(eth, list[0]); else intro(t.cancelled); }, function () { intro(t.cancelled); }); }); } el.addEventListener("click", function (ev) { var b = ev.target.closest && ev.target.closest("[data-act]"); if (!b) return; var act = b.getAttribute("data-act"); if (act === "connect") connect(); if (act === "back") intro(); if (act === "another") { account = null; var go = function () { intro(); connect(); }; if (kit && kit.disconnect) kit.disconnect().then(go, go); else go(); } if (act === "copy") { var code = el.getAttribute("data-code") || ""; var done = function () { b.textContent = t.copied; }; if (navigator.clipboard) navigator.clipboard.writeText(code).then(done, function () {}); else done(); } }); intro(); api("/status").then(function (s) { if (s && s.available === false) { available = false; if (!busy && !account) intro(); } }, function () {}); })();
(function () { var MAIL = "bugs\x40nua.casa"; var T = window.NUA_PRIVACY_T = window.NUA_PRIVACY_T || {}; T.en = { name: "English", title: "Privacy Policy", updated: "Last updated 24 September 2026", lead: "This policy covers NUA for iPhone, iPad and Apple TV. In short: NUA has no account, shows no advertising, tracks nobody, and keeps your gallery with you.", s: [ ["No account, no advertising, no tracking", "There is no account to create. NUA shows no advertising, contains no advertising or analytics software of its own, and does not track you across apps or websites. The wallet-connection software inside NUA has analytics of its own, and NUA switches them off."], ["Your gallery stays with you", "The works you add, your curations and your settings are kept on your device and in your own iCloud. We cannot see them. When you upload an artwork, NUA receives only the files you choose and keeps them on your device only."], ["Your Displays and your network", "The NUA app and your Displays (the TVs that exhibit your gallery) talk to each other over your own Wi-Fi. So that your Displays can find it, the app announces your gallery's name on that network, where other devices can see the name. What the app and your Displays exchange — which exhibition to show, download progress, the free space on a Display — stays on that network.", "Displays download the artworks from the NUA app on that network, from NUA's servers (cdn.nua.casa), or from the addresses the works themselves name."], ["Wallets", "Connecting a wallet is optional. NUA asks your wallet to sign a message that proves an address is yours; it never asks for a transaction, never holds your keys and never moves funds. The signature is checked on your own device. The address is kept only with your gallery — on your device and in your iCloud — and we keep no record of it.", "The connection passes through WalletConnect (Reown) or Beacon, services that carry encrypted messages between NUA and your wallet app."], ["Finding and showing art", "To show a work, search for one, or list the works a wallet holds, NUA asks public blockchain and marketplace services — such as Blockscout, TzKT, OpenSea, objkt, 6529, Alchemy and IPFS gateways — and NUA's own servers (cdn.nua.casa, ipfs.nua.casa and NUA's search relay), which run on Cloudflare. These requests carry what you searched for, the address of a work, or a wallet's public address.", "NUA's servers do not record who asked for what: the artworks they cache and the search answers they keep for a short time are shared by everyone, and the only records kept per installation are those described under One technical identifier. Each outside service has its own privacy policy."], ["One technical identifier", "To keep NUA's artwork cache (ipfs.nua.casa) fair for everyone, each installation of the iPhone and iPad app proves it is a genuine copy of NUA with Apple's App Attest. The cache keeps that installation's key identifier and public key, and counts its requests per minute and per day in order to limit them; the counts are deleted once their window has passed. Requests are also counted per network address for a minute, stored as a keyed hash rather than the address itself, and deleted within minutes.", "None of this is linked to your name, your wallet or your Apple Account, and it is used for nothing else."], ["Editions", "Collector and Curator are subscriptions sold by Apple through the App Store. Apple handles the payment; we never receive your card or payment details. The app asks the App Store which edition your Apple Account holds. You can manage or cancel a subscription in your Apple Account's subscription settings."], ["Collector codes at nua.casa", "If you claim a Collector code at nua.casa, that page asks your wallet to sign a message (never a transaction); the signature is checked once and discarded. We keep the list of wallets that have claimed a code, with the wallets consolidated with them, and the date of their last claim, so each person receives one code every three months; each entry is deleted three months after the claim, and our database provider keeps restore copies for up to 30 days. Nothing else is kept, and there is no record of which code went to whom."], ["Problem reports and feedback", "If something goes wrong with an exhibition or a work, NUA can write a report about the problem, the device and the artwork, with the app's recent crash diagnostics. It opens in your email app, and nothing is sent unless you send it. If you write to us, we use your address only to answer you.", "If you test NUA through TestFlight, Apple shares with us the feedback, screenshots and crash reports you choose to send, and the information TestFlight gives developers under Apple's terms; we use it only to fix and improve NUA. If you allow sharing with app developers in your device settings, Apple sends us anonymous crash reports."], ["What NUA does not use", "NUA does not use your location, your contacts, your microphone or your camera, and it reads from your photo library only the items you pick."], ["Children", "NUA is not directed at children under 13."], ["Changes", "When this policy changes, this page changes with it and the date above moves."], ["Contact", "Questions about this policy: {MAIL}"] ] }; T.pt = { name: "Português", title: "Política de Privacidade", updated: "Última atualização: 24 de setembro de 2026", lead: "Esta política vale para o app NUA no iPhone, iPad e Apple TV. Em resumo: NUA não tem conta, não mostra publicidade, não rastreia ninguém e mantém a sua galeria apenas com você.", s: [ ["Sem conta, sem publicidade, sem rastreamento", "Não há conta para criar. NUA não mostra publicidade, não contém software próprio de publicidade nem de análise, e não rastreia você entre apps ou sites. O software de conexão de carteiras dentro do app NUA tem análises próprias, e NUA as desativa."], ["Sua galeria fica com você", "As obras que você adiciona, suas curadorias e seus ajustes ficam no seu aparelho e no seu próprio iCloud. Nós não temos acesso a eles. Quando você faz o upload de uma obra, o app NUA recebe apenas os arquivos que você escolhe e os mantém no seu aparelho."], ["Seus Displays e a sua rede", "O app NUA e os seus Displays (as TVs que exibem a sua galeria) conversam pela sua própria rede Wi-Fi. Para que os Displays o encontrem, o app anuncia o nome da sua galeria nessa rede, onde outros aparelhos podem ver o nome. O que o app e os Displays trocam — qual exposição mostrar, o progresso do download, o espaço livre em um Display — fica nessa rede.", "Os Displays baixam as obras do app NUA nessa rede, dos servidores de NUA (cdn.nua.casa) ou dos endereços que as próprias obras indicam."], ["Carteiras", "Conectar uma carteira é opcional. NUA pede à sua carteira que assine uma mensagem provando que um endereço é seu; nunca pede uma transação, nunca guarda as suas chaves e nunca movimenta fundos. A assinatura é verificada no seu próprio aparelho. O endereço fica só com a sua galeria — no seu aparelho e no seu iCloud — e nós não guardamos registro dele.", "A conexão passa pelo WalletConnect (Reown) ou pelo Beacon, serviços que levam mensagens cifradas entre NUA e o app da sua carteira."], ["Encontrar e mostrar arte", "Para mostrar uma obra, buscar uma, ou listar as obras que uma carteira tem, NUA consulta serviços públicos de blockchain e de marketplaces — como Blockscout, TzKT, OpenSea, objkt, 6529, Alchemy e gateways IPFS — e os servidores do próprio NUA (cdn.nua.casa, ipfs.nua.casa e o relay de busca de NUA), que rodam na Cloudflare. Essas consultas levam o que você buscou, o endereço de uma obra ou o endereço público de uma carteira.", "Os servidores de NUA não registram quem pediu o quê: as obras que guardam em cache e as respostas de busca que mantêm por pouco tempo servem a todos, e os únicos registros por instalação são os descritos em Um identificador técnico. Cada serviço externo tem a sua própria política de privacidade."], ["Um identificador técnico", "Para manter o cache de obras de NUA (ipfs.nua.casa) justo para todos, cada instalação do app para iPhone e iPad prova que é uma cópia legítima do app NUA com o App Attest da Apple. O cache guarda o identificador e a chave pública dessa instalação, e conta os seus pedidos por minuto e por dia para limitá-los; as contagens são apagadas quando a janela delas passa. Os pedidos também são contados por endereço de rede durante um minuto, guardado como um hash com chave e não como o próprio endereço, e apagado em poucos minutos.", "Nada disso é ligado ao seu nome, à sua carteira ou à sua Conta Apple, e não é usado para mais nada."], ["Edições", "Collector e Curator são assinaturas vendidas pela Apple na App Store. A Apple cuida do pagamento; nós nunca recebemos os dados do seu cartão ou de pagamento. O app pergunta à App Store qual edição a sua Conta Apple tem. Você pode gerenciar ou cancelar uma assinatura nos ajustes de assinaturas da sua Conta Apple."], ["Códigos Collector no nua.casa", "Se você resgatar um código Collector no nua.casa, essa página pede à sua carteira que assine uma mensagem (nunca uma transação); a assinatura é conferida uma vez e descartada. Guardamos a lista das carteiras que resgataram um código, com as carteiras consolidadas com elas, e a data do último resgate, para que cada pessoa receba um código a cada três meses; cada registro é apagado três meses depois do resgate, e o nosso provedor de banco de dados guarda cópias de restauração por até 30 dias. Nada mais é guardado, e não há registro de qual código foi para quem."], ["Relatórios de problema e feedback", "Se algo der errado com uma exposição ou uma obra, NUA pode montar um relatório sobre o problema, o aparelho e a obra, com os diagnósticos recentes de falha do app. Ele abre no seu app de e-mail, e nada é enviado a menos que você envie. Se você nos escrever, usamos o seu endereço só para responder.", "Se você testa o app NUA pelo TestFlight, a Apple compartilha conosco o feedback, as capturas de tela e os relatórios de falha que você escolhe enviar, e as informações que o TestFlight dá aos desenvolvedores nos termos da Apple; usamos isso só para corrigir e melhorar NUA. Se você permitir o compartilhamento com desenvolvedores nos ajustes do aparelho, a Apple nos envia relatórios de falha anônimos."], ["O que NUA não usa", "NUA não usa a sua localização, os seus contatos, o seu microfone nem a sua câmera, e da sua fototeca lê apenas os itens que você escolhe."], ["Crianças", "NUA não é dirigido a menores de 13 anos."], ["Mudanças", "Quando esta política mudar, esta página muda junto e a data acima avança."], ["Contato", "Dúvidas sobre esta política: {MAIL}"] ] }; var el = document.getElementById("nua-privacy"); if (!el) return; var esc = function (s) { return String(s).replace(/[&\x3c>"]/g, function (c) { return { "\x26": "\x26amp;", "\x3c": "\x26lt;", ">": "\x26gt;", '"': "\x26quot;" }[c]; }); }; var para = function (s) { return "\x3cp>" + esc(s).replace("{MAIL}", '\x3ca href="mailto:' + MAIL + '">' + MAIL + "\x3c/a>") + "\x3c/p>"; }; var first = String((navigator.languages && navigator.languages[0]) || navigator.language || "en").slice(0, 2).toLowerCase(); function render(lang) { var t = T[lang] || T.en; lang = T[lang] ? lang : "en"; el.setAttribute("lang", lang); el.innerHTML = "\x3ch2>" + esc(t.title) + "\x3c/h2>" + '\x3cp class="nua-date">' + esc(t.updated) + "\x3c/p>" + '\x3cp class="nua-lead">' + esc(t.lead) + "\x3c/p>" + t.s.map(function (sec) { return "\x3csection>\x3ch3>" + esc(sec[0]) + "\x3c/h3>" + sec.slice(1).map(para).join("") + "\x3c/section>"; }).join("") + '\x3cdiv class="nua-langs">' + ["en", "pt", "es", "fr"].filter(function (k) { return T[k]; }).map(function (k) { return '\x3cbutton type="button" data-lang="' + k + '" aria-pressed="' + (k === lang) + '">' + esc(T[k].name) + "\x3c/button>"; }).join("") + "\x3c/div>"; Array.prototype.forEach.call(el.querySelectorAll(".nua-langs button"), function (b) { b.addEventListener("click", function () { render(b.getAttribute("data-lang")); }); }); } var want = (T[first] ? first : "en"); if (T.en && T.pt && T.es && T.fr) render(want); })();
(function () { var MAIL = "bugs\x40nua.casa"; var T = window.NUA_PRIVACY_T = window.NUA_PRIVACY_T || {}; T.es = { name: "Español", title: "Política de Privacidad", updated: "Última actualización: 24 de septiembre de 2026", lead: "Esta política cubre NUA para iPhone, iPad y Apple TV. En resumen: NUA no tiene cuenta, no muestra publicidad, no rastrea a nadie y guarda tu galería contigo.", s: [ ["Sin cuenta, sin publicidad, sin seguimiento", "No hay cuenta que crear. NUA no muestra publicidad, no contiene software propio de publicidad ni de análisis, y no te rastrea entre apps ni sitios web. El software de conexión de carteras dentro de NUA tiene análisis propios, y NUA los desactiva."], ["Tu galería se queda contigo", "Las obras que añades, tus curadurías y tus ajustes se guardan en tu dispositivo y en tu propio iCloud. Nosotros no podemos verlos. Cuando subes una obra, la app NUA recibe solo los archivos que eliges y los mantiene solo en tu dispositivo."], ["Tus Displays y tu red", "La app NUA y tus Displays (los televisores que exhiben tu galería) se comunican por tu propia red Wi-Fi. Para que tus Displays la encuentren, la app anuncia el nombre de tu galería en esa red, donde otros dispositivos pueden ver el nombre. Lo que intercambian la app y tus Displays — qué exposición mostrar, el progreso de la descarga, el espacio libre en un Display — se queda en esa red.", "Los Displays descargan las obras desde la app NUA en esa red, desde los servidores de NUA (cdn.nua.casa) o desde las direcciones que indican las propias obras."], ["Carteras", "Conectar una cartera es opcional. NUA pide a tu cartera que firme un mensaje que prueba que una dirección es tuya; nunca pide una transacción, nunca guarda tus claves y nunca mueve fondos. La firma se verifica en tu propio dispositivo. La dirección se guarda solo con tu galería — en tu dispositivo y en tu iCloud — y no guardamos registro de ella.", "La conexión pasa por WalletConnect (Reown) o Beacon, servicios que llevan mensajes cifrados entre NUA y la app de tu cartera."], ["Encontrar y mostrar arte", "Para mostrar una obra, buscar una, o listar las obras que tiene una cartera, NUA consulta servicios públicos de blockchain y de marketplaces — como Blockscout, TzKT, OpenSea, objkt, 6529, Alchemy y gateways IPFS — y los servidores propios de NUA (cdn.nua.casa, ipfs.nua.casa y el relay de búsqueda de NUA), que funcionan en Cloudflare. Esas consultas llevan lo que buscaste, la dirección de una obra o la dirección pública de una cartera.", "Los servidores de NUA no registran quién pidió qué: las obras que guardan en caché y las respuestas de búsqueda que conservan poco tiempo se comparten con todos, y los únicos registros por instalación son los descritos en Un identificador técnico. Cada servicio externo tiene su propia política de privacidad."], ["Un identificador técnico", "Para que la caché de obras de NUA (ipfs.nua.casa) sea justa para todos, cada instalación de la app para iPhone y iPad demuestra que es una copia auténtica de NUA con App Attest de Apple. La caché guarda el identificador y la clave pública de esa instalación, y cuenta sus peticiones por minuto y por día para limitarlas; los recuentos se borran cuando pasa su ventana. Las peticiones también se cuentan por dirección de red durante un minuto, guardada como un hash con clave y no como la propia dirección, y se borran en pocos minutos.", "Nada de esto se vincula a tu nombre, tu cartera ni tu Cuenta de Apple, y no se usa para nada más."], ["Ediciones", "Collector y Curator son suscripciones que vende Apple en la App Store. Apple gestiona el pago; nunca recibimos los datos de tu tarjeta ni de pago. La app pregunta a la App Store qué edición tiene tu Cuenta de Apple. Puedes gestionar o cancelar una suscripción en los ajustes de suscripciones de tu Cuenta de Apple."], ["Códigos Collector en nua.casa", "Si canjeas un código Collector en nua.casa, esa página pide a tu cartera que firme un mensaje (nunca una transacción); la firma se comprueba una vez y se descarta. Guardamos la lista de las carteras que han canjeado un código, con las carteras consolidadas con ellas, y la fecha de su último canje, para que cada persona reciba un código cada tres meses; cada registro se borra tres meses después del canje, y nuestro proveedor de base de datos guarda copias de restauración durante hasta 30 días. No se guarda nada más, y no hay registro de qué código fue para quién."], ["Informes de problemas y comentarios", "Si algo falla con una exposición o una obra, NUA puede redactar un informe sobre el problema, el dispositivo y la obra, con los diagnósticos recientes de fallos de la app. Se abre en tu app de correo, y no se envía nada a menos que lo envíes tú. Si nos escribes, usamos tu dirección solo para responderte.", "Si pruebas NUA con TestFlight, Apple comparte con nosotros los comentarios, capturas de pantalla e informes de fallos que eliges enviar, y la información que TestFlight da a los desarrolladores según los términos de Apple; la usamos solo para corregir y mejorar NUA. Si permites compartir con los desarrolladores en los ajustes del dispositivo, Apple nos envía informes de fallos anónimos."], ["Lo que NUA no usa", "NUA no usa tu ubicación, tus contactos, tu micrófono ni tu cámara, y de tu fototeca solo lee los elementos que eliges."], ["Menores", "NUA no está dirigido a menores de 13 años."], ["Cambios", "Cuando esta política cambie, esta página cambiará con ella y la fecha de arriba avanzará."], ["Contacto", "Preguntas sobre esta política: {MAIL}"] ] }; T.fr = { name: "Français", title: "Politique de confidentialité", updated: "Dernière mise à jour : 24 septembre 2026", lead: "Cette politique couvre NUA pour iPhone, iPad et Apple TV. En bref : NUA n’a pas de compte, n’affiche aucune publicité, ne suit personne et garde votre galerie chez vous.", s: [ ["Pas de compte, pas de publicité, pas de suivi", "Il n’y a aucun compte à créer. NUA n’affiche aucune publicité, ne contient aucun logiciel de publicité ou d’analyse qui lui soit propre, et ne vous suit pas d’une app ou d’un site à l’autre. Le logiciel de connexion de portefeuilles intégré à NUA possède ses propres analyses, et NUA les désactive."], ["Votre galerie reste chez vous", "Les œuvres que vous ajoutez, vos expositions et vos réglages sont conservés sur votre appareil et dans votre propre iCloud. Nous ne pouvons pas les voir. Quand vous téléversez une œuvre, l’app NUA ne reçoit que les fichiers que vous choisissez et les conserve uniquement sur votre appareil."], ["Vos Displays et votre réseau", "L’app NUA et vos Displays (les téléviseurs qui exposent votre galerie) communiquent par votre propre Wi-Fi. Pour que vos Displays la trouvent, l’app annonce le nom de votre galerie sur ce réseau, où d’autres appareils peuvent voir ce nom. Ce qu’échangent l’app et vos Displays — quelle exposition montrer, la progression du téléchargement, l’espace libre sur un Display — reste sur ce réseau.", "Les Displays téléchargent les œuvres depuis l’app NUA sur ce réseau, depuis les serveurs de NUA (cdn.nua.casa) ou depuis les adresses que les œuvres indiquent elles-mêmes."], ["Portefeuilles", "Connecter un portefeuille est facultatif. NUA demande à votre portefeuille de signer un message prouvant qu’une adresse est la vôtre ; il ne demande jamais de transaction, ne détient jamais vos clés et ne déplace jamais de fonds. La signature est vérifiée sur votre propre appareil. L’adresse n’est conservée qu’avec votre galerie — sur votre appareil et dans votre iCloud — et nous n’en gardons aucune trace.", "La connexion passe par WalletConnect (Reown) ou Beacon, des services qui transportent des messages chiffrés entre NUA et l’app de votre portefeuille."], ["Trouver et montrer l’art", "Pour montrer une œuvre, en chercher une ou lister les œuvres d’un portefeuille, NUA interroge des services publics de blockchain et de places de marché — comme Blockscout, TzKT, OpenSea, objkt, 6529, Alchemy et des passerelles IPFS — ainsi que les serveurs de NUA (cdn.nua.casa, ipfs.nua.casa et le relais de recherche de NUA), hébergés chez Cloudflare. Ces requêtes contiennent ce que vous avez cherché, l’adresse d’une œuvre ou l’adresse publique d’un portefeuille.", "Les serveurs de NUA n’enregistrent pas qui a demandé quoi : les œuvres qu’ils mettent en cache et les réponses de recherche qu’ils gardent peu de temps sont partagées par tous, et les seules traces par installation sont celles décrites sous Un identifiant technique. Chaque service extérieur a sa propre politique de confidentialité."], ["Un identifiant technique", "Pour que le cache d’œuvres de NUA (ipfs.nua.casa) reste équitable pour tous, chaque installation de l’app iPhone et iPad prouve qu’elle est une copie authentique de NUA grâce à App Attest d’Apple. Le cache conserve l’identifiant et la clé publique de cette installation, et compte ses requêtes par minute et par jour afin de les limiter ; les compteurs sont supprimés une fois leur fenêtre passée. Les requêtes sont aussi comptées par adresse réseau pendant une minute, conservée sous forme de hachage à clé et non comme l’adresse elle-même, puis supprimée en quelques minutes.", "Rien de cela n’est lié à votre nom, à votre portefeuille ni à votre compte Apple, et cela ne sert à rien d’autre."], ["Éditions", "Collector et Curator sont des abonnements vendus par Apple sur l’App Store. Apple gère le paiement ; nous ne recevons jamais les données de votre carte ni de paiement. L’app demande à l’App Store quelle édition votre compte Apple détient. Vous pouvez gérer ou résilier un abonnement dans les réglages d’abonnements de votre compte Apple."], ["Codes Collector sur nua.casa", "Si vous réclamez un code Collector sur nua.casa, cette page demande à votre portefeuille de signer un message (jamais une transaction) ; la signature est vérifiée une fois puis effacée. Nous conservons la liste des portefeuilles qui ont réclamé un code, avec les portefeuilles consolidés avec eux, et la date de leur dernière demande, afin que chaque personne reçoive un code tous les trois mois ; chaque entrée est effacée trois mois après la demande, et notre hébergeur de base de données garde des copies de restauration jusqu’à 30 jours. Rien d’autre n’est conservé, et il n’existe aucune trace du code remis à qui que ce soit."], ["Rapports de problème et retours", "Si quelque chose ne va pas avec une exposition ou une œuvre, NUA peut rédiger un rapport sur le problème, l’appareil et l’œuvre, avec les diagnostics de plantage récents de l’app. Il s’ouvre dans votre app de messagerie, et rien n’est envoyé sans que vous l’envoyiez. Si vous nous écrivez, nous n’utilisons votre adresse que pour vous répondre.", "Si vous testez NUA via TestFlight, Apple nous transmet les retours, captures d’écran et rapports de plantage que vous choisissez d’envoyer, ainsi que les informations que TestFlight fournit aux développeurs selon les conditions d’Apple ; nous ne les utilisons que pour corriger et améliorer NUA. Si vous autorisez le partage avec les développeurs dans les réglages de l’appareil, Apple nous envoie des rapports de plantage anonymes."], ["Ce que NUA n’utilise pas", "NUA n’utilise ni votre localisation, ni vos contacts, ni votre micro, ni votre appareil photo, et ne lit dans votre photothèque que les éléments que vous choisissez."], ["Enfants", "NUA ne s’adresse pas aux enfants de moins de 13 ans."], ["Modifications", "Quand cette politique change, cette page change avec elle et la date ci-dessus avance."], ["Contact", "Questions sur cette politique : {MAIL}"] ] }; var el = document.getElementById("nua-privacy"); if (!el) return; var esc = function (s) { return String(s).replace(/[&\x3c>"]/g, function (c) { return { "\x26": "\x26amp;", "\x3c": "\x26lt;", ">": "\x26gt;", '"': "\x26quot;" }[c]; }); }; var para = function (s) { return "\x3cp>" + esc(s).replace("{MAIL}", '\x3ca href="mailto:' + MAIL + '">' + MAIL + "\x3c/a>") + "\x3c/p>"; }; var first = String((navigator.languages && navigator.languages[0]) || navigator.language || "en").slice(0, 2).toLowerCase(); function render(lang) { var t = T[lang] || T.en; lang = T[lang] ? lang : "en"; el.setAttribute("lang", lang); el.innerHTML = "\x3ch2>" + esc(t.title) + "\x3c/h2>" + '\x3cp class="nua-date">' + esc(t.updated) + "\x3c/p>" + '\x3cp class="nua-lead">' + esc(t.lead) + "\x3c/p>" + t.s.map(function (sec) { return "\x3csection>\x3ch3>" + esc(sec[0]) + "\x3c/h3>" + sec.slice(1).map(para).join("") + "\x3c/section>"; }).join("") + '\x3cdiv class="nua-langs">' + ["en", "pt", "es", "fr"].filter(function (k) { return T[k]; }).map(function (k) { return '\x3cbutton type="button" data-lang="' + k + '" aria-pressed="' + (k === lang) + '">' + esc(T[k].name) + "\x3c/button>"; }).join("") + "\x3c/div>"; Array.prototype.forEach.call(el.querySelectorAll(".nua-langs button"), function (b) { b.addEventListener("click", function () { render(b.getAttribute("data-lang")); }); }); } var want = (T[first] ? first : "en"); if (T.en && T.pt && T.es && T.fr) render(want); })();