Privacybeleid

Laatst bijgewerkt: 03-03-2026

1. Inleiding

Onlinemagneet respecteert je privacy en gaat zorgvuldig om met je persoonsgegevens. Dit privacybeleid legt uit welke gegevens we verzamelen, waarom we dat doen en hoe we ze beschermen.

2. Gegevens die we verzamelen

We verzamelen alleen gegevens die nodig zijn om onze diensten te leveren:

  • Naam en contactgegevens (e-mail, telefoonnummer)
  • Bedrijfsinformatie
  • Informatie over je gebruik van onze diensten
  • Technische gegevens (IP-adres, browser type)

3. Waarom we gegevens verzamelen

We gebruiken je gegevens voor:

  • Het leveren en verbeteren van onze diensten
  • Communicatie over je account en onze diensten
  • Het voldoen aan wettelijke verplichtingen
  • Het analyseren van gebruik om onze diensten te optimaliseren

4. Gegevensbescherming

We nemen passende technische en organisatorische maatregelen om je gegevens te beschermen tegen ongeautoriseerde toegang, verlies of vernietiging. Je gegevens worden veilig opgeslagen en alleen gedeeld met derden wanneer dit noodzakelijk is voor het leveren van onze diensten.

5. Je rechten

Je hebt het recht om:

  • Inzage te krijgen in je gegevens
  • Je gegevens te corrigeren of te verwijderen
  • Bezwaar te maken tegen het gebruik van je gegevens
  • Je gegevens over te dragen

6. Contact

Voor vragen over dit privacybeleid of je gegevens kun je contact met ons opnemen via onze contactpagina of e-mail naar info@onlinemagneet.nl.

// Mobile menu toggle document.getElementById('mobileMenuToggle')?.addEventListener('click', function() { const nav = document.querySelector('.nav-links'); nav.style.display = nav.style.display === 'flex' ? 'none' : 'flex'; }); // Header scroll effect let lastScroll = 0; const header = document.querySelector('.header'); window.addEventListener('scroll', function() { const currentScroll = window.pageYOffset; if (currentScroll > 50) { header.classList.add('scrolled'); } else { header.classList.remove('scrolled'); } lastScroll = currentScroll; }); // Enhanced scroll animations with stagger const observerOptions = { threshold: 0.15, rootMargin: '0px 0px -100px 0px' }; const observer = new IntersectionObserver(function(entries) { entries.forEach((entry, index) => { if (entry.isIntersecting) { setTimeout(() => { entry.target.classList.add('visible'); }, index * 100); } }); }, observerOptions); // Observe steps with stagger document.querySelectorAll('.step').forEach((step, index) => { observer.observe(step); step.style.transitionDelay = `${index * 0.15}s`; }); // Observe feature cards with stagger document.querySelectorAll('.feature-card').forEach((card, index) => { observer.observe(card); card.style.transitionDelay = `${index * 0.1}s`; }); // Hero text animation on load window.addEventListener('load', function() { const heroText = document.querySelector('.hero-text'); if (heroText) { heroText.style.opacity = '1'; } }); // FAQ Accordion document.querySelectorAll('.faq-question').forEach(question => { question.addEventListener('click', function() { const item = this.parentElement; const isActive = item.classList.contains('active'); // Close all FAQ items document.querySelectorAll('.faq-item').forEach(faqItem => { faqItem.classList.remove('active'); }); // Open clicked item if it wasn't active if (!isActive) { item.classList.add('active'); } }); }); // Notification toasts animation let notificationIndex = 0; const notifications = ['notification1', 'notification2']; function showNotification() { // Hide all notifications first notifications.forEach(id => { document.getElementById(id)?.classList.remove('show'); }); // Show current notification const currentNotification = document.getElementById(notifications[notificationIndex]); if (currentNotification) { setTimeout(() => { currentNotification.classList.add('show'); }, 100); setTimeout(() => { currentNotification.classList.remove('show'); }, 3000); } notificationIndex = (notificationIndex + 1) % notifications.length; } // Show first notification after 2 seconds, then loop every 4 seconds setTimeout(() => { showNotification(); setInterval(showNotification, 4000); }, 2000); // Sticky mobile CTA const stickyCTA = document.getElementById('stickyMobileCTA'); let scrollThreshold = window.innerHeight * 0.3; window.addEventListener('scroll', function() { if (window.innerWidth <= 968) { if (window.scrollY > scrollThreshold) { stickyCTA.classList.add('show'); } else { stickyCTA.classList.remove('show'); } } }); window.addEventListener('resize', function() { scrollThreshold = window.innerHeight * 0.3; if (window.innerWidth > 968) { stickyCTA.classList.remove('show'); } }); // Smooth scroll for anchor links document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function (e) { e.preventDefault(); const target = document.querySelector(this.getAttribute('href')); if (target) { target.scrollIntoView({ behavior: 'smooth', block: 'start' }); } }); });