FuturoFlor Atelier

Privacy Policy

Effective date: 2026-01-01

1. Who we are

FuturoFlor Atelier provides online education in floristry. You can contact us at [email protected] or +1 (415) 555-0147.

2. Data we collect

  • Account data: name, email, and optional profile details.
  • Transaction data: purchased courses and billing records (processed by our payment provider).
  • Support data: messages you send via forms or email.
  • Usage data: pages visited and interactions (if analytics is enabled).

3. How we use data

  • Provide and improve courses and community features.
  • Process transactions and deliver receipts.
  • Respond to support requests and improve our services.
  • Comply with legal obligations and prevent misuse.

4. Legal bases

We rely on contract performance (when you purchase), legitimate interests (to secure and improve the service), consent (for optional analytics/marketing), and legal obligations.

5. Cookies

We use essential cookies for authentication and preferences. Optional analytics cookies are only set with your consent. You can change your choice anytime by clearing site data or contacting us.

6. Data sharing

We share data with service providers who help operate our platform (e.g., hosting and payments). We do not sell your personal data.

7. International transfers

Where data is transferred across borders, we implement safeguards such as standard contractual clauses, and we choose reputable vendors.

8. Data retention

We retain data while your account is active and as required to comply with legal obligations. You can request deletion at any time.

9. Your rights

  • Access, correction, deletion, and portability of your data.
  • Object to or restrict certain processing.
  • Withdraw consent at any time where processing is based on consent.

10. Security

We use technical and organizational measures to protect data. No method is 100% secure, and we encourage strong, unique passwords.

11. Children

Our courses are intended for adults and not directed to children under 16. If you believe a child provided personal data, contact us for removal.

12. Contact

Questions? Email [email protected]. We aim to respond within two business days.

13. Changes

We may update this policy and will post the revised version with a new effective date.

Terms of use
`; headerEl.innerHTML = headerContent; footerEl.innerHTML = footerContent; bindHeaderInteractions(); bindFooterInteractions(); } function bindHeaderInteractions() { const html = document.documentElement; const key = 'ff-theme'; const saved = localStorage.getItem(key) || 'dark'; if (saved === 'dark') { html.classList.add('dark'); } else { html.classList.remove('dark'); } const t = document.getElementById('themeToggle'); if (t) t.addEventListener('click', () => { const isDark = html.classList.toggle('dark'); localStorage.setItem(key, isDark ? 'dark' : 'light'); }); const mobileToggle = document.getElementById('mobileNavToggle'); const mobilePanel = document.getElementById('mobilePanel'); if (mobileToggle && mobilePanel) { mobileToggle.addEventListener('click', () => { mobilePanel.classList.toggle('hidden'); }); } const openLogin = document.getElementById('openLogin'); const openRegister = document.getElementById('openRegister'); const loginModal = document.getElementById('loginModal'); const registerModal = document.getElementById('registerModal'); if (openLogin && loginModal) openLogin.addEventListener('click', () => loginModal.classList.remove('hidden')); if (openRegister && registerModal) openRegister.addEventListener('click', () => registerModal.classList.remove('hidden')); document.querySelectorAll('[data-close-modal]').forEach(b => { b.addEventListener('click', () => b.closest('.fixed')?.classList.add('hidden')); }); } function bindFooterInteractions() { const banner = document.getElementById('cookieBanner'); const accept = document.getElementById('cookieAccept'); const deny = document.getElementById('cookieDeny'); const key = 'ff-cookie-consent'; const saved = localStorage.getItem(key); if (!saved && banner) { banner.classList.remove('hidden'); banner.classList.add('flex'); } if (accept) accept.addEventListener('click', () => { localStorage.setItem(key, 'accepted'); if (banner) banner.classList.add('hidden'); }); if (deny) deny.addEventListener('click', () => { localStorage.setItem(key, 'denied'); if (banner) banner.classList.add('hidden'); }); } document.addEventListener('DOMContentLoaded', injectPartials);