NovaBloom Financial Studio

Legal information

Privacy Policy

Effective date: January 1, 2025

Information we receive

When you contact NovaBloom Financial Studio, we receive the name, email address, optional phone number, and message you submit. We do not request sensitive financial account credentials through this website.

How information is used

Contact information is used to respond to requests, provide support, maintain service quality, and address website security. We do not sell contact information or use it to make individualized financial recommendations.

Browser storage

The catalog, Fallows, basket, theme preference, and cookie notice use localStorage in your browser. These values are not a server account and can be removed through your browser settings.

Retention and security

We retain submitted correspondence only as long as reasonably needed for support, compliance, and recordkeeping. We use reasonable administrative and technical safeguards, although no online transmission can be guaranteed completely secure.

Your choices

You may ask to access, correct, or delete personal information we hold about your correspondence. Contact [email protected] to make a request. You may also clear local browser storage at any time.

Updates and contact

We may update this policy when our practices change. The current effective date appears above. Questions may be sent to [email protected].

Contact privacy support
`; const footerHTML = ` `; document.querySelector('header').innerHTML = headerHTML; document.querySelector('footer').innerHTML = footerHTML; const header = document.querySelector('header'); const nav = header.querySelector('[data-main-nav]'); const mobileMenu = header.querySelector('[data-mobile-menu]'); const menuToggle = header.querySelector('[data-menu-toggle]'); const themeToggle = header.querySelector('[data-theme-toggle]'); const authButtons = header.querySelectorAll('[data-auth-modal]'); const authDialog = header.querySelector('[data-auth-dialog]'); const closeDialog = authDialog.querySelector('[data-close-dialog]'); if (menuToggle && mobileMenu) { menuToggle.addEventListener('click', () => { const isHidden = mobileMenu.hasAttribute('hidden'); if (isHidden) mobileMenu.removeAttribute('hidden'); else mobileMenu.setAttribute('hidden', ''); }); } const savedTheme = localStorage.getItem('nb-theme'); if (savedTheme === 'dark') document.documentElement.classList.add('dark'); if (themeToggle) { themeToggle.addEventListener('click', () => { if (document.documentElement.classList.contains('dark')) { document.documentElement.classList.remove('dark'); localStorage.setItem('nb-theme', 'light'); } else { document.documentElement.classList.add('dark'); localStorage.setItem('nb-theme', 'dark'); } }); } authButtons.forEach(btn => { btn.addEventListener('click', () => { const mode = btn.getAttribute('data-auth-modal'); authDialog.removeAttribute('hidden'); const title = authDialog.querySelector('[data-dialog-title]'); title.textContent = mode === 'login' ? 'Sign in to NovaBloom' : 'Create your account'; }); }); if (closeDialog) { closeDialog.addEventListener('click', () => authDialog.setAttribute('hidden', '')); } authDialog.addEventListener('click', (e) => { if (e.target === authDialog) authDialog.setAttribute('hidden', ''); }); const footer = document.querySelector('footer'); const banner = footer.querySelector('[data-cookie-banner]'); const closeBtn = footer.querySelector('[data-cookie-close]'); const consentKey = 'novabloomCookieConsent'; if (banner && closeBtn) { if (!localStorage.getItem(consentKey)) { banner.classList.remove('hidden'); } closeBtn.addEventListener('click', () => { localStorage.setItem(consentKey, 'true'); banner.classList.add('hidden'); }); } })();