GDPR Privacy Requests
We respect your privacy. If you are located in the European Economic Area (EEA), you have certain rights under the General Data Protection Regulation (GDPR). Use the options below to exercise your rights regarding the personal data we hold about you.
How we process your request When you submit a request through this page, our compliance provider (Consentmo) processes your email address and technical information (such as IP address) only to verify and fulfill your request, prevent misuse, and keep records of compliance. For more details, see Consentmo’s Data Processing Policy.
Access or download my data
You can request a copy of the personal data we hold about you, including account details and order history. You may request your data in a portable format (CSV or PDF).
Response time: We respond within one month. If your request is complex, we may extend this period as permitted by law and will inform you.
Correct my information
If you believe your personal data is inaccurate or incomplete (for example, a wrong shipping address or misspelled name), you can update it here.
Delete my data
You can request the deletion of your personal data associated with this store (also known as the “Right to be Forgotten”).
Important: Some information may be retained where required by law or for legitimate purposes (for example, tax, fraud prevention, and security).
Manage Privacy Preferences
You can customize your experience by choosing exactly which types of cookies and technologies you allow us to use (e.g., enabling analytics but disabling marketing). You can update these specific settings at any time.
Withdraw Consent
You have the right to withdraw your Shopify marketing consent for tracking technologies at any time. This will apply to your future use of our store and will stop data collection for optional purposes.
Restrict or object to processing
You may request that we restrict the processing of your personal data or object to certain processing activities (such as direct marketing or processing based on legitimate interests).
To exercise these rights, please contact us at:
Contact information
For questions about your privacy rights or this page, contact:
Email: [email protected]
Address: 1601 N. Sepulveda Blvd., #781, 90266 Manhattan Beach California, United States
Lodge a complaint
If you believe we have not adequately addressed your concerns, you have the right to lodge a complaint with your national Data Protection Authority (DPA).
/* SLIDE UP */ let slideUp = (target, duration=500) => { target.style.transitionProperty = 'height, margin, padding'; target.style.transitionDuration = duration + 'ms'; target.style.boxSizing = 'border-box'; target.style.height = target.offsetHeight + 'px'; target.offsetHeight; target.style.overflow = 'hidden'; target.style.height = 0; target.style.paddingTop = 0; target.style.paddingBottom = 0; target.style.marginTop = 0; target.style.marginBottom = 0; window.setTimeout( () => { target.style.display = 'none'; target.style.removeProperty('height'); target.style.removeProperty('padding-top'); target.style.removeProperty('padding-bottom'); target.style.removeProperty('margin-top'); target.style.removeProperty('margin-bottom'); target.style.removeProperty('overflow'); target.style.removeProperty('transition-duration'); target.style.removeProperty('transition-property'); }, duration); }
/* SLIDE DOWN */ let slideDown = (target, duration=500) => { setTimeout(function(){ target.style.removeProperty('display'); let display = window.getComputedStyle(target).display; if (display === 'none') display = 'block';
target.style.display = display;
let height = target.offsetHeight;
target.style.overflow = 'hidden'; target.style.height = 0; target.style.paddingTop = 0; target.style.paddingBottom = 0; target.style.marginTop = 0; target.style.marginBottom = 0; target.offsetHeight; target.style.boxSizing = 'border-box'; target.style.transitionProperty = "height, margin, padding"; target.style.transitionDuration = duration + 'ms'; target.style.height = height + 'px';
target.style.removeProperty('padding-top'); target.style.removeProperty('padding-bottom'); target.style.removeProperty('margin-top'); target.style.removeProperty('margin-bottom');
window.setTimeout( () => { target.style.removeProperty('height'); target.style.removeProperty('overflow'); target.style.removeProperty('transition-duration'); target.style.removeProperty('transition-property'); }, duration); }, 100) }
/* TOOGLE */ var slideToggle = (target, duration = 500) => { if (window.getComputedStyle(target).display === 'none') { return slideDown(target, duration); } else { return slideUp(target, duration); } }
/* FADE */ var toggleFadeiSense = (elem, show) => { if (show) { elem.style.display = elem.id === 'data-verification-background' ? 'flex' : 'block'; setTimeout(function(){ elem.classList.add('show-isense'); elem.classList.remove('hide-isense'); },20) } else { elem.classList.remove('show-isense'); elem.classList.add('hide-isense'); setTimeout(() => { elem.style.display = 'none'; }, 400) } }
var gdprSlideUpAll = function() { slideUp(document.querySelector('#form-gdpr-access-data-request'), 100); if(document.querySelector('#btn-gdpr-access-data-request')) document.querySelector('#btn-gdpr-access-data-request').setAttribute("aria-expanded", "false"); slideUp(document.querySelector('#form-gdpr-correct-info-request'), 100); if(document.querySelector('#btn-gdpr-correct-info-request')) document.querySelector('#btn-gdpr-correct-info-request').setAttribute("aria-expanded", "false"); slideUp(document.querySelector('#form-gdpr-delete-data-request'), 100); if(document.querySelector('#btn-gdpr-delete-data-request')) document.querySelector('#btn-gdpr-delete-data-request').setAttribute("aria-expanded", "false"); if(document.querySelector('#gdpr_page button')) document.querySelector('#gdpr_page button').setAttribute("aria-expanded", "false"); };
/** Instant withdraw consent: same as cookie banner Reject (deny + consent record). */ (function() { var WITHDRAW_SUCCESS_MSG = 'Your consent has been withdrawn. All optional tracking has been disabled for this browser.'; var GEO_PRIMARY = 'https://wekre6r5lsxxzzbnlltsbyfm6i0dcqrs.lambda-url.eu-central-1.on.aws'; var GEO_FALLBACK = 'https://workers.consentmo.com/action/geo'; var CONSENT_PRIMARY = 'https://4nbp277fevb5pvm2ditk5w6swe0biflq.lambda-url.eu-central-1.on.aws'; var CONSENT_FALLBACK = 'https://workers.consentmo.com/action/consent';
function getDeviceTypeInline() { var ua = navigator.userAgent || ''; if (/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(ua)) return 't'; if (/Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(ua)) return 'm'; return 'd'; }
function int2ip(ipInt) { return ((ipInt >>> 24) + '.' + ((ipInt >> 16) & 255) + '.' + ((ipInt >> 8) & 255) + '.' + (ipInt & 255)); }
function setConsentCookie(name, value, days) { var expires = ''; if (days) { var date = new Date(); date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000); expires = '; expires=' + date.toUTCString(); } var secure = location.protocol === 'https:' ? '; Secure' : ''; document.cookie = name + '=' + encodeURIComponent(value || '') + expires + '; path=/; SameSite=Lax' + secure; }
function expireCookie(name) { document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/'; var host = location.hostname; if (host) { document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; domain=' + host; var parts = host.split('.'); if (parts.length >= 2) { document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; domain=.' + parts.slice(-2).join('.'); } } }
function clearCategoryFromSettings(settings, cat) { if (!settings) return; var raw = settings[cat + '_cookies'] || ''; raw.split('n').map(function(c) { return c.trim(); }).filter(Boolean).forEach(function(n) { expireCookie(n); }); if (cat === 'marketing' && settings.youtube_iframe_options && settings.youtube_iframe_options.enabled) { ['VISITOR_INFO1_LIVE', 'YSC', 'SOCS', '__Secure-3PSID', '__Secure-1PSID'].forEach(expireCookie); } }
function parseGdprSettings() { var out = { cookieName: '', consentDuration: 365, paUsrId: 0, saleRegion: false, manageSale: '', saleCheckbox: '', saleText: '', settings: null }; try { var raw = localStorage.getItem('gdprCache'); if (!raw) return out; var cache = JSON.parse(raw); out.saleRegion = !!cache.userIsInSaleOfDataRegion; if (cache.getCookieConsentSettings) { var s = JSON.parse(cache.getCookieConsentSettings); out.settings = s; out.cookieName = s.cookie_name != null ? String(s.cookie_name) : ''; out.consentDuration = parseInt(s.consent_duration, 10) || 365; out.paUsrId = parseInt(s.pa_usr_id, 10) || 0; out.manageSale = String(s.manage_sale_of_data || ''); out.saleCheckbox = String(s.sale_of_data_checkbox || ''); out.saleText = String(s.sale_of_data_text || ''); } } catch (e) {} return out; }
function userInSalesRegionFromParsed(parsed) { return !!(parsed && parsed.saleRegion && parsed.manageSale === '1' && parsed.saleText && parsed.saleCheckbox); }
function appendGdprCache(key, val) { try { var g = JSON.parse(localStorage.getItem('gdprCache') || '{}'); g[key] = val; localStorage.setItem('gdprCache', JSON.stringify(g)); } catch (e) {} }
function getConsentIdentifier() { var STORAGE_KEY = 'csmConsentIdentifier'; try { var stored = localStorage.getItem(STORAGE_KEY); if (stored) { var data = JSON.parse(stored); if (data.consentIdentifier && data.expiresAt && new Date(data.expiresAt) > new Date()) { return data.consentIdentifier; } localStorage.removeItem(STORAGE_KEY); } } catch (e) {} var bytes = new Uint8Array(32); if (window.crypto && window.crypto.getRandomValues) { window.crypto.getRandomValues(bytes); } else { for (var i = 0; i < bytes.length; i++) bytes[i] = Math.floor(Math.random() * 256); } var hex = ''; for (var j = 0; j < bytes.length; j++) hex += ('0' + bytes[j].toString(16)).slice(-2); try { var exp = new Date(); exp.setDate(exp.getDate() + 365); localStorage.setItem(STORAGE_KEY, JSON.stringify({ consentIdentifier: hex, createdAt: new Date().toISOString(), expiresAt: exp.toISOString() })); } catch (e2) {} return hex; } function normalizeGeo(geo) { var addInfo = geo && geo.add_info != null ? String(geo.add_info) : ''; var longIpRegex = /^-?d{1,12}$/; var ip = longIpRegex.test(addInfo) ? int2ip(parseInt(addInfo, 10)) : addInfo; return { ip: ip, country: (geo && geo.country) || '', region: (geo && (geo.state || geo.regionCode)) || '', region_name: (geo && geo.region) || '', city: (geo && geo.city) || '' }; } function fetchGeo() { return fetch(GEO_PRIMARY, { method: 'GET', headers: { 'Accept': 'application/json' } }) .then(function(r) { return r.json(); }) .catch(function() { return fetch(GEO_FALLBACK, { method: 'GET', headers: { 'Accept': 'application/json' } }) .then(function(r2) { return r2.json(); }); }) .catch(function() { return fetch('https://www.cloudflare.com/cdn-cgi/trace', { method: 'GET' }) .then(function(r3) { return r3.text(); }) .then(function(text) { var ip = ''; text.split('n').forEach(function(line) { var p = line.split('='); if (p[0] === 'ip') ip = p[1] || ''; }); return { add_info: ip, country: 'US', state: '', region: '', city: '' }; }); }); } function applyShopifyCustomerPrivacy(blockedCategoriesComma) { var isA = blockedCategoriesComma.indexOf('analytics') >= 0; var isM = blockedCategoriesComma.indexOf('marketing') >= 0; var isF = blockedCategoriesComma.indexOf('functionality') >= 0; var isS = blockedCategoriesComma.indexOf('saleofdata') >= 0; var parsed = parseGdprSettings(); var payload = { analytics: !isA, marketing: !isM, preferences: !isF }; if (userInSalesRegionFromParsed(parsed) || isS) { payload.sale_of_data = !isS; } var doSet = function() { if (typeof Shopify !== 'undefined' && Shopify.customerPrivacy && typeof Shopify.customerPrivacy.setTrackingConsent === 'function') { Shopify.customerPrivacy.setTrackingConsent(payload, function() {}); } }; if (typeof Shopify === 'undefined') return; if (Shopify.customerPrivacy && typeof Shopify.customerPrivacy.setTrackingConsent === 'function') { doSet(); } else if (typeof Shopify.loadFeatures === 'function') { Shopify.loadFeatures([{ name: 'consent-tracking-api', version: '0.1' }], function(err) { if (!err) doSet(); }); } }
function postConsent(bodyObj) { var body = JSON.stringify(bodyObj); var opts = { method: 'POST', headers: { 'Content-Type': 'text/plain' }, body: body }; return fetch(CONSENT_PRIMARY, opts).then(function(r) { if (r.ok) return r; throw new Error('consent primary failed'); }).catch(function() { return fetch(CONSENT_FALLBACK, opts).then(function(r2) { if (r2.ok) return r2; throw new Error('consent fallback failed'); }); }); }
/** Logs customer/withdraw_consent to GDPR requests (same consent_identifier as consent record for cross-reference). Fire-and-forget. */ function logInstantWithdrawGdprRequest(consentIdentifier, ipAddress) { try { if (typeof Shopify === 'undefined' || !Shopify.shop || !consentIdentifier) return; var email = ''; if (typeof ConsentmoCustomerIdentification !== 'undefined') { email = ConsentmoCustomerIdentification.resolveSubmitEmail( 'withdraw_consent', 'gdpr-withdraw-email', function() { return consentIdentifier; } ); } if (!email) { try { if (Shopify.customerEmail) email = String(Shopify.customerEmail).trim(); if (!email && window.ShopifyAnalytics && window.ShopifyAnalytics.meta && window.ShopifyAnalytics.meta.page) { var pe = window.ShopifyAnalytics.meta.page.customerEmail; if (pe) email = String(pe).trim(); } } catch (e0) {} } if (!email) { email = String(consentIdentifier) + '@guest.withdraw.consentmo.com'; } var customerId = 0; try { if (typeof Shopify !== 'undefined' && typeof Shopify.customer_id !== 'undefined') customerId = Shopify.customer_id; else if (typeof __st !== 'undefined' && __st.cid != null) customerId = __st.cid; } catch (e1) {} var formData = new FormData(); formData.append('shop', Shopify.shop); formData.append('email', email); formData.append('type', 'customer/withdraw_consent'); formData.append('sourceOfRequest', 1); formData.append('consentGiven', 1); formData.append('page', 'gdpr'); formData.append('lang', Shopify.locale ? Shopify.locale : ''); formData.append('gtranslateLang', (typeof isenseGDPR !== 'undefined' && isenseGDPR.Cookies) ? isenseGDPR.Cookies.get('googtrans') : ''); formData.append('ipAddress', ipAddress || ''); formData.append('instant_withdraw', '1'); if (customerId) formData.append('customer_id', customerId); fetch('https://app.consentmo.com/gdprRequests/submitRequest', { method: 'POST', body: formData }).catch(function() {}); } catch (e) {} }
window.csmHandleWithdrawConsentGdpr = function(btn) { if (typeof Shopify === 'undefined' || !Shopify.shop) { var errEl = document.getElementById('gdpr-withdraw-error'); if (errEl) { errEl.textContent = 'Store context is unavailable. Please try again from the shop.'; errEl.style.display = 'block'; } return; } if (typeof ConsentmoCustomerIdentification !== 'undefined' && !ConsentmoCustomerIdentification.validateEmail('gdpr-withdraw-email', 'gdpr-withdraw-email-error', 'withdraw_consent')) { return; } if (btn && btn.disabled) return; var errBox = document.getElementById('gdpr-withdraw-error'); var okBox = document.getElementById('gdpr-withdraw-success'); if (errBox) errBox.style.display = 'none'; if (okBox) okBox.style.display = 'none';
var parsed = parseGdprSettings(); var blocked = userInSalesRegionFromParsed(parsed) ? 'analytics,marketing,functionality,saleofdata' : 'analytics,marketing,functionality'; var cookieSuffix = parsed.cookieName || ''; var duration = parsed.consentDuration || 365;
setConsentCookie('cookieconsent_status' + cookieSuffix, 'deny', duration); setConsentCookie('cookieconsent_preferences_disabled', blocked, duration); appendGdprCache('cookieconsent_status' + cookieSuffix, 'deny'); appendGdprCache('cookieconsent_preferences_disabled', blocked);
clearCategoryFromSettings(parsed.settings, 'analytics'); clearCategoryFromSettings(parsed.settings, 'marketing'); clearCategoryFromSettings(parsed.settings, 'functionality');
applyShopifyCustomerPrivacy(blocked);
if (btn) { btn.disabled = true; btn.setAttribute('aria-disabled', 'true'); }
fetchGeo() .then(function(geo) { var n = normalizeGeo(geo); if (!n.ip) { throw new Error('no ip'); } var customerId = 0; if (typeof Shopify.customer_id !== 'undefined') { customerId = Shopify.customer_id; } else if (typeof __st !== 'undefined' && __st.cid != null) { customerId = __st.cid; } var body = { consent_identifier: getConsentIdentifier(), shop: Shopify.shop, customer_id: customerId, ip: n.ip, country: n.country, region: n.region, region_name: n.region_name, city: n.city, device: getDeviceTypeInline(), pa_usr_id: parsed.paUsrId || 0, blocked_cookies: blocked + ',', accepted_page: window.location.origin + window.location.pathname, interaction_button: 5, is_sale_of_data_enabled: userInSalesRegionFromParsed(parsed) }; return postConsent(body).then(function() { logInstantWithdrawGdprRequest(body.consent_identifier, n.ip); }); }) .then(function() { if (okBox) { okBox.textContent = WITHDRAW_SUCCESS_MSG; okBox.style.display = 'block'; } }) .catch(function() { if (errBox) { errBox.textContent = 'Your preferences were updated, but we could not log this action. Please try again later.'; errBox.style.display = 'block'; } if (btn) { btn.disabled = false; btn.removeAttribute('aria-disabled'); } }); }; })();
var email, type, consentGiven = false; var activeSubmitButton = null; var successMessage = 'Your request has been submitted successfully. Please check your email for more information.'; var verificationModalContent = '
I give my consent on collecting my email and IP address for the purpose of processing this request. For more check Privacy Policy.
';
var isEmailValid = function(email) { let regex = /^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|(".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/;
if (email == '' || email == undefined) { return false; } else { return regex.test(email); } }
var gdprSendRequest = function(callback) {
fetch('https://www.cloudflare.com/cdn-cgi/trace', { method: 'GET' , headers: { 'Content-Type': 'text/plain', }, }) .then(resp => resp.text()) .then(resp => { if (!resp.error) { let ipInfo = resp;
let formData = new FormData();
formData.append('shop', Shopify.shop); formData.append('email', email); formData.append('type', type); formData.append('sourceOfRequest', 1); formData.append('ipAddress', ipInfo); formData.append('consentGiven', consentGiven); formData.append('page', 'gdpr'); formData.append('lang', Shopify.locale ? Shopify.locale : ''); formData.append('gtranslateLang', (typeof isenseGDPR !== 'undefined' && isenseGDPR.Cookies) ? isenseGDPR.Cookies.get('googtrans') : '');
fetch('https://app.consentmo.com/gdprRequests/submitRequest', { method: 'POST', body: formData }) .then(resp => resp.json()) .then(resp => { if (!resp.error) { showInlineSuccessMessage(); } else { showInlineErrorMessage(resp.message); } if (typeof callback == 'function') { callback(resp); } }) .catch(error => { showInlineErrorMessage(error.message || 'Something went wrong. Please try again.'); })
} else { showInlineErrorMessage(resp.message || 'Something went wrong. Please try again.'); } }) }
function showInlineSuccessMessage() { if (!activeSubmitButton) { return; } var form = activeSubmitButton.closest('form'); if (!form) { return; } var errNode = form.querySelector('.gdpr-request-error'); if (errNode) { errNode.remove(); } var successNode = form.querySelector('.gdpr-request-success'); if (!successNode) { successNode = document.createElement('p'); successNode.className = 'gdpr-request-success'; form.appendChild(successNode); } successNode.textContent = successMessage; }
function showInlineErrorMessage(message) { if (!activeSubmitButton) { return; } var form = activeSubmitButton.closest('form'); if (!form) { return; } var successNode = form.querySelector('.gdpr-request-success'); if (successNode) { successNode.remove(); } var errorNode = form.querySelector('.gdpr-request-error'); if (!errorNode) { errorNode = document.createElement('p'); errorNode.className = 'gdpr-request-error'; form.appendChild(errorNode); } errorNode.textContent = message; }
document.addEventListener("DOMContentLoaded", function() {
//Append modal to body, because otherwise it will not stay centered(even if position is fixed) document.querySelector("body").insertAdjacentHTML( 'beforeend', verificationModalContent);
// When the user clicks on (x), close the modal document.querySelector('.data-verification-close').addEventListener('click', function(e) { e.preventDefault(); closeVerificationModal(); });
document.querySelector('#data-verification-icon, #data-verification-container p').addEventListener('click', function(e) { e.preventDefault();
// Detect a href's click, because it is overwritten. if(e.target.tagName === "A") { window.open(e.target.href, '_blank'); return; }
document.querySelector('#data-verification-icon').classList.add("clicked"); setTimeout(()=>{ toggleFadeiSense(document.querySelector("#data-verification-modal"), false); document.querySelector('#data-verification-background .loading').style.display = 'inline-block'; consentGiven = true; gdprSendRequest(function(resp) { consentGiven = false; closeVerificationModal(); }); }, 400); }); });
function openVerificationModal(){ if(!isEmailValid(email)) { showInlineErrorMessage('Invalid email'); return; } toggleFadeiSense(document.querySelector("#data-verification-modal"), true); toggleFadeiSense(document.querySelector('#data-verification-background'), true); document.querySelector('#data-verification-container input').focus(); }
function closeVerificationModal(){ toggleFadeiSense(document.querySelector("#data-verification-background"), false);
document.querySelector('#data-verification-icon').classList.remove("clicked"); document.querySelector('#data-verification-background .loading').style.display = 'none';
// Focus the button of the request type that was picked let gdprForms = document.querySelectorAll('.form-gdpr-request'); gdprForms.forEach(function(gdprForm) { if (gdprForm.id === 'form-gdpr-withdraw-consent-request') return; if (gdprForm.style.display !== "none") { let gdprFormLinks = gdprForm.previousElementSibling.querySelectorAll('li'); if (gdprFormLinks.length === 1) { gdprFormLinks[0].querySelector('button').focus(); } else { // Focus logic for Data Portability requests gdprFormLinks = gdprForm.parentElement; if (gdprFormLinks.nodeName === 'LI') { gdprFormLinks.querySelector('button').focus(); } } } }); }
// Access or download my data document.querySelector('#btn-gdpr-access-data-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; gdprSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-gdpr-access-data-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-gdpr-access-data-request'), 200); this.setAttribute("aria-expanded", "false"); } });
document.querySelector('#form-gdpr-access-data-request-submit').addEventListener('click', function(e) { e.preventDefault(); activeSubmitButton = this; email = document.querySelector('#form-gdpr-access-data-request-email').value; type = 'customer/report'; openVerificationModal(); });
// Correct my information document.querySelector('#btn-gdpr-correct-info-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; gdprSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-gdpr-correct-info-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-gdpr-correct-info-request'), 200); this.setAttribute("aria-expanded", "false"); } });
document.querySelector('#form-gdpr-correct-info-request-submit').addEventListener('click', function(e) { e.preventDefault(); activeSubmitButton = this; email = document.querySelector('#form-gdpr-correct-info-request-email').value; type = 'customer/edit'; openVerificationModal(); });
// Delete my data document.querySelector('#btn-gdpr-delete-data-request').addEventListener('click', function(e) { e.preventDefault(); let isExpanded = this.getAttribute('aria-expanded') === 'true' ? true : false; gdprSlideUpAll(); if(!isExpanded) { slideDown(document.querySelector('#form-gdpr-delete-data-request'), 200); this.setAttribute("aria-expanded", "true"); } else { slideUp(document.querySelector('#form-gdpr-delete-data-request'), 200); this.setAttribute("aria-expanded", "false"); } });
document.querySelector('#form-gdpr-delete-data-request-submit').addEventListener('click', function(e) { e.preventDefault(); activeSubmitButton = this; email = document.querySelector('#form-gdpr-delete-data-request-email').value; type = 'customer/delete'; openVerificationModal(); });
// Withdraw consent (always visible; instant reject — no expand step) document.querySelector('#form-gdpr-withdraw-consent-request-submit').addEventListener('click', function(e) { e.preventDefault(); if (typeof window.csmHandleWithdrawConsentGdpr === 'function') { window.csmHandleWithdrawConsentGdpr(this); } });
// Manage privacy preferences document.querySelector('#btn-gdpr-manage-privacy-preferences').addEventListener('click', function(e) { e.preventDefault();
if (typeof showPreferences === 'function') { showPreferences(this); return; }
let settingsButton = document.querySelector('.cc-window .cc-settings'); if (settingsButton) { settingsButton.click(); return; }
alert('Cookie settings are unavailable on this page.'); });
// Keyboard navigation in data verification modal for accessibility document.addEventListener("DOMContentLoaded", function() { document.querySelector('#data-verification-modal').addEventListener('keydown', function(e) { let isTabPressed = e.keyCode === 9 || e.key === "Tab" || e.code === "Tab"; let isEscapePressed = e.keyCode === 27 || e.key === "Escape" || e.code === "Escape"; let isSpacePressed = event.keyCode === 32 || e.key === " " || event.code === "Space"; let isEnterPressed = event.keyCode === 13 || e.key === "Enter" || event.code === "Enter"; let dataVerificationCloseButton = document.querySelector('.data-verification-close'); let dataVerificationCheckbox = document.querySelector('#data-verification-container input'); let dataVerificationLink = document.querySelector('#data-verification-container a'); // This function saves us the trouble of calling e.preventDefault() after every focusing let executeFocus = (focusElement) => {focusElement.focus();e.preventDefault();}
if (isEscapePressed) { if (dataVerificationCloseButton) { dataVerificationCloseButton.click(); } }
if (isSpacePressed || isEnterPressed) { if (document.activeElement === dataVerificationCheckbox) { document.querySelector('#data-verification-container #data-verification-icon').click(); } }
if (isTabPressed) { if (e.shiftKey) { if (dataVerificationCloseButton && document.activeElement === dataVerificationCloseButton) { executeFocus(dataVerificationLink); } } else { if (dataVerificationLink && document.activeElement === dataVerificationLink) { executeFocus(dataVerificationCloseButton); } } } }); });
if (typeof ConsentmoCustomerIdentification !== 'undefined') { ConsentmoCustomerIdentification.initPage({ withdraw_consent: 'gdpr-withdraw-email-wrap' }); }